Sadržaj:

Detektor začepljenja odvoda: 11 koraka (sa slikama)
Detektor začepljenja odvoda: 11 koraka (sa slikama)

Video: Detektor začepljenja odvoda: 11 koraka (sa slikama)

Video: Detektor začepljenja odvoda: 11 koraka (sa slikama)
Video: Kako ocistiti metalni novac 2024, Juli
Anonim
Image
Image

Ne dozvolite da vas začepljeni odvod uspori! Vraćajući se s godišnjeg odmora, ja i moja supruga bili smo iznenađeni vodom koja je prekrila pod našeg stana, a otkrili smo da to nije ni čista voda, već je svuda odvod. Nakon čišćenja odvoda i čišćenja poda, postavio sam ovo pitanje: zašto nemamo alarmni sistem za potencijalne začepljenja odvoda? Začepljeni odvodi ne samo da mogu zaustaviti vaš dom, već će potrošiti i dodatne troškove iz vaših džepova, 206 USD u prosjeku je trošak čišćenja začepljenog odvoda prema HomeAdvisoru, uz skrivene troškove oštećenih tepiha, drvenog namještaja itd. Naša ideja je omogućiti vlasnicima kuća, kao i preduzećima poput odjela za održavanje gradskih naselja/stambenih jedinica i pružateljima specijaliziranih usluga da imaju efikasan i inteligentan sistem koji upozorava onoga ko je nadležan što je prije moguće da poduzme mjere, što doprinosi obogaćivanju pametnih gradova važnim funkcija.

Ideja Iako se otkrivanje začepljenja može izvršiti nizom tehnika, poput korištenja senzora za plin ili unutrašnjih mehanizama, naš tim je bio fokusiran na korištenje zvuka kao ulaza, jer znamo da je kucanje na cijevi gdje se otvori zvuk drugačiji od onog što se dogodilo kada je zatvoren. Prema ovom jednostavnom konceptu, ako možemo osposobiti model za zvučne uzorke koji se pojavljuju na površini cijevi tijekom začepljenja, kao i za one koji se javljaju u otvorenim cijevima, tada možemo primijeniti model za proaktivno otkrivanje kada začepljenje počinje stvarati, a mi tada zvoni neke račune.

Krediti za

  • Mohamed Hassan
  • Ahmed Emam

Detaljno projekat se u ovom projektu implementira u 3 faze: Prikupljanje podataka, Učenje i predviđanje.

Prije primjene ovog sistema u stvarnom životu, morali smo stvoriti prisilno okruženje za simulaciju, gdje imamo cijev, tekuću vodu i nekako simulirati začepljenje. Dakle, dobili smo cijev, crijevo za vodu s izvorom vode koji to radi u kadi za kupanje i koji pomoću površine kade zatvara cijev koja predstavlja začepljenje. U ovom videu objašnjavamo kako smo izgradili okruženje i kako smo prikupljali podatke za obuku modela.

I u ovom sljedećem videu, koji prikazuje kako smo testirali sistem i model, u otvorenom načinu rada, zatim u načinu začepljenja i natrag u otvoreni način rada, međutim

Dakle, istražimo našu implementaciju korak po korak:

Korak 1: Eksperiment

Eksperiment
Eksperiment
Eksperiment
Eksperiment
Eksperiment
Eksperiment
Eksperiment
Eksperiment

U ovom scenariju koristimo malu vodovodnu cijev povezanu na naš hardver i senzor zvuka. Hardver očitava vrijednost senzora i šalje je natrag u Cloud. To je učinjeno 10 minuta za začepljenu cijev, zatim još 10 minuta za cijev koja nije začepljena.

Korak 2: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

I- Arduino

Za detekciju zvuka vode unutar cijevi potreban nam je senzor zvuka. Međutim, Raspberry Pi 3 nema analogni GPIO. Za rješavanje ovog problema koristimo Arduino jer Arduino ima analogni GPIO. Tako povezujemo Grove Sound senzor s Grove Arduino štitom i povezujemo Shield s Arduino UNO 3. Zatim povezujemo Arduino & Raspberry pomoću USB kabela. Da biste dobili više informacija o Grove Sound senzoru, možete provjeriti njegov podatkovni list. U listu sa podacima možete pronaći uzorak koda za očitavanje vrijednosti senzora. Uzorak koda se skoro koristi uz male promjene. U donjem kodu povezujemo senzor na A0 u štitu. Za pisanje na serijski broj koristimo funkciju Serial.begin (). Za komunikaciju s Raspberry brzinom prijenosa postavljenom na 115200Data će se slati na Raspberry ako je veća od određenog praga za smanjenje buke. Mnogo je pokušaja učinjeno za odabir željenog praga i vrijednosti kašnjenja. Prag je 400 i vrijednost kašnjenja je 10 milisekundi. Prag je odabran za filtriranje normalne buke i osigurava da će se samo značajni podaci slati u oblak. Odgoda je odabrana kako bi se osiguralo da senzor odmah otkrije bilo kakve promjene u zvuku protoka unutar cijevi.

II- Raspberry Pi 3Da biste preuzeli Android stvari na Raspberry, možete preuzeti najnoviju verziju sa Android Things Console. U ovom projektu koristimo verziju: OIR1.170720.017. slijedite korake na Raspberry web stranici za instaliranje operativnog sistema na malinu, za Windows možete koristiti ove korake. Nakon instalacije možete povezati Raspberry s računarom putem USB -a. Zatim u konzoli računara upotrijebite naredbu ispod da biste dobili Raspberry IP

nmap -sn 192.168.1.*

Nakon što dobijete IP, povežite se sa Raspberry -om pomoću naredbe ispod

adb connect

Za povezivanje vašeg Raspberryja na Wifi (dodajte svoj SSID i lozinku)

adb am startservice

-n com.google.wifisetup/. WifiSetupService

-a WifiSetupService. Connect

-e ssid *****

-e lozinka ****

Korak 3: Google Cloud - registracija

Google Cloud - Registracija
Google Cloud - Registracija
Google Cloud - Registracija
Google Cloud - Registracija
Google Cloud - Registracija
Google Cloud - Registracija
Google Cloud - Registracija
Google Cloud - Registracija

Google nudi besplatni nivo za sve korisnike na godinu dana sa gornjom granicom od 300 USD, Hvala Googleu:). Pratite ekrane za kreiranje novog projekta u Google Cloudu

Korak 4: Google Cloud - Pub/Sub

Google Cloud - Pub/Sub
Google Cloud - Pub/Sub
Google Cloud - Pub/Sub
Google Cloud - Pub/Sub
Google Cloud - Pub/Sub
Google Cloud - Pub/Sub
Google Cloud - Pub/Sub
Google Cloud - Pub/Sub

Google Cloud Pub/Sub potpuno je upravljana usluga razmjene poruka u stvarnom vremenu koja vam omogućuje slanje i primanje poruka između neovisnih aplikacija.

Korak 5: Google Cloud - IOT Core

Google Cloud - IOT Core
Google Cloud - IOT Core
Google Cloud - IOT Core
Google Cloud - IOT Core
Google Cloud - IOT Core
Google Cloud - IOT Core

II-IOT CoreA potpuno upravljana usluga za jednostavno i sigurno povezivanje, upravljanje i unos podataka sa globalno rasprostranjenih uređaja. IOT Core je još uvijek beta, da biste imali pristup njemu morate Googleu podnijeti zahtjev s opravdanjem. Mi smo podnijeli zahtjev, naše opravdanje je bilo ovo takmičenje. Google je odobrio, Hvala još jednom Googleu:). Raspberry će poslati podatke senzora u IOT Core koji će proslijediti očitanja na temu PubSub kreiranu u prethodnom koraku

Korak 6: Google Cloud - Cloud funkcije

Google Cloud - Cloud funkcije
Google Cloud - Cloud funkcije
Google Cloud - Cloud funkcije
Google Cloud - Cloud funkcije

Cloud Functions je okruženje bez servera za izgradnju i povezivanje cloud usluga. Okidač za ovu funkciju je tema PubSup koja je stvorena u koraku 1.;; Ova funkcija će se pokrenuti kada se nova vrijednost napiše u PubSupu i upiše u Cloud DataStore s vrstom "SoundValue"

Korak 7: Google Cloud - Cloud DataStore

Google Cloud Datastore je NoSQL baza podataka dokumenata izgrađena za automatsko skaliranje, visoke performanse i jednostavnost razvoja aplikacija. Iako sučelje Cloud Datastore ima mnoge iste značajke kao i tradicionalne baze podataka, kao NoSQL baza podataka razlikuje se od njih po načinu na koji opisuje odnose među objektima podataka. Nema potrebe za nikakvim postavljanjem jer će, kad Cloud funkcije zapišu vrijednosti senzora u DataStore, podaci biti dodani u DataStore

Korak 8: Google Cloud - BigQuery

Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery

Prikupljamo uzorak 10 minuta iz normalne cijevi i 10 minuta iz blokirane cijevi s razlikom točno 1 sat između 2 iteracije. Nakon preuzimanja DataStore i izvršite neke manipulacije kako biste dodali klasifikaciju za svaki red. Sada imamo 2 csv datoteke po jednu za svaku kategoriju. Kao najbolja praksa, prvo prenesite CSV datoteke s podacima u pohranu u oblaku. Na donjem ekranu stvaramo novu korpu i učitavamo 2 CSV datoteke Budući da će se ova korpa koristiti samo za analizu, nema potrebe za odabirom više regionalne segmente Zatim stvorite novi skup podataka i novu tablicu u BigQueryju i prenesite 2 CSV datoteke iz korpe u novi sto

Korak 9: Google Cloud - Data Studio

Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio

Zatim koristimo Data Studio da izvučemo neke uvide. Data Studio će čitati podatke iz BigQuery tablice. Iz grafikona možemo vidjeti razliku između 2 kategorije u broju telemetrija i zbroju vrijednosti u minuti. Na temelju ovih uvida možemo dizajnirati jednostavan model, cijev se smatra blokiranom ako u 3 uzastopne minute broj vrijednosti telemetrija koje su veće od praga šuma (400) bude veći od 350 telemetrija. i u 3 uzastopne minute, broj vrijednosti telemetrija koji je veći od praga iskre (720) je veći od 10 telemetrija.

Korak 10: Faza predviđanja

Faza predviđanja
Faza predviđanja

Pozivamo se na očitanje, kada pređe određenu vrijednost (THRESHOLD_VALUE) koja je postavljena na 350 koja filtrira buku i smanjuje protok vode u cijevi, od da se smatra kao očitanje

Analiza podataka pokazala je da je u otvorenom načinu rada broj očitanja manji od 100, ali u načinu začepljenja vrijednosti su daleko veće (dosegnule su 900 u minuti), ali su u rijetkim slučajevima bile i manje od 100. Međutim, ti se slučajevi ne ponavljaju posljedično, i tokom tri uzastopne minute, ukupan broj očitanja je uvijek prelazio 350. Imajući otvoreni način rada u iste tri minute zbrojit će manje od 300, mogli bismo s pouzdanjem postaviti ovo pravilo: Pravilo # 1 Za tri minute neobrađeno, ako su ukupna očitanja > 350, tada se otkriva začepljenje. Otkrili smo da maksimalna vrijednost postignuta u otvorenom načinu rada ne prelazi određenu vrijednost (SPARK_VALUE) za koju je utvrđeno da je 770, pa smo dodali ovo pravilo: Pravilo # 2 Ako je vrijednost očitanja> 350, tada se uglavnom otkriva začepljenje.

Kombinirajući oba pravila, dao nam je jednostavan način za implementaciju logike otkrivanja, kao što je prikazano. Primijetite da je donji kod raspoređen na Arduinu koji zatim procjenjuje primljene telemetrije prema našem modelu i šalje ih malini ako je cijev začepljena ili otvorena.

Korak 11: Kodirajte

Sav kod za Arduino, Raspberry i Cloud funkciju možete pronaći na Githubu.

Za više informacija možete provjeriti ovu vezu

Preporučuje se: