Kazalo:

Detektor zamašitve odtoka: 11 korakov (s slikami)
Detektor zamašitve odtoka: 11 korakov (s slikami)

Video: Detektor zamašitve odtoka: 11 korakov (s slikami)

Video: Detektor zamašitve odtoka: 11 korakov (s slikami)
Video: Olvidé que había COMPRADO ESTAS COSAS 3! 2024, November
Anonim
Image
Image

Naj vas zamašen odtok ne upočasni! Ko sva se vračala z dopusta, sva bila z ženo presenečena nad vodo, ki je prekrila tla našega stanovanja, in ugotovila sva, da to niti ni čista voda, povsod je odtok. Po čiščenju odtoka in čiščenju tal sem se vprašal: zakaj nimamo alarmnega sistema za morebitne zamašitve odtokov? Zamašeni odtoki ne samo, da lahko ustavijo vaš dom, ampak bodo porabili dodatne stroške iz vaših žepov, 206 USD je v povprečju strošek čiščenja zamašenega odtoka po HomeAdvisorju, poleg skritih stroškov poškodovanih preprog, lesenega pohištva itd. Naša ideja je, da lastnikom stanovanj, pa tudi podjetjem, kot so oddelki za vzdrževanje mest/zgradb in specializiranim ponudnikom storitev, omogočimo učinkovit in inteligenten sistem, ki vsakogar, ki je odgovoren, čim prej opozori, naj ukrepa, kar prispeva k obogatitvi pametnih mest s pomembnim funkcijo.

Ideja Čeprav je odkrivanje zamašitev mogoče izvesti s številnimi tehnikami, na primer s pomočjo senzorjev za plin ali notranjih mehanizmov, se je naša ekipa osredotočila na uporabo zvoka kot vhoda, saj vemo, da je trkanje na cev, kjer se odpre, drugačen od tistega, kar se je zgodilo ko je zaprt. V skladu s tem preprostim konceptom, če lahko model naučimo vzorce zvoka, ki se pojavljajo na površini cevi med zamašitvami, pa tudi, da se ti vzorci pojavljajo v odprtih ceveh, lahko model nato uporabimo za proaktivno zaznavanje, ko se začne zamašiti, in potem pokličite nekaj računov.

Krediti za

  • Mohamed Hassan
  • Ahmed Emam

Podrobno projekt se v tem projektu izvaja v 3 fazah: zbiranje podatkov, učenje in napovedovanje.

Pred uporabo tega sistema v resničnem življenju smo morali ustvariti prisilno simulacijsko okolje, kjer imamo cev, tekočo vodo in nekako simulirati zamašitev. Tako smo dobili cev, cev za vodo z virom vode, ki to počne v kopalni kadi, in s površino kadi zapremo cev, ki predstavlja zamašitev. V tem videu razlagamo, kako smo zgradili okolje in kako smo zbirali podatke za modelno usposabljanje.

In v tem naslednjem videu, ki prikazuje, kako smo testirali sistem in model, v odprtem načinu, nato v načinu zamašitve in nazaj v odprti način, pa

Torej, po korakih raziščimo našo implementacijo:

1. korak: Poskus

Poskus
Poskus
Poskus
Poskus
Poskus
Poskus
Poskus
Poskus

V tem scenariju uporabljamo majhno vodovodno cev, priključeno na našo strojno opremo in senzor zvoka. Strojna oprema odčita vrednost senzorja in jo pošlje nazaj v oblak. To je bilo storjeno 10 minut za blokirano cev, nato še 10 minut za cev, ki ni blokirana.

2. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Jaz- Arduino

Za zaznavanje zvoka vode v cevi potrebujemo zvočni senzor. Vendar Raspberry Pi 3 nima analognega GPIO. Za reševanje te težave uporabljamo Arduino, saj ima Arduino analogni GPIO. Tako povežemo Grove Sound sensor s ščitnikom Grove Arduino in povežemo Shield z Arduino UNO 3. Nato povežemo Arduino & Raspberry s kablom USB. Za več informacij o senzorju Grove Sound preverite njegov podatkovni list. V podatkovnem listu najdete vzorčno kodo, kako prebrati vrednosti senzorjev. Vzorčna koda je skoraj v uporabi, se bodo spremenile. V spodnji kodi senzor priključimo na A0 v ščitu. Za pisanje po zaporedju uporabljamo funkcijo Serial.begin (). Za komunikacijo z Raspberry -jevo hitrostjo prenosa, nastavljeno na 115200, bodo podatki poslani na Raspberry, če je večji od določenega praga za zmanjšanje hrupa. Za izbiro želenega praga in vrednosti zamika je bilo opravljenih veliko poskusov. Prag je 400 in vrednost zakasnitve 10 milisekund. Prag je bil izbran za filtriranje normalnega hrupa in zagotovitev, da bodo v oblak poslani samo pomembni podatki. Zakasnitev je bila izbrana vstran, da se zagotovi, da senzor takoj zazna spremembe v pretoku zvoka v cevi.

II- Raspberry Pi 3Če želite androidne stvari prenesti na Raspberry, lahko prenesete najnovejšo različico s konzole Android Things. V tem projektu uporabljamo različico: OIR1.170720.017. sledite korakom na spletnem mestu Raspberry za namestitev operacijskega sistema na malino, za okna lahko uporabite te korake. Po namestitvi lahko Raspberry povežete z računalnikom prek USB -ja. Nato v konzoli računalnika uporabite spodnji ukaz, da dobite Raspberry IP

nmap -sn 192.168.1.*

Ko dobite IP, se povežite z Raspberryjem z ukazom spodaj

adb connect

Če želite svojo malino povezati z Wifi (dodajte svoj SSID in geslo)

adb am startservice

-n com.google.wifisetup/. WifiSetupService

-a WifiSetupService. Connect

-e ssid *****

-e geslo ****

3. korak: 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 ponuja eno leto brezplačno raven za vse uporabnike z zgornjo mejo 300 $, zahvaljujoč Googlu:). Sledite zaslonom in ustvarite nov projekt v Googlu Cloud

4. korak: 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 je popolnoma upravljana storitev sporočanja v realnem času, ki vam omogoča pošiljanje in prejemanje sporočil med neodvisnimi aplikacijami.

5. korak: 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 Core Popolnoma upravljana storitev za enostavno in varno povezovanje, upravljanje in vnos podatkov iz globalno razpršenih naprav. IOT Core je še vedno beta, če želite imeti dostop do njega, morate Googlu poslati zahtevo z Obrazložitvijo. Mi smo podali prošnjo, naše opravičilo je bilo to tekmovanje. Google je odobril, še enkrat hvala Googlu:). Raspberry bo podatke senzorja poslal v IOT Core, ki bo posredoval odčitke na temo PubSub, ustvarjeno v prejšnjem koraku

6. korak: Google Cloud - funkcije v oblaku

Google Cloud - funkcije v oblaku
Google Cloud - funkcije v oblaku
Google Cloud - funkcije v oblaku
Google Cloud - funkcije v oblaku

Cloud Functions je okolje brez strežnika za gradnjo in povezovanje storitev v oblaku. Sprožilec te funkcije je tema PubSup, ki je bila ustvarjena v 1. koraku;; Ta funkcija se bo sprožila, ko bo nova vrednost zapisana v PubSupu in jo zapisala v Cloud DataStore z vrsto "SoundValue"

7. korak: Google Cloud - Cloud DataStore

Google Cloud Datastore je zbirka dokumentov NoSQL, zgrajena za samodejno skaliranje, visoko zmogljivost in enostavnost razvoja aplikacij. Medtem ko ima vmesnik Cloud Datastore številne enake funkcije kot tradicionalne zbirke podatkov, se kot baza podatkov NoSQL od njih razlikuje po načinu opisovanja odnosov med podatkovnimi objekti. Ni potrebe po nastavitvah, saj bodo funkcije v oblaku, ko bodo vrednosti podatkov senzorja zapisale v DataStore, dodane v DataStore

8. korak: 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

Vzorec zberemo 10 minut iz normalne cevi in 10 minut iz blokirane cevi z razliko natančno 1 uro med dvema ponovitvama. Ko naložite DataStore in naredite nekaj manipulacij, dodajte klasifikacijo za vsako vrstico. Zdaj imamo 2 datoteki csv, eno za vsako kategorijo. Kot najboljša praksa najprej naložite datoteke CSV s podatki v shrambo v oblaku. Na spodnjem zaslonu ustvarimo novo vedro in naložimo 2 datoteki CSVs. Ker bo to vedro uporabljeno samo za analizo, vam ni treba izbrati večregionalnega vedro. Nato ustvarite nov nabor podatkov in novo tabelo v BigQueryju in naložite datoteko 2 CSV iz vedra v novo mizo

9. korak: 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

Nato uporabimo Data Studio, da pridobimo nekaj vpogledov. Data Studio bo bral podatke iz tabele BigQuery. Iz grafov lahko vidimo razliko med dvema kategorijama v številu telemetrij in vsoti vrednosti na minuto. Na podlagi teh spoznanj lahko oblikujemo preprost model, cev se šteje za blokirano, če v treh zaporednih minutah šteje vrednosti telemetrij, ki so višje od praga hrupa (400), več kot 350 telemetrij. in v treh zaporednih minutah šteje vrednost telemetrije, ki je višja od praga iskre (720), več kot 10 telemetrij.

10. korak: Faza napovedovanja

Faza napovedovanja
Faza napovedovanja

Sklicujemo se na odčitek, ko preseže določeno vrednost (THRESHOLD_VALUE), ki je bila nastavljena na 350, ki filtrira hrup in nižji pretok vode v cevi, da se ne šteje kot odčitavanje

Analiza podatkov je pokazala, da je v odprtem načinu število odčitkov manjše od 100, v načinu zamašitve pa so vrednosti veliko višje (dosežejo 900 na minuto), v redkih primerih pa tudi manj kot 100. Vendar se ti primeri ne ponavljajo posledično, in za tri posledične minute je skupno število odčitkov vedno preseglo 350. Če bi odprti način v istih treh minutah povzel manj kot 300, bi lahko z gotovostjo postavili to pravilo: Pravilo # 1 Za tri minute v surovem, če so skupni odčitki > 350, nato zaznamo zamašitev. Ugotovili smo, da največja vrednost, dosežena v odprtem načinu, ne presega določene vrednosti (SPARK_VALUE), za katero je bilo ugotovljeno, da je 770, zato smo dodali to pravilo: Pravilo # 2 Če je vrednost branja> 350, potem večinoma zaznamo zamašitev.

Kombinacija obeh pravil nam je omogočila enostaven način izvajanja logike odkrivanja, kot je prikazano. Upoštevajte, da je bila spodnja koda nameščena na Arduinu, ki nato oceni prejete telemetrije na podlagi našega modela in pošlje v malino, če je cev zamašena ali odprta.

11. korak: Koda

Vse kode za Arduino, Raspberry & Cloud funkcijo najdete na Githubu.

Za več informacij lahko preverite to povezavo

Priporočena: