Tartalomjegyzék:

Drain Clog Detector: 11 lépés (képekkel)
Drain Clog Detector: 11 lépés (képekkel)

Videó: Drain Clog Detector: 11 lépés (képekkel)

Videó: Drain Clog Detector: 11 lépés (képekkel)
Videó: Signs and Symptoms of Ovarian Cysts 2024, Július
Anonim
Image
Image

Ne hagyja, hogy az eltömődött lefolyó lassítson! A nyaralásunkról hazatérve engem és feleségemet meglepett a lakásunk padlóját borító víz, és rájöttünk, hogy ez nem is tiszta víz, mindenhol lefolyó. A lefolyó kitisztítása és a padló tisztítása után felmerült bennem ez a kérdés: miért nincs riasztórendszerünk az esetleges lefolyó eltömődésekre? Az eltömődött lefolyók nemcsak megállíthatják otthonát, hanem többletköltségeket is előidézhetnek a zsebükből. A HomeAdvisor szerint átlagosan 206 dollár az eltömődött vízelvezetés költsége, a sérült szőnyegek, fából készült bútorok stb. Rejtett költségei mellett. Az elképzelésünk az, hogy a lakástulajdonosok, valamint az olyan vállalkozások, mint a város-/települési karbantartási osztályok és a speciális szolgáltatók rendelkezzenek hatékony és intelligens rendszerrel, amely a lehető leghamarabb figyelmezteti a felelősöket, hogy tegyenek lépéseket, ami hozzájárul az intelligens városok gazdagításához funkció.

Bár az eltömődések észlelése számos technikával történhet, például gázérzékelők vagy belső mechanizmusok használatával, csapatunk arra összpontosított, hogy bemenetként hangot használjunk, mivel tudjuk, hogy a cső kopogása, ahol kinyitják, más hang, mint ami történt amikor zárva van. Ennek az egyszerű koncepciónak megfelelően, ha egy modellt betaníthatunk a csőfelületen az eltömődések során előforduló hangmintákra, valamint ezekre a mintákra a nyitott csövekben, akkor alkalmazhatjuk a modellt, hogy proaktív módon észleljük, amikor az eltömődés elkezd összeállni, majd csengessen néhány számlát.

Hitel:

  • Mohamed Hasszán
  • Ahmed Emam

Ebben a projektben 3 fázis valósul meg: Adatok gyűjtése, tanulás és előrejelzés.

Mielőtt ezt a rendszert a való életben alkalmaznánk, létre kellett hoznunk egy kényszerített szimulációs környezetet, ahol megvan a cső, az áramló víz, és valahogy szimulálni kell az eltömődést. Tehát kaptunk egy csövet, egy víztömlőt, amelynek vízforrása ezt a fürdőkádban teszi, és a kád felszínén zárja le az eltömődést jelző csövet. Ebben a videóban elmagyarázzuk, hogyan építettük fel a környezetet, és hogyan gyűjtöttünk adatokat a modellképzéshez.

És ebben a következő videóban, amely bemutatja, hogyan végeztük a rendszer és a modell tesztelését, nyílt módban, majd dugulás módban és vissza nyílt módba

Lássuk tehát lépésről lépésre a megvalósításunkat:

1. lépés: A kísérlet

A kísérlet
A kísérlet
A kísérlet
A kísérlet
A kísérlet
A kísérlet
A kísérlet
A kísérlet

Ebben a forgatókönyvben egy kis vízcsövet használunk a hardverünkhöz és a hangérzékelőnkhöz. A hardver leolvassa az érzékelő értékét, és visszaküldi a felhőbe. Ezt 10 percig végeztük az eltömődött csőnél, majd további 10 percet a nem tömített csőnél.

2. lépés: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Én- Arduino

Ahhoz, hogy érzékelni tudjuk a csövön belüli vízhangot, hangérzékelőre van szükségünk. A Raspberry Pi 3 azonban nem rendelkezik analóg GPIO -val. A probléma kezelésére az Arduino -t használjuk, mivel az Arduino analóg GPIO -val rendelkezik. Csatlakoztatjuk tehát a Grove Sound érzékelőt a Grove Arduino pajzshoz, és a Shield -et az Arduino UNO 3 -hoz. Ezután csatlakoztassuk az Arduino & Raspberry -t USB -kábel segítségével. Ha további információra van szüksége a Grove Sound szenzorról, ellenőrizze annak adatlapját. Az adatlapon talál egy mintakódot az érzékelőértékek leolvasásához. A mintakód szinte használatban van a kisebb változtatásokhoz. Az alábbi kódban az érzékelőt az A0 -hoz csatlakoztatjuk a pajzsban. A soros íráshoz a Serial.begin () függvényt használjuk. A 115200 értékre állított Raspberry baud sebességgel való kommunikációhoz az adatokat a Raspberry elküldi, ha nagyobb, mint a küszöb, hogy csökkentse a zajt. Sok kísérlet történt a kívánt küszöbérték és késleltetés kiválasztásához. A küszöbérték 400 és a késleltetés értéke 10 milliszekundum. A küszöbértéket a normál zaj szűrésére választottuk, és biztosítottuk, hogy csak lényeges adatokat küldjenek a felhőbe. A késleltetést úgy választották ki, hogy az érzékelő azonnal érzékelje az áramlási hang változásait a csőben.

II. Raspberry Pi 3 Az androidos dolgok letöltéséhez a Raspberry-ről letöltheti a legújabb verziót az Android Things Console-ból. Ebben a projektben az OIR1.170720.017 verziót használjuk. kövesse a Raspberry webhely lépéseit az operációs rendszer málnára történő telepítéséhez, Windows esetén ezeket a lépéseket használhatja A telepítés után csatlakoztathatja a Raspberry -t a számítógéphez USB -n keresztül. Ezután a számítógép konzolján használja az alábbi parancsot a Raspberry IP megszerzéséhez

nmap -sn 192.168.1.*

Az IP megszerzése után csatlakozzon a Raspberry -hez az alábbi paranccsal

adb connect

A Raspberry Wifi -hez való csatlakoztatásához (adja hozzá SSID -jét és jelszavát)

adb am startservice

-n com.google.wifisetup/. WifiSetupService

-a WifiSetupService. Connect

-e ssid *****

-jelszó ****

3. lépés: Google Cloud - Regisztráció

Google Cloud - Regisztráció
Google Cloud - Regisztráció
Google Cloud - Regisztráció
Google Cloud - Regisztráció
Google Cloud - Regisztráció
Google Cloud - Regisztráció
Google Cloud - Regisztráció
Google Cloud - Regisztráció

A Google ingyenes réteget kínál minden felhasználó számára egy évre, 300 dolláros plafonnal, hála a Google -nak:). Kövesse a képernyőt, hogy új projektet hozzon létre a Google Cloudban

4. lépés: 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

A Google Cloud Pub/Sub egy teljesen felügyelt valós idejű üzenetküldő szolgáltatás, amely lehetővé teszi üzenetek küldését és fogadását független alkalmazások között.

5. lépés: 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- Az IOT CoreA teljes körűen felügyelt szolgáltatása a világszerte szétszórt eszközökről származó adatok egyszerű és biztonságos csatlakoztatásához, kezeléséhez és lenyeléséhez. Az IOT Core továbbra is béta verzió, ahhoz, hogy hozzáférhessen hozzá, indoklással kell kérnie a Google -t. Mi kértük, az indoklásunk ez a verseny volt. A Google jóváhagyta, még egyszer köszönöm a Google -nak:). A Raspberry érzékelőadatokat küld az IOT Core -nak, amely továbbítja az olvasásokat az előző lépésben létrehozott PubSub témához

6. lépés: Google Cloud - Felhőfunkciók

Google Cloud - Felhőfunkciók
Google Cloud - Felhőfunkciók
Google Cloud - Felhőfunkciók
Google Cloud - Felhőfunkciók

