Indholdsfortegnelse:

Drain Clog Detector: 11 trin (med billeder)
Drain Clog Detector: 11 trin (med billeder)

Video: Drain Clog Detector: 11 trin (med billeder)

Video: Drain Clog Detector: 11 trin (med billeder)
Video: Установка маяков под штукатурку. Углы 90 градусов. #12 2024, Juli
Anonim
Image
Image

Lad ikke en tilstoppet afløb bremse dig! Da jeg kom tilbage fra vores ferie, blev jeg og min kone overrasket over vandet, der dækkede gulvet i vores lejlighed, og vi fandt ud af, at det ikke engang var rent vand, det er afløb overalt. Efter at have renset afløbet og renset gulvet, havde jeg dette spørgsmål: hvorfor har vi ikke et alarmsystem til potentielle afløbstæpper? Tilstoppede afløb kan ikke kun stoppe dit hjem, men vil forbruge ekstra omkostninger fra dine lommer, $ 206 i gennemsnit er omkostninger til at rydde et tilstoppet afløb ifølge HomeAdvisor, ud over skjulte omkostninger ved beskadigede tæpper, træmøbler, … osv. Vores idé er at lade husejere såvel som virksomheder som vedligeholdelsesafdelinger for byer og forbindelser og specialiserede serviceudbydere have et effektivt og intelligent system, der advarer den ansvarlige så tidligt som muligt om at handle, hvilket bidrager til at berige smarte byer med en vigtig funktion.

Idéen Selvom detektion af træsko kan gøres ved hjælp af en række teknikker, f.eks. Ved hjælp af gassensorer eller interne mekanismer, var vores team fokuseret på at bruge lyd som vores input, da vi ved, at det at banke på et rør, hvor det åbnes, er en anden lyd end det, der skete når man lukker. Ifølge dette enkle koncept, hvis vi kan træne en model, de lydmønstre, der forekommer på røroverfladen under træsko, såvel som disse mønstre forekommer i åbne rør, kan vi derefter anvende modellen til at registrere proaktivt, når en træsko begynder at sammensætte, og vi derefter ring nogle regninger.

Kreditter til

  • Mohamed Hassan
  • Ahmed Emam

Projekt i detaljer 3 faser implementeres i dette projekt: Indsamling af data, læring og forudsigelse.

Inden vi anvendte dette system i det virkelige liv, var vi nødt til at oprette et håndhævet simuleringsmiljø, hvor vi har røret, rindende vand og på en eller anden måde for at simulere træsko. Så vi fik et rør, en vandslange med en vandkilde, der gjorde dette i badekarret, og ved hjælp af karbadets overflade til at lukke røret, der repræsenterer træsko. I denne video forklarer vi, hvordan vi opbyggede miljøet, og hvordan vi indsamlede data til modeltræningen.

Og i denne næste video, der viser, hvordan vi testede systemet og modellen, i åben tilstand, derefter i tilstopningstilstand og tilbage til åben tilstand, dog

Så lad os undersøge vores implementering trin for trin:

Trin 1: Eksperimentet

Eksperimentet
Eksperimentet
Eksperimentet
Eksperimentet
Eksperimentet
Eksperimentet
Eksperimentet
Eksperimentet

I dette scenario bruger vi et lille vandrør forbundet til vores hardware og lydsensor. Hardware læser sensorværdien og sender den tilbage til Cloud. Dette er blevet gjort i 10 minutter for blokeret rør derefter yderligere 10 minutter for rør, der ikke er blokeret.

Trin 2: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

I- Arduino

For at detektere vandlyden inde i røret har vi brug for en lydsensor. Raspberry Pi 3 har dog ikke Analog GPIO. For at håndtere dette problem bruger vi Arduino, da Arduino har analog GPIO. Så vi forbinder Grove Sound -sensor til Grove Arduino -skjold og tilslutter Shield til Arduino UNO 3. Derefter forbinder vi Arduino & Raspberry ved hjælp af USB -kabel. For at få flere oplysninger om Grove Sound -sensor kan du kontrollere dets datablad. Du kan i databladet finde en prøvekode til hvordan sensorværdier læses. Prøvekode er næsten brug vil små ændringer. I nedenstående kode tilslutter vi sensoren til A0 i skjold. For at skrive på serie bruger vi funktionen Serial.begin (). For at kommunikere med Raspberry baud rate sat til 115200Data vil blive sendt til Raspberry, hvis det er større end en vis tærskel for at reducere støjen Mange forsøg er blevet udført for at vælge de ønskede tærskel- og forsinkelsesværdier. Tærskel fundet til at være 400 & Forsinkelsesværdi til 10 millisekund. Tærsklen er valgt til at filtrere normal støj og sikre, at kun meningsfulde data vil blive sendt til skyen.

II- Raspberry Pi 3 For at downloade Android-ting på Raspberry kan du downloade den nyeste version fra Android Things Console. I dette projekt bruger vi version: OIR1.170720.017. følg trinene i Raspberry -webstedet for at installere operativsystemet på hindbær, til Windows kan du bruge disse trin Efter installationen kan du slutte Raspberry til din computer ved hjælp af USB. Brug derefter kommandoen i din computerkonsol til at få Raspberry IP

nmap -sn 192.168.1.*

Efter at have fået IP, skal du oprette forbindelse til din Hindbær ved hjælp af nedenstående kommando

adb -forbindelse

For at forbinde din hindbær til Wifi (tilføj dit SSID og adgangskode)

adb am startservice

-n com.google.wifisetup/. WifiSetupService

-en WifiSetupService. Connect

-e ssid *****

-e adgangssætning ****

Trin 3: Google Cloud - registrering

Google Cloud - registrering
Google Cloud - registrering
Google Cloud - registrering
Google Cloud - registrering
Google Cloud - registrering
Google Cloud - registrering
Google Cloud - registrering
Google Cloud - registrering

Google tilbyder et gratis niveau for alle brugere i et år med et loft på 300 $, takket være Google:). Følg skærme for at oprette et nyt projekt i Google Cloud

Trin 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 er en fuldt administreret realtidsbeskedtjeneste, der giver dig mulighed for at sende og modtage beskeder mellem uafhængige applikationer.

Trin 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 fuldt administreret service til nemt og sikkert at forbinde, administrere og indtage data fra globalt spredte enheder. IOT Core stadig Beta, for at få adgang til det skal du lave en anmodning med begrundelse til Google. Vi fremsatte anmodningen, vores begrundelse var denne konkurrence. Google godkendt, tak til Google igen:). Hindbær sender sensordata til IOT Core, som videresender aflæsninger til PubSub -emne oprettet i forrige trin

Trin 6: Google Cloud - Cloud -funktioner

Google Cloud - Cloud -funktioner
Google Cloud - Cloud -funktioner
Google Cloud - Cloud -funktioner
Google Cloud - Cloud -funktioner

Cloud Functions er et serverløst miljø til at opbygge og forbinde cloud -tjenester. Udløser for denne funktion er PubSup -emnet, der blev oprettet i trin 1.;; Denne funktion udløses, når ny værdi skrives i PubSup og skriver den i Cloud DataStore med Kind "SoundValue"

Trin 7: Google Cloud - Cloud DataStore

Google Cloud Datastore er en NoSQL -dokumentdatabase bygget til automatisk skalering, høj ydeevne og nem applikationsudvikling. Mens Cloud Datastore -grænsefladen har mange af de samme funktioner som traditionelle databaser, adskiller den sig som NoSQL -database fra dem på den måde, den beskriver forholdet mellem dataobjekter. Ingen grund til opsætning, da når Cloud Functions skriver sensorværdier til DataStore, tilføjes data til DataStore

Trin 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

Vi samler en prøve 10 minutter fra normalt rør og 10 minutter fra blokeret rør med forskellen nøjagtigt 1 time mellem de 2 iterationer. Efter download af data DataStore og foretag en vis manipulation for at tilføje klassificering for hver række. Nu har vi 2 csv -filer en for hver kategori. Som bedste praksis skal du først uploade data -CSV -filer til Cloud Storage. I nedenstående skærmbillede opretter vi en ny spand og uploader de 2 CSV-filer Da denne spand kun vil blive brugt til analyse, er det ikke nødvendigt at vælge Multi-regional spand. Opret derefter et nyt datasæt og en ny tabel i BigQuery, og upload den 2 CSV-fil fra spand til det nye bord

Trin 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

Derefter bruger vi Data Studio til at tegne nogle indsigter. Data Studio læser data fra BigQuery -tabellen. Fra grafer kan vi se forskellen mellem 2 kategorier i antal telemetrier og summen af værdier pr. Minut. Baseret på disse indsigter kan vi designe en simpel model, rør betragtes som blokeret, hvis antallet af telemetriske værdier, der er højere end støjgrænsen (400), er mere end 350 telemetri i 3 på hinanden følgende minutter. og på 3 på hinanden følgende minutter er tællingen af telemetriske værdi, der er højere end gnistterskel (720) mere end 10 telemetrier.

Trin 10: Forudsigelsesfase

Forudsigelsesfase
Forudsigelsesfase

Vi refererer til en aflæsning, når den overstiger en bestemt værdi (THRESHOLD_VALUE), der blev indstillet til 350, der filtrerer støj og lavere vandgennemstrømningshastigheder i røret, fra at blive betragtet som en aflæsning

Dataanalyse viste, at i åben tilstand er antallet af aflæsninger mindre end 100, men i tilstopningstilstand er værdierne langt højere (nåede 900 pr. Minut), men var i sjældne tilfælde også mindre end 100. Disse tilfælde gentages imidlertid ikke derfor, og for tre efterfølgende minutter oversteg det samlede antal aflæsninger altid 350. At have åben tilstand i de samme tre minutter vil opsummere mindre end 300, vi kunne med sikkerhed sætte denne regel: Regel # 1 For tre minutter i en rå, hvis den samlede måling > 350, så detekteres en tilstopning. Vi fandt maksimalværdi nået i åben tilstand ikke overstiger en bestemt værdi (SPARK_VALUE), der findes at være 770, så vi tilføjede denne regel: Regel # 2 Hvis læsningsværdi> 350, så opdages en tilstopning for det meste.

Ved at kombinere begge regler gav vi en nem måde at implementere detektionslogikken, som vist. Bemærk, at nedenstående kode blev implementeret på Arduino, som derefter evaluerer de modtagne telemetrier baseret på vores model og sender til hindbær, hvis røret er tilstoppet eller åbent.

Trin 11: Kode

Alle koder til Arduino, hindbær og sky funktion kan findes på Github.

For mere information kan du tjekke dette link

Anbefalede: