Sisällysluettelo:
- Vaihe 1: Kokeilu
- Vaihe 2: Laitteisto
- Vaihe 3: Google Cloud - rekisteröinti
- Vaihe 4: Google Cloud - Pub/Sub
- Vaihe 5: Google Cloud - IOT Core
- Vaihe 6: Google Cloud - pilvitoiminnot
- Vaihe 7: Google Cloud - Cloud DataStore
- Vaihe 8: Google Cloud - BigQuery
- Vaihe 9: Google Cloud - Data Studio
- Vaihe 10: Ennustusvaihe
- Vaihe 11: Koodi
Video: Tyhjennystulpan tunnistin: 11 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Älä anna tukkeutuneen viemärin hidastaa sinua! Palatessamme lomaltamme, minä ja vaimoni olimme yllättyneitä asuntomme lattiaa peittävästä vedestä, ja huomasimme, että se ei ole edes puhdasta vettä, se valuu kaikkialta. Kun olin tyhjentänyt viemärin ja puhdistanut lattian, minulla oli seuraava kysymys: miksi meillä ei ole hälytysjärjestelmää mahdollisista viemäritukkeista? Tukkeutuneet viemärit voivat paitsi pysäyttää kotisi myös kuluttaa lisäkustannuksia taskuistasi, keskimäärin 206 dollaria on tukkeutuneen tyhjennyksen kustannukset HomeAdvisorin mukaan, piilotettujen kustannusten lisäksi vaurioituneet matot, puukalusteet jne. Ajatuksemme on antaa asuntojen omistajille ja yrityksille, kuten kaupunkien/kuntien kunnossapitotoimistoille ja erikoistuneille palveluntarjoajille, tehokas ja älykäs järjestelmä, joka varoittaa vastuuhenkilöitä mahdollisimman varhaisessa vaiheessa ryhtymään toimiin, mikä auttaa rikastuttamaan älykkäitä kaupunkeja tärkeällä ominaisuus.
Idea Vaikka tukokset voidaan havaita useilla tekniikoilla, kuten käyttämällä kaasuanturia tai sisäisiä mekanismeja, tiimimme keskittyi käyttämään ääntä syötteenämme, koska tiedämme, että koputus putkeen, jossa se avataan, on eri ääni kuin mitä tapahtui suljettuna. Tämän yksinkertaisen käsitteen mukaan, jos voimme kouluttaa mallin putkien pinnalla esiintyvät äänimallit tukkeutumisen aikana sekä nämä kuviot esiintyvät avatuissa putkissa, voimme sitten soveltaa mallia havaitsemaan ennakoivasti, kun tukkeuma alkaa muodostaa, ja sitten soita joitain laskuja.
Lainaa varten
- Mohamed Hassan
- Ahmed Emam
Hanke yksityiskohtaisesti Tässä projektissa toteutetaan 3 vaihetta: Tietojen kerääminen, oppiminen ja ennustaminen.
Ennen tämän järjestelmän käyttöönottoa todellisessa elämässä meidän piti luoda pakollinen simulointiympäristö, jossa meillä on putki, virtaava vesi ja jotenkin simuloida tukkeutuminen. Joten saimme putken, vesiletkun, jossa on vesilähde, joka tekee tämän kylpyammeessa ja sulkee tukoksen edustavan putken käyttämällä ammeen pintaa. Tässä videossa kerromme, miten rakensimme ympäristön ja miten keräsimme tietoja mallikoulutusta varten.
Ja tässä seuraavassa videossa, joka näyttää kuinka teimme järjestelmän ja mallin testauksen avoimessa tilassa, sitten tukkeutumistilassa ja takaisin avoimeen tilaan
Tarkastellaan siis toteutustamme vaihe vaiheelta:
Vaihe 1: Kokeilu
Tässä skenaariossa käytämme pientä vesiputkea, joka on liitetty laitteistoomme ja äänianturiin. Laitteisto lukee anturin arvon ja lähettää sen takaisin Cloudiin. Tätä on tehty 10 minuuttia tukkeutuneelle putkelle ja sitten 10 minuuttia putkelle, joka ei ole tukossa.
Vaihe 2: Laitteisto
Minä- Arduino
Vesiäänen havaitsemiseksi putken sisällä tarvitsemme äänianturin. Raspberry Pi 3: ssa ei kuitenkaan ole analogista GPIO: ta. Tämän ongelman ratkaisemiseksi käytämme Arduinoa, koska Arduinolla on analoginen GPIO. Joten yhdistämme Grove Sound -anturin Grove Arduino -suojaan ja Shieldin Arduino UNO 3: een. Sitten liitämme Arduino & Vadelma USB -kaapelilla. Jos haluat lisätietoja Grove Sound -anturista, voit tarkistaa sen tietolomakkeen. Tietolomakkeesta löydät esimerkkikoodin anturin arvojen lukemiseen. Esimerkkikoodi on melkein käyttö pieniin muutoksiin. Alla olevassa koodissa liitämme anturin suojaan A0. Sarjaan kirjoittamiseen käytämme Serial.begin () -funktiota. Yhteyden muodostaminen Raspberry -baudinopeuteen, jonka arvoksi on asetettu 115200, Raspberrylle lähetetään tietoja, jos se ylittää tietyn kynnyksen melun vähentämiseksi. Halutut kynnys- ja viivearvot on valittu useissa kokeissa. Kynnys on 400 ja viivearvo 10 millisekuntia. Kynnys on valittu suodattamaan normaalia kohinaa ja varmistamaan, että vain merkitykselliset tiedot lähetetään pilveen. Viive on valittu pois, jotta anturi havaitsee välittömästi muutokset virtausäänessä putken sisällä.
II- Raspberry Pi 3 Jos haluat ladata Android-asioita Raspberrystä, voit ladata uusimman version Android-asioiden konsolista. Tässä projektissa käytämme versiota: OIR1.170720.017. asenna käyttöjärjestelmä vadelmalle noudattamalla Raspberry -sivuston ohjeita, Windows, voit käyttää näitä vaiheita Windowsissa asennuksen jälkeen voit liittää Raspberry -tietokoneen tietokoneeseen USB -liitännän kautta. Käytä sitten tietokoneesi konsolissa alla olevaa komentoa Raspberry IP: n saamiseksi
nmap -sn 192.168.1.*
Kun olet saanut IP -osoitteen, muodosta yhteys Vadelmaasi alla olevan komennon avulla
adb connect
Raspberry -laitteen yhdistäminen Wifi -verkkoon (lisää SSID -tunnuksesi ja salasanasi)
adb am startservice
-n com.google.wifisetup/. WifiSetupService
-a WifiSetupService. Connect
-e ssid *****
-salasana ****
Vaihe 3: Google Cloud - rekisteröinti
Google tarjoaa ilmaisen tason kaikille käyttäjille yhden vuoden ajaksi, enimmäismäärä 300 dollaria, kiitos Googlelle:). Luo uusi projekti Google Cloudiin noudattamalla näyttöjä
Vaihe 4: Google Cloud - Pub/Sub
Google Cloud Pub/Sub on täysin hallinnoitu reaaliaikainen viestipalvelu, jonka avulla voit lähettää ja vastaanottaa viestejä riippumattomien sovellusten välillä.
Vaihe 5: Google Cloud - IOT Core
II- IOT CoreA täysin hallittu palvelu, jolla voidaan helposti ja turvallisesti yhdistää, hallita ja vastaanottaa tietoja maailmanlaajuisesti hajallaan olevista laitteista. IOT Core edelleen beta, jotta voit käyttää sitä, sinun on tehtävä Googlelle pyyntö ja perustelut. Teimme pyynnön, perustelumme oli tämä kilpailu. Google hyväksyi, kiitos Googlelle jälleen:). Vadelma lähettää anturitietoja IOT Coreen, joka välittää lukemat edellisessä vaiheessa luotuun PubSub -aiheeseen
Vaihe 6: Google Cloud - pilvitoiminnot
Cloud Functions on palvelimeton ympäristö pilvipalvelujen rakentamiseen ja yhdistämiseen. Tämän toiminnon laukaisija on PubSup -aihe, joka luotiin vaiheessa 1.;; Tämä toiminto käynnistyy, kun uusi arvo kirjoitetaan PubSupiin ja kirjoitetaan se Cloud DataStoreen Kind "SoundValue"
Vaihe 7: Google Cloud - Cloud DataStore
Google Cloud Datastore on NoSQL -asiakirja -tietokanta, joka on rakennettu automaattista skaalausta, tehokkuutta ja sovellusten kehittämisen helppoutta varten. Vaikka Cloud Datastore -käyttöliittymässä on monia samoja ominaisuuksia kuin perinteisissä tietokannoissa, se eroaa NoSQL -tietokannasta niistä tavalla, jolla se kuvaa tietoobjektien välisiä suhteita. Ei tarvita mitään asetuksia, koska kun pilvitoiminnot kirjoittavat anturien arvot DataStoreen, tiedot lisätään DataStoreen
Vaihe 8: Google Cloud - BigQuery
Keräämme näytteen 10 minuutin päässä normaalista putkesta ja 10 minuutin päässä tukkeutuneesta putkesta, ja ero on täsmälleen 1 tunti kahden iteraation välillä. Tietojen lataamisen jälkeen DataStore ja tee joitain manipulaatioita lisätäksesi luokituksen kullekin riville. Nyt meillä on 2 csv -tiedostoa yksi kullekin luokalle. Paras käytäntö on ladata CSV -tiedostot ensin Cloud Storageen. Alla olevassa näytössä luomme uuden säilön ja lataamme 2 CSV-tiedostoa. Koska tätä ryhmää käytetään vain analysointiin, sinun ei tarvitse valita monialuealuetta, sitten Luo uusi tietojoukko ja uusi taulukko BigQueryssä ja lähetä 2 CSV-tiedostoa ämpäriin uusi pöytä
Vaihe 9: Google Cloud - Data Studio
Sitten käytämme Data Studiota oivaltamaan oivalluksia. Data Studio lukee tietoja BigQuery -taulukosta. Kaavioista voimme nähdä eron kahden kategorian välillä telemetrioiden lukumäärässä ja arvojen summassa minuutissa. Näiden oivallusten perusteella voimme suunnitella yksinkertaisen mallin, putki katsotaan tukkeutuneeksi, jos kolmen peräkkäisen minuutin aikana melukynnystä (400) korkeampien telemetria -arvojen määrä on yli 350 telemetriaa. ja kolmen peräkkäisen minuutin aikana telemetria -arvon määrä, joka on korkeampi kuin kipinäkynnys (720), on yli 10 telemetriaa.
Vaihe 10: Ennustusvaihe
Viittaamme lukemaan, kun se ylittää tietyn arvon (THRESHOLD_VALUE), joka asetettiin arvoon 350, joka suodattaa melun ja pienemmät veden virtausnopeudet putkessa.
Tietoanalyysi osoitti, että avoimessa tilassa lukemien määrä on alle 100, mutta tukkeutumistilassa arvot ovat paljon korkeammat (saavutettu 900 minuutissa), mutta harvinaisissa tapauksissa myös alle 100. Näitä tapauksia ei kuitenkaan toisteta, ja kolmen peräkkäisen minuutin aikana lukemien kokonaismäärä ylitti aina 350. Kun avoin tila samoissa kolmessa minuutissa on yhteenlaskettu alle 300, voimme luottavaisesti laittaa tämän säännön: Sääntö # 1 Kolme minuuttia raakana, jos kokonaislukemat > 350, niin tukos havaitaan. Löysimme, että avoimessa tilassa saavutettu enimmäisarvo ei ylitä tiettyä arvoa (SPARK_VALUE), jonka todetaan olevan 770, joten lisäsimme tämän säännön: Sääntö # 2 Jos lukuarvo on> 350, tukos havaitaan useimmiten.
Molempien sääntöjen yhdistäminen antoi meille helpon tavan havaitsemislogiikan toteuttamiseen, kuten kuvassa. Huomaa, että alla oleva koodi otettiin käyttöön Arduinossa, joka arvioi sitten vastaanotetut telemetriamme mallimme perusteella ja lähettää vadelmaan, jos putki on tukossa tai auki.
Vaihe 11: Koodi
Kaikki Arduinon, Vadelman ja pilvitoiminnon koodit löytyvät Githubista.
Jos haluat lisätietoja, voit tarkistaa tämän linkin
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Postilaatikon tunnistin Arduinon avulla: 4 vaihetta
Postilaatikon tunnistin Arduinon avulla: Hei, toivon, että teillä menee kaikki hyvin. Tänään aion näyttää sinulle, kuinka tehdä postilaatikko anturilla käyttämällä arduino -korttia ja IDE: tä. Tämä projekti on hyvin yksinkertainen ja suurin osa tarvikkeista löytyy useimmista kodeista. Tiedä, että Covid-19 on iskenyt me
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
Digitaalinen tunnistin Pythonilla: 3 vaihetta
Digitaalitunnistin ja Python: Yksi suosituimmista teemoista on "Computer Vision", joka sisältää ladattavan ohjelmiston, joka on tarkoitettu uusintatekniikan suojelijoille. Es posible imaginarse que esta habilidad es muy útil para una computadora y permite expandir