A Cloud Functions egy szerver nélküli környezet a felhőszolgáltatások létrehozásához és összekapcsolásához. Ennek a funkciónak a kiváltója az 1. lépésben létrehozott PubSup téma.;; Ez a funkció akkor aktiválódik, amikor új értéket írnak be a PubSupba, és írják a Cloud DataStore -ba, Kind "SoundValue"

7. lépés: Google Cloud - Cloud DataStore

A Google Cloud Datastore egy NoSQL dokumentumadatbázis, amely automatikus méretezésre, nagy teljesítményre és egyszerű alkalmazásfejlesztésre készült. Míg a Cloud Datastore felület ugyanazokkal a funkciókkal rendelkezik, mint a hagyományos adatbázisok, NoSQL adatbázisként különbözik tőlük az adatobjektumok közötti kapcsolatok leírásának módjában. Nincs szükség semmilyen beállításra, mivel amint a felhőfunkciók érzékelőértékeket írnak a DataStore -ba, az adatok hozzáadódnak a DataStore -hoz

8. lépés: 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

Gyűjtünk egy mintát 10 percre a normál csőből és 10 percre az eltömődött csőből, pontosan 1 óra különbséggel a két iteráció között. Miután letöltötte az adatokat a DataStore, és végezzen néhány manipulációt az egyes sorok osztályozásának hozzáadásához. Most van 2 csv fájlunk egy -egy kategória. A legjobb gyakorlat szerint először töltsön fel adatokat tartalmazó CSV -fájlokat a Cloud Storage -ba. Az alábbi képernyőn új csoportot hozunk létre, és feltöltjük a 2 CSV-fájlt. Mivel ezt a vödröt csak elemzésre használjuk, nem kell választani a többrégiós csoportot, majd hozzon létre új adatkészletet és új táblázatot a BigQuery-ben, és töltse fel a 2 CSV-fájlt a vödörből a az új asztal

9. lépés: 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

Ezután a Data Studio segítségével néhány betekintést készítünk. A Data Studio beolvassa a BigQuery táblából származó adatokat. A grafikonokból láthatjuk a különbséget 2 kategória között a telemetriák számában és az értékek percenként összegében. Ezen felismerések alapján tervezhetünk egy egyszerű modellt, a csövet blokkoltnak kell tekinteni, ha 3 egymást követő percben a telemetriai értékek száma, amelyek magasabbak a zajküszöbnél (400), több mint 350 telemetria. és 3 egymást követő percben a telemetriai értékek száma, amely magasabb, mint a szikraküszöb (720), több mint 10 telemetria.

10. lépés: Jóslási fázis

Jóslási fázis
Jóslási fázis

Arra utalunk, ha a mérési érték meghaladja a 350 -re beállított bizonyos értéket (THRESHOLD_VALUE), amely szűri a zajt és csökkenti a vízáramlást a csőben.

Az adatok elemzése azt mutatta, hogy nyitott módban a leolvasások száma kevesebb, mint 100, de eltömődés módban az értékek jóval magasabbak (elérték a 900 percet), de ritka esetekben 100 -nál is kisebbek. Ezek az esetek azonban nem ismétlődnek meg, és három egymást követő percben az összes leolvasott szám mindig meghaladta a 350 -et. Ha ugyanazon három percben nyitott mód lesz, kevesebb, mint 300, akkor bátran fogalmazhatjuk meg ezt a szabályt: 1. szabály > 350, akkor eltömődést észlel. Azt találtuk, hogy a nyitott módban elért maximális érték nem haladja meg a 770 értéket (SPARK_VALUE), ezért ezt a szabályt adtuk hozzá: 2. szabály. Ha az érték> 350, akkor az eltömődést észlelik.

Mindkét szabály kombinálásával egyszerű módot kaptunk az észlelési logika megvalósítására, amint az látható. Vegye figyelembe, hogy az alábbi kódot telepítették az Arduino -n, amely a modellünk alapján értékeli a kapott telemetriákat, és elküldi a málnának, ha a cső eltömődött vagy nyitott.

11. lépés: Kód

Az Arduino, Raspberry & Cloud Function összes kódja megtalálható a Githubon.

További információkért ellenőrizze ezt a linket

Ajánlott: