INHOUDSOPGAWE:
- Stap 1: Die eksperiment
- Stap 2: Hardeware
- Stap 3: Google Cloud - Registrasie
- Stap 4: Google Cloud - Pub/Sub
- Stap 5: Google Cloud - IOT Core
- Stap 6: Google Cloud - Wolkfunksies
- Stap 7: Google Cloud - Cloud DataStore
- Stap 8: Google Cloud - BigQuery
- Stap 9: Google Cloud - Data Studio
- Stap 10: Voorspellingsfase
- Stap 11: Kode
Video: Afvoerstopdetektor: 11 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Moenie toelaat dat 'n verstopte drein u vertraag nie! Toe ek en ons vrou terugkeer van ons vakansie, was ek en my vrou verbaas oor die water wat die vloer van ons woonstel bedek, en ons het agtergekom dat dit nie eens skoon water is nie, maar dat dit oral dreineer. Nadat ek die drein skoongemaak en die vloer skoongemaak het, het ek die volgende vraag: waarom het ons nie 'n alarmstelsel vir moontlike dreineringstoppe nie? Verstopte dreine kan nie net u huis tot stilstand bring nie, maar ook ekstra koste uit u sak, gemiddeld $ 206 kos die opruiming van 'n verstopte drein volgens HomeAdvisor, benewens verborge koste van beskadigde matte, houtmeubels, ens. Ons idee is om huiseienaars sowel as ondernemings soos instandhoudingsdepartemente en gespesialiseerde diensverskaffers in staat te stel om 'n doeltreffende en intelligente stelsel te hê wat die bestuurder so vroeg as moontlik in kennis stel van aksie, wat bydra tot die verryking van slim stede met 'n belangrike funksie.
Alhoewel die opsporing van klompe deur 'n aantal tegnieke gedoen kan word, soos die gebruik van gassensors of interne meganismes, was ons span daarop ingestel om klank as ons insette te gebruik, aangesien ons weet dat 'n klop aan 'n buis waar dit oopgemaak word 'n ander geluid is as wat gebeur het wanneer dit gesluit word. Volgens hierdie eenvoudige konsep kan ons die model dan toepas om proaktief op te spoor wanneer 'n verstopping begin saamstel, as ons 'n model kan leer oor die klankpatrone wat op die buis se oppervlak voorkom tydens verstopings, sowel as die patrone wat in oop pype voorkom. lui 'n paar rekeninge.
Krediete vir
- Mohamed Hassan
- Ahmed Emam
Projek in detail 3 fases word in hierdie projek geïmplementeer: versameling van data, leer en voorspelling.
Voordat ons hierdie stelsel in die werklike lewe toepas, moes ons 'n toegepaste simulasie -omgewing skep, waar ons die pyp, vloeiende water het en die verstopping op een of ander manier kon simuleer. Ons kry dus 'n buis, 'n waterslang met 'n waterbron wat dit in die bad doen, en die oppervlak van die bad gebruik om die buis toe te maak wat die verstopping verteenwoordig. In hierdie video verduidelik ons hoe ons die omgewing gebou het en hoe ons data versamel het vir die modelopleiding.
En in hierdie volgende video, wat wys hoe ons die toets vir die stelsel en die model gedoen het, in die oop modus, dan in die verstopingsmodus en terug na die oop modus, Dus, laat ons ons implementering stap vir stap ondersoek:
Stap 1: Die eksperiment
In hierdie scenario gebruik ons 'n klein waterpyp wat gekoppel is aan ons hardeware- en klanksensor. Hardeware lees die sensorwaarde en stuur dit terug na Cloud. Dit word 10 minute gedoen vir 'n geblokkeerde buis, en nog 10 minute vir 'n buis wat nie geblokkeer is nie.
Stap 2: Hardeware
Ek- Arduino
Ons benodig 'n klanksensor om die watergeluid in die pyp op te spoor. Raspberry Pi 3 het egter nie 'n analoog GPIO nie. Om hierdie probleem te hanteer, gebruik ons Arduino, aangesien Arduino analoog GPIO het. Ons koppel dus die Grove Sound -sensor aan die Grove Arduino -skild en koppel die Shield aan die Arduino UNO 3. Dan koppel ons Arduino & Raspberry met 'n USB -kabel. Vir meer inligting oor die Grove Sound -sensor, kan u die gegewensblad nagaan. U kan 'n voorbeeldkode in die datablad vind, hoe om sensorwaardes te lees. Voorbeeld kode is byna gebruik sal klein veranderinge. In die onderstaande kode verbind ons die sensor met die skild A0. Om op reeks te skryf, gebruik ons die funksie Serial.begin (). Om te kommunikeer met Raspberry baud rate ingestel op 115200 Data sal na Raspberry gestuur word as dit groter is as 'n sekere drempel om die geraas te verminder. Baie toetse is gedoen om die gewenste drempel- en vertragingswaardes te kies. Die drempel is 400 en die vertragingswaarde is 10 millisekonde. Die drempel is gekies om normale geraas te filter en te verseker dat slegs betekenisvolle data na die wolk gestuur word.
II- Raspberry Pi 3 Om Android-dinge op Raspberry af te laai, kan u die nuutste weergawe van Android Things Console aflaai. In hierdie projek gebruik ons weergawe: OIR1.170720.017. volg die stappe in die Framboos -webwerf om die bedryfstelsel op framboos te installeer, vir vensters kan u hierdie stappe gebruik. Na die installasie kan u die framboos via u USB aan u rekenaar koppel. Gebruik dan die opdrag in u rekenaarkonsole om Framboos IP te kry
nmap -sn 192.168.1.*
Nadat u die IP gekry het, koppel u aan u Framboos deur die onderstaande opdrag te gebruik
adb verbind
Om u Framboos aan Wifi te koppel (voeg u SSID en wagwoord by)
adb am begin diens
-n com.google.wifisetup/. WifiSetupService
-'n WifiSetupService. Connect
-e ssid *****
-e wagwoordfrase ****
Stap 3: Google Cloud - Registrasie
Google bied 'n gratis vlak vir alle gebruikers vir 'n jaar met 'n plafon van 300 $, danksy Google:). Volg skerms om 'n nuwe projek in Google Cloud te skep
Stap 4: Google Cloud - Pub/Sub
Google Cloud Pub/Sub is 'n volledig bestuurde intydse boodskapdiens waarmee u boodskappe tussen onafhanklike toepassings kan stuur en ontvang.
Stap 5: Google Cloud - IOT Core
II- IOT CoreA volledig bestuurde diens om data van wêreldwyd verspreide toestelle maklik en veilig aan te sluit, te bestuur en in te neem. IOT Core is nog steeds beta, om toegang daartoe te hê, moet u 'n versoek met Justification aan Google rig. Ons het die versoek gerig; ons regverdiging was hierdie wedstryd. Google goedgekeur, weereens dankie aan Google:). Framboos stuur sensordata na IOT Core wat lesings sal deurstuur na die PubSub -onderwerp wat in die vorige stap geskep is
Stap 6: Google Cloud - Wolkfunksies
Cloud Functions is 'n bedienerlose omgewing om wolkdienste te bou en aan te sluit. Die sneller vir hierdie funksie is die PubSup -onderwerp wat in stap 1. geskep is;; Hierdie funksie word geaktiveer wanneer nuwe waarde in PubSup geskryf word en dit in Cloud DataStore met 'SoundValue' skryf
Stap 7: Google Cloud - Cloud DataStore
Google Cloud Datastore is 'n NoSQL -dokumentdatabasis wat gebou is vir outomatiese skaal, hoë werkverrigting en gemaklike ontwikkeling van toepassings. Alhoewel die Cloud Datastore -koppelvlak baie van dieselfde funksies het as tradisionele databasisse, verskil dit as 'n NoSQL -databasis van hulle in die manier waarop dit verhoudings tussen data -voorwerpe beskryf. Geen opstelling nodig nie, aangesien data eers by die DataStore gevoeg word sodra die wolkfunksies sensorwaardes na DataStore skryf
Stap 8: Google Cloud - BigQuery
Ons neem 'n monster van 10 minute van die normale pyp en 10 minute van 'n geblokkeerde pyp, met 'n verskil van presies 1 uur tussen die twee herhalings. Nadat u dataStore afgelaai het en 'n bietjie manipulasie gemaak het om klassifikasie vir elke ry by te voeg. Nou het ons 2 csv -lêers, een vir elke kategorie. Laai die beste CSV -data eers na Cloud Storage op. In die onderstaande skerm skep ons 'n nuwe emmer en laai die 2 CSV'e op die nuwe tafel
Stap 9: Google Cloud - Data Studio
Dan gebruik ons Data Studio om 'n paar insigte te maak. Data Studio sal data uit die BigQuery -tabel lees. Uit grafieke kan ons die verskil tussen 2 kategorieë in aantal telemetries en som van waardes per minuut sien. Op grond van hierdie insigte kan ons 'n eenvoudige model ontwerp; pyp word as geblokkeer beskou as die telemetriese waardes wat hoër is as die geraasdrempel (400) meer as 350 telemetries binne drie opeenvolgende minute is. en in 3 opeenvolgende minute is die telemetriese waarde wat hoër is as die vonkdrempel (720) meer as 10 telemetries.
Stap 10: Voorspellingsfase
Ons verwys na 'n lesing as dit 'n sekere waarde (THRESHOLD_VALUE) oorskry, wat op 350 gestel is wat geraas en laer watertoevoer in die buis filter, omdat dit as 'n lesing beskou word
Data -analise het getoon dat die aantal lesings in die oop modus minder as 100 is, maar in die verstopingsmodus is die waardes baie hoër (bereik 900 per minuut), maar in seldsame gevalle was dit ook minder as 100. Hierdie gevalle word egter nie herhaal nie, en vir drie daaropvolgende minute het die totale aantal lesings altyd 350 oorskry. As die oop modus in dieselfde drie minute minder is as 'n 300, kan ons met selfvertroue hierdie reël stel: Reël # 1 Vir drie minute in 'n rou, as totale lesings > 350, dan word 'n verstopping opgespoor. Ons het gevind dat die maksimum waarde wat in die oop modus bereik is, nie 'n sekere waarde (SPARK_VALUE) oorskry nie, wat 770 is, dus het ons hierdie reël bygevoeg: Reël # 2 As die waarde> 350 gelees word, word 'n verstopping meestal opgespoor.
Deur beide reëls te kombineer, het ons 'n maklike manier gegee om die opsporingslogika te implementeer, soos getoon. Let op dat die onderstaande kode op Arduino ontplooi is, wat dan die ontvangde telemetries op grond van ons model evalueer en na framboos stuur as die pyp verstop of oop is.
Stap 11: Kode
Alle kode vir Arduino, framboos en wolk funksie kan gevind word op Github.
Vir meer inligting, kan u hierdie skakel besoek
Aanbeveel:
Neem wonderlike foto's met 'n iPhone: 9 stappe (met foto's)
Neem wonderlike foto's met 'n iPhone: die meeste van ons dra deesdae 'n slimfoon oral, daarom is dit belangrik om te weet hoe u u slimfoonkamera kan gebruik om fantastiese foto's te neem! Ek het net 'n paar jaar 'n slimfoon gehad, en ek hou daarvan om 'n ordentlike kamera te hê om dinge te dokumenteer wat ek
Raspberry Pi -boks met koelventilator met CPU -temperatuuraanwyser: 10 stappe (met foto's)
Raspberry Pi Box of Cooling FAN Met CPU Temperature Indicator: Ek het framboos pi (Hierna as RPI) CPU temperatuur aanwyser stroombaan in die vorige projek bekendgestel. Die kring wys eenvoudig RPI 4 verskillende CPU temperatuur vlakke soos volg.- Groen LED aangeskakel wanneer CPU temperatuur is binne 30 ~
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer