Sisällysluettelo:

Tyhjennystulpan tunnistin: 11 vaihetta (kuvilla)
Tyhjennystulpan tunnistin: 11 vaihetta (kuvilla)

Video: Tyhjennystulpan tunnistin: 11 vaihetta (kuvilla)

Video: Tyhjennystulpan tunnistin: 11 vaihetta (kuvilla)
Video: Kuinka vaihtaa moottoriöljy ja öljynsuodatin autoon [AUTODOC-OHJEVIDEO] 2024, Saattaa
Anonim
Image
Image

Ä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

Koe
Koe
Koe
Koe
Koe
Koe
Koe
Koe

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

Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
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 Cloud - rekisteröinti
Google Cloud - rekisteröinti
Google Cloud - rekisteröinti
Google Cloud - rekisteröinti
Google Cloud - rekisteröinti
Google Cloud - rekisteröinti
Google Cloud - rekisteröinti
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
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 on täysin hallinnoitu reaaliaikainen viestipalvelu, jonka avulla voit lähettää ja vastaanottaa viestejä riippumattomien sovellusten välillä.

Vaihe 5: 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- 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

Google Cloud - pilvitoiminnot
Google Cloud - pilvitoiminnot
Google Cloud - pilvitoiminnot
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

Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
Google Cloud - BigQuery
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

Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
Google Cloud - Data Studio
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

Ennustamisvaihe
Ennustamisvaihe

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: