Tartalomjegyzék:
- 1. lépés: A kísérlet
- 2. lépés: Hardver
- 3. lépés: Google Cloud - Regisztráció
- 4. lépés: Google Cloud - Pub/Sub
- 5. lépés: Google Cloud - IOT Core
- 6. lépés: Google Cloud - Felhőfunkciók
- 7. lépés: Google Cloud - Cloud DataStore
- 8. lépés: Google Cloud - BigQuery
- 9. lépés: Google Cloud - Data Studio
- 10. lépés: Jóslási fázis
- 11. lépés: Kód
Videó: Drain Clog Detector: 11 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
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
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
É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ó
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
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
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
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
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
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
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:
Projeto IoT - Sistema Detector De Fumaça: 5 lépés
Projeto IoT - Sistema Detector De Fumaça: IntroduçãoO Sistema Detector de Fumaça magában foglalja a megoldást az IoT com vagy objetivo de engedélye vagy monitoramento de alarmes de incêndio de maradéncias através de um applicativo. O projeto é baseado em um microcontrolador que se comunica com a nu
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: 7 lépés (képekkel)
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: Ezt a Rapsberry PI-t tervezem használni egy csomó szórakoztató projektben a blogomban. Nyugodtan nézd meg. Vissza akartam kezdeni a Raspberry PI használatát, de nem volt billentyűzetem vagy egér az új helyen. Rég volt, hogy beállítottam egy málnát
A számítógép szétszerelése egyszerű lépésekkel és képekkel: 13 lépés (képekkel)
A számítógép szétszerelése egyszerű lépésekkel és képekkel: Ez az utasítás a számítógép szétszereléséről szól. A legtöbb alapvető alkatrész moduláris és könnyen eltávolítható. Fontos azonban, hogy szervezett legyen ezzel kapcsolatban. Ez segít elkerülni az alkatrészek elvesztését, és az újra összerakást is
Minecraft Creeper Detector: 6 lépés (képekkel)
Minecraft Creeper Detector: Néhány évig segítettem a Bozeman -i Gyermekmúzeumnak a STEAMlab tananyagának kidolgozásában. Mindig szórakoztató módon kerestem a gyerekeket az elektronikával és a kódolással. A Minecraft egy egyszerű módja annak, hogy a gyerekeket bejuttassuk az ajtón, és rengeteg
Flatulant Boss Detector: 9 lépés (képekkel)
Felfúvós főnök -érzékelő: Minél idősebb leszek, annál kisebb lesz a fülkém. Valójában most nincs is fülkém. De a főnököm észrevétlenül besétált, és elkapott, hogy kutassak valamilyen feladatra (WWW - a főnöknek úgy nézett ki, mint egy webes szörfözés), és azt mondta, hogy