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, Srpanj
Anonim
Image
Image

Ne dopustite da vas začepljeni odvod uspori! Vraćajući se s godišnjeg odmora, mene i moju suprugu iznenadila je voda koja je prekrila pod našeg stana, a otkrili smo da to nije ni čista voda, već je svugdje odvod. Nakon čišćenja odvoda i čišćenja poda, postavio sam ovo pitanje: zašto nemamo alarmni sustav za potencijalne začepljenja odvoda? Začepljeni odvodi ne samo da mogu zaustaviti vaš dom, već će i potrošiti 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 je ideja omogućiti vlasnicima kuća, kao i poduzećima poput odjela za održavanje gradova/stambenih zgrada i davateljima specijaliziranih usluga da imaju učinkovit i inteligentan sustav koji upozorava onoga tko je nadležan što je prije moguće da poduzme mjere, što doprinosi obogaćivanju pametnih gradova važnim značajka.

Ideja Iako se otkrivanje začepljenja može provesti brojnim tehnikama, poput korištenja senzora za plin ili unutarnjih mehanizama, naš se tim usredotočio 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 te uzorke koji se javljaju u otvorenim cijevima, tada možemo primijeniti model za proaktivno otkrivanje kada se začepljenje počinje stvarati, a mi tada pozvati neke račune.

Zasluge za

  • Mohamed Hassan
  • Ahmed Emam

Detaljno se u ovom projektu provode 3 faze: prikupljanje podataka, učenje i predviđanje.

Prije primjene ovog sustava u stvarnom životu, morali smo stvoriti prisilno simulacijsko okruženje, 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.

U ovom sljedećem videu, koji prikazuje kako smo testirali sustav 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, pokus
Eksperiment, pokus
Eksperiment, pokus
Eksperiment, pokus
Eksperiment, pokus
Eksperiment, pokus
Eksperiment, pokus
Eksperiment, pokus

U ovom scenariju koristimo malu vodovodnu cijev povezanu na naš hardver i senzor zvuka. Hardver očitava vrijednost senzora i šalje je natrag u oblak. 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

Ja- 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. Za više informacija o Grove Sound senzoru možete provjeriti njegov podatkovni list. U podatkovnom listu možete pronaći uzorak koda za očitavanje vrijednosti senzora. Uzorak koda je gotovo u upotrebi će se promijeniti. U donjem kodu senzor povezujemo s A0 u štitu. Za pisanje na serijski broj koristimo funkciju Serial.begin (). Za komunikaciju s Raspberry brzinom prijenosa postavljenom na 115200Data će se poslati na Raspberry ako je veći od određenog praga za smanjenje buke Mnoga su ispitivanja učinjena 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 s Android Things Console. U ovom projektu koristimo verziju: OIR1.170720.017. slijedite korake na Raspberry web stranici za instaliranje operacijskog sustava na malinu, za Windows možete koristiti ove korake. Nakon instalacije možete povezati Malinu s računalom putem USB -a. Zatim na konzoli računala upotrijebite naredbu ispod da biste dobili Raspberry IP

nmap -sn 192.168.1.*

Nakon što ste dobili IP, povežite se s Raspberryjem pomoću naredbe ispod

adb povezati

Za povezivanje vašeg Raspberryja s Wifi -jem (dodajte svoj SSID i lozinku)

adb am startservice

-n com.google.wifisetup/. WifiSetupService

-a WifiSetupService. Connect

-e ssid *****

-e zaporka ****

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 zaslone za stvaranje 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.

5. korak: Google Cloud - IOT Core

Google Cloud - IOT jezgra
Google Cloud - IOT jezgra
Google Cloud - IOT jezgra
Google Cloud - IOT jezgra
Google Cloud - IOT jezgra
Google Cloud - IOT jezgra

II-IOT CoreA potpuno upravljana usluga za jednostavno i sigurno povezivanje, upravljanje i unos podataka s globalno raspršenih uređaja. IOT Core je još uvijek beta, da biste imali pristup njemu morate Googleu podnijeti zahtjev s Obrazloženjem. Mi smo podnijeli zahtjev, naše opravdanje je bio ovaj natječaj. Google je odobrio, još jednom hvala Googleu:). Raspberry će poslati podatke senzora u IOT Core koji će proslijediti očitanja na temu PubSub stvorenu u prethodnom koraku

Korak 6: Google Cloud - funkcije u oblaku

Google Cloud - funkcije u oblaku
Google Cloud - funkcije u oblaku
Google Cloud - funkcije u oblaku
Google Cloud - funkcije u oblaku

Cloud Functions okruženje je bez poslužitelja 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 baza podataka NoSQL 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 baza podataka NoSQL razlikuje se od njih po načinu na koji opisuje odnose među objektima podataka. Nema potrebe za nikakvim postavljanjem jer će, kad Cloud Functions upiš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 začepljene cijevi s razlikom točno 1 sat između 2 iteracije. Nakon preuzimanja DataStore i napravite neke manipulacije za dodavanje klasifikacije za svaki redak. Sada imamo 2 csv datoteke po jednu za svaku kategoriju. Kao najbolja praksa, prijenesite CSV datoteke s podacima prvo u Cloud Storage. Na donjem zaslonu stvaramo novi spremnik i učitavamo 2 CSV datoteke Budući da će se ovaj spremnik koristiti samo za analizu, nema potrebe za odabirom više regionalnih segmenata Zatim stvorite novi skup podataka i novu tablicu u BigQueryju i prenesite 2 datoteke CSV-a iz spremnika u novi stol

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 kako bismo izvukli 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 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) veći je od 10 telemetrija.

Korak 10: Faza predviđanja

Faza predviđanja
Faza predviđanja

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

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 u rijetkim slučajevima bile su i manje od 100. Međutim, ti se slučajevi ne ponavljaju posljedično, i tijekom tri uzastopne minute, ukupan broj očitanja uvijek je 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 Tri minute u neobrađenom, 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 na temelju našeg modela i šalje ih malini ako je cijev začepljena ili otvorena.

11. korak: 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čeni: