Sisukord:

Äravoolu ummistuse detektor: 11 sammu (piltidega)
Äravoolu ummistuse detektor: 11 sammu (piltidega)

Video: Äravoolu ummistuse detektor: 11 sammu (piltidega)

Video: Äravoolu ummistuse detektor: 11 sammu (piltidega)
Video: Вскрытие коробки с 30 бустерами расширения "Вторжение машин 2024, November
Anonim
Image
Image

Ärge laske ummistunud äravoolul end aeglustada! Puhkuselt tagasi tulles üllatasime mind ja mu naist meie korteri põrandat katva vee üle ning saime teada, et see pole isegi puhas vesi, see on kõikjal äravool. Pärast äravoolu puhastamist ja põranda puhastamist tekkis mul selline küsimus: miks meil pole häiresüsteemi võimalike äravooluklambrite jaoks? Ummistunud kanalisatsioon mitte ainult ei vii teie kodu seisma, vaid kulutab teie taskust lisakulusid. HomeAdvisori andmetel on keskmiselt 206 dollarit ummistunud kanalisatsiooni puhastamise kulu, lisaks kahjustatud vaipade, puitmööbli jne varjatud kulud. Meie idee on võimaldada nii koduomanikel kui ka sellistel ettevõtetel nagu linnade/linnade hooldusosakonnad ja spetsialiseeritud teenusepakkujad omada tõhusat ja intelligentset süsteemi, mis hoiatab vastutavaid inimesi võimalikult varakult tegutsema, mis aitab arukaid linnu rikastada tunnusjoon.

Kuigi ummistusi saab tuvastada mitmete tehnikate abil, näiteks gaasiandurite või sisemiste mehhanismide abil, keskendus meie meeskond heli kasutamisele sisendina, kuna me teame, et toru koputamine, kus see on avatud, erineb sellest, mis juhtus suletuna. Selle lihtsa kontseptsiooni kohaselt, kui saame mudeli välja õpetada torude pinnal esinevaid helimustreid ummistuste ajal ja neid mustreid avanenud torudes, saame seejärel rakendada mudelit, et tuvastada ennetavalt, kui ummistus hakkab moodustama, ja seejärel helista mõned arved.

Autorid

  • Mohamed Hassan
  • Ahmed Emam

Selles projektis rakendatakse 3 etappi: andmete kogumine, õppimine ja ennustamine.

Enne selle süsteemi rakendamist reaalses elus pidime looma jõustatud simulatsioonikeskkonna, kus meil on toru, voolav vesi ja mingil moel ummistus. Niisiis, saime toru, veevooliku koos veeallikaga, mis tegi seda vannis ja kasutas vanni pinda ummistust kujutava toru sulgemiseks. Selles videos selgitame, kuidas me keskkonna ehitasime ja kuidas me mudeli koolituse jaoks andmeid kogusime.

Ja selles järgmises videos, mis näitab, kuidas tegime süsteemi ja mudeli testimist avatud režiimis, seejärel ummistusrežiimis ja tagasi avatud režiimi

Niisiis, uurime samm -sammult meie rakendamist:

1. samm: katse

Eksperiment
Eksperiment
Eksperiment
Eksperiment
Eksperiment
Eksperiment
Eksperiment
Eksperiment

Selle stsenaariumi korral kasutame meie riistvara ja helianduriga ühendatud väikest veetoru. Riistvara loeb anduri väärtuse ja saadab selle tagasi pilve. Seda on tehtud blokeeritud toru jaoks 10 minutit ja seejärel veel 10 minutit toru jaoks, mis ei ole blokeeritud.

Samm: riistvara

Riistvara
Riistvara
Riistvara
Riistvara
Riistvara
Riistvara

Mina- Arduino

Toru sees oleva veeheli tuvastamiseks vajame heliandurit. Raspberry Pi 3 -l pole aga analoog GPIO -d. Selle probleemi lahendamiseks kasutame Arduinot, kuna Arduinol on analoog GPIO. Seega ühendame Grove Sound anduri Grove Arduino kilbiga ja Shield ühendame Arduino UNO 3. Seejärel ühendame Arduino & Raspberry USB -kaabli abil. Grove Sound sensori kohta lisateabe saamiseks vaadake selle andmelehte. Andmelehelt leiate näidiskoodi, kuidas sensori väärtusi lugeda. Näidiskood on peaaegu kasutusel väikeste muudatuste tegemisel. Allolevas koodis ühendame anduri kilbiga A0. Seriaalile kirjutamiseks kasutame funktsiooni Serial.begin (). Vaarika edastuskiirusega suhtlemiseks seatud väärtusele 115200 Andmed saadetakse Raspberryle, kui see on müra vähendamiseks suurem kui teatud lävi. Soovitud läve ja viivituse väärtuste valimiseks on tehtud palju katseid. Läveks leiti 400 ja viivituse väärtuseks 10 millisekundit. Lävi on valitud tavalise müra filtreerimiseks ja selle tagamiseks, et pilve saadetakse ainult olulisi andmeid. Hilinemine on valitud eemal, et tagada anduri viivitamatu tuvastamine vooluheli muutustes toru sees.

II- Raspberry Pi 3 Androidi asjade allalaadimiseks Raspberryst saate alla laadida uusima versiooni Androidi asjade konsoolist. Selles projektis kasutame versiooni: OIR1.170720.017. operatsioonisüsteemi vaarikale installimiseks järgige Raspberry saidi juhiseid, Windowsi jaoks saate neid samme kasutada. Pärast installimist saate Raspberry USB -ga arvutiga ühendada. Seejärel kasutage oma arvutikonsoolis Raspberry IP hankimiseks alltoodud käsku

nmap -sn 192.168.1.*

Pärast IP saamist looge oma Raspberryga ühendus, kasutades alltoodud käsku

adb ühendada

Vaarika ühendamiseks Wifi -ga (lisage oma SSID ja parool)

adb am startervice

-n com.google.wifisetup/. WifiSetupService

-a WifiSetupService. Connect

-e ssid *****

-e parool ****

3. samm: Google'i pilv - registreerimine

Google'i pilv - registreerimine
Google'i pilv - registreerimine
Google'i pilv - registreerimine
Google'i pilv - registreerimine
Google'i pilv - registreerimine
Google'i pilv - registreerimine
Google'i pilv - registreerimine
Google'i pilv - registreerimine

Tänu Google'ile pakub Google kõigile kasutajatele üheks aastaks tasuta taset, mille ülemmäär on 300 dollarit. Google Cloudis uue projekti loomiseks järgige ekraane

4. samm: Google'i pilv - pubi/alam

Google'i pilv - pubi/alam
Google'i pilv - pubi/alam
Google'i pilv - pubi/alam
Google'i pilv - pubi/alam
Google'i pilv - pubi/alam
Google'i pilv - pubi/alam
Google'i pilv - pubi/alam
Google'i pilv - pubi/alam

Google Cloud Pub/Sub on täielikult hallatud reaalajas sõnumside teenus, mis võimaldab teil saata ja vastu võtta sõnumeid sõltumatute rakenduste vahel.

Samm: Google'i pilv - IOT Core

Google'i pilv - IOT Core
Google'i pilv - IOT Core
Google'i pilv - IOT Core
Google'i pilv - IOT Core
Google'i pilv - IOT Core
Google'i pilv - IOT Core

II- IOT CoreA täielikult hallatud teenus, et hõlpsalt ja turvaliselt ühendada, hallata ja neelata andmeid globaalselt hajutatud seadmetest. IOT Core endiselt beetaversioon, sellele juurdepääsu saamiseks peate esitama Google'ile taotluse koos põhjendusega. Esitasime taotluse, meie õigustus oli see võistlus. Google kiitis heaks, aitäh Google'ile veelkord:). Vaarikas saadab andurite andmed IOT Core -le, mis edastab näidud eelmises etapis loodud PubSubi teemale

6. samm: Google'i pilv - pilvefunktsioonid

Google'i pilv - pilvfunktsioonid
Google'i pilv - pilvfunktsioonid
Google'i pilv - pilvfunktsioonid
Google'i pilv - pilvfunktsioonid

Cloud Functions on serverita keskkond pilveteenuste loomiseks ja ühendamiseks. Selle funktsiooni käivitajaks on PubSupi teema, mis loodi 1. sammus.;; See funktsioon käivitub, kui PubSupis kirjutatakse uus väärtus ja see kirjutatakse pilveandmete kauplusesse tüübiga "SoundValue"

Samm 7: Google'i pilv - Cloud DataStore

Google Cloud Datastore on NoSQL -i andmebaas, mis on loodud automaatseks skaleerimiseks, suure jõudlusega ja hõlpsaks rakenduste arendamiseks. Kui Cloud Datastore'i liidesel on palju samu funktsioone nagu traditsioonilistel andmebaasidel, siis NoSQL -andmebaasina erineb see neist andmeobjektide vaheliste seoste kirjeldamise viisist. Seadistamist pole vaja teha, kuna kui pilvfunktsioonid kirjutavad anduri väärtused DataStore'i, lisatakse andmed DataStore'i

8. toiming: Google'i pilv - BigQuery

Google'i pilv - BigQuery
Google'i pilv - BigQuery
Google'i pilv - BigQuery
Google'i pilv - BigQuery
Google'i pilv - BigQuery
Google'i pilv - BigQuery
Google'i pilv - BigQuery
Google'i pilv - BigQuery

Kogume proovi 10 minutit tavalisest torust ja 10 minutit blokeeritud torust, vahe kahe iteratsiooni vahel on täpselt 1 tund. Pärast andmete allalaadimist DataStore ja tehke mõningaid manipuleerimisi, et lisada igale reale klassifikatsioon. Nüüd on meil 2 csv -faili, üks iga kategooria jaoks. Parima tava kohaselt laadige CSV -failid kõigepealt üles Cloud Storage'i. Alloleval ekraanil loome uue ämbri ja laadime üles 2 CSV-faili Kuna seda gruppi kasutatakse ainult analüüsiks, pole vaja valida mitme piirkonna regiooni. Seejärel looge BigQuery's uus andmekogum ja uus tabel ning laadige 2 CSV-faili ämbrist üles uus laud

9. toiming: Google'i pilv - 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

Seejärel kasutame Data Studio abil mõningaid teadmisi. Data Studio loeb andmeid BigQuery tabelist. Graafikutelt näeme erinevust kahe kategooria vahel telemeetrite arvus ja väärtuste summas minutis. Nende teadmiste põhjal saame kavandada lihtsa mudeli, toru loetakse blokeerituks, kui kolme järjestikuse minuti jooksul on müralävest (400) kõrgemate telemeetriaväärtuste arv üle 350 telemeetria. ja kolme järjestikuse minuti jooksul on sädemekünnisest (720) kõrgem telemeetria väärtus üle 10 telemeetria.

10. samm: ennustamisfaas

Ennustamise etapp
Ennustamise etapp

Viitame lugemisele, kui see ületab teatud väärtuse (THRESHOLD_VALUE), mis oli seatud väärtusele 350, mis filtreerib müra ja madalamat vooluhulka torus, kui seda ei loeta lugemiseks

Andmete analüüs näitas, et avatud režiimis on näitude arv alla 100, kuid ummistusrežiimis on väärtused palju suuremad (ulatusid 900 minutis), kuid harvadel juhtudel olid need ka alla 100. Siiski ei korrata neid juhtumeid järelikult, ja kolmel järjestikusel minutil ületas lugemiste koguarv alati 350. Kui avatud režiim on sama kolme minuti jooksul, võtab see kokku vähem kui 300, võiksime kindlalt selle reegli esitada: Reegel # 1 Kolm minutit töötlemata, kui näidud kokku > 350, siis tuvastatakse ummistus. Leidsime, et avatud režiimis saavutatud maksimaalne väärtus ei ületa teatud väärtust (SPARK_VALUE), milleks on 770, seega lisasime selle reegli: reegel # 2 Kui lugemisväärtus on> 350, tuvastatakse enamasti ummistus.

Mõlema reegli kombineerimine andis meile lihtsa võimaluse tuvastamisloogika rakendamiseks, nagu näidatud. Pange tähele, et Arduino -s kasutati allolevat koodi, mis hindab meie mudeli põhjal saadud telemeetriat ja saadab vaarikale, kui toru on ummistunud või avatud.

11. samm: kood

Kogu Arduino, Raspberry & Cloud Function koodi leiate Githubist.

Lisateabe saamiseks saate seda linki kontrollida

Soovitan: