Satura rādītājs:

Drenāžas aizsērējuma detektors: 11 soļi (ar attēliem)
Drenāžas aizsērējuma detektors: 11 soļi (ar attēliem)

Video: Drenāžas aizsērējuma detektors: 11 soļi (ar attēliem)

Video: Drenāžas aizsērējuma detektors: 11 soļi (ar attēliem)
Video: 13 полезных насадок для шуруповерта и дрели с Aliexpress 2024, Novembris
Anonim
Image
Image

Neļaujiet aizsērējušai notekcaurulei palēnināt! Atgriežoties no atvaļinājuma, mani un manu sievu pārsteidza ūdens, kas pārklāj mūsu dzīvokļa grīdu, un mēs noskaidrojām, ka tas nav pat tīrs ūdens, tas ir visur. Pēc notekas notīrīšanas un grīdas tīrīšanas man radās šāds jautājums: kāpēc mums nav signalizācijas sistēmas par iespējamiem kanalizācijas aizsērējumiem? Aizsērējušās notekas ne tikai var apturēt jūsu māju, bet arī patērēs papildu izmaksas no jūsu kabatām, vidēji 206 ASV dolāri ir izmaksas par aizsērējušas notekas notīrīšanu, saskaņā ar HomeAdvisor, papildus slēptām izmaksām par bojātiem paklājiem, koka mēbelēm utt. Mūsu ideja ir ļaut māju īpašniekiem, kā arī uzņēmumiem, piemēram, pilsētu/apsaimniekošanas nodaļām un specializētiem pakalpojumu sniedzējiem, izveidot efektīvu un inteliģentu sistēmu, kas pēc iespējas ātrāk brīdina atbildīgos par rīcību, kas veicina viedo pilsētu bagātināšanu ar svarīgu iezīme.

Lai gan aizsērējumu noteikšanu var veikt, izmantojot vairākas metodes, piemēram, izmantojot gāzes sensorus vai iekšējos mehānismus, mūsu komanda koncentrējās uz skaņas izmantošanu kā mūsu ievadi, jo mēs zinām, ka klauvēšana pie caurules, kur tā ir atvērta, atšķiras no skaņas, kas notika kad tiek slēgts. Saskaņā ar šo vienkāršo koncepciju, ja mēs varam apmācīt modeli skaņas modeļus, kas rodas uz caurules virsmas aizsērējumu laikā, kā arī šos modeļus rodas atvērtās caurulēs, mēs pēc tam varam izmantot modeli, lai proaktīvi noteiktu, kad aizsērējums sāk veidot, un tad zvanīt dažus rēķinus.

Kredīti par

  • Muhameds Hasans
  • Ahmeds Ema

Šajā projektā tiek īstenotas 3 fāzes: datu vākšana, mācīšanās un prognozēšana.

Pirms šīs sistēmas pielietošanas reālajā dzīvē, mums bija jāizveido piespiedu simulācijas vide, kurā mums ir caurule, plūstošs ūdens un kaut kā jāsimulē aizsērējums. Tātad, mēs saņēmām cauruli, ūdens šļūteni ar ūdens avotu, kas to darīja vannā, un, izmantojot vannas virsmu, aizvēra aizsērējumu. Šajā video mēs izskaidrojam, kā mēs veidojām vidi un kā mēs apkopojām datus modeļa apmācībai.

Un šajā nākamajā video, kurā parādīts, kā mēs veicām sistēmas un modeļa testēšanu atvērtā režīmā, pēc tam aizsērēšanas režīmā un atpakaļ atvērtā režīmā

Tātad, soli pa solim izpētīsim mūsu ieviešanu:

1. darbība: eksperiments

Eksperiments
Eksperiments
Eksperiments
Eksperiments
Eksperiments
Eksperiments
Eksperiments
Eksperiments

Šajā scenārijā mēs izmantojam nelielu ūdens cauruli, kas savienota ar mūsu aparatūru un skaņas sensoru. Aparatūra nolasa sensora vērtību un nosūta to atpakaļ uz mākoni. Tas ir darīts 10 minūtes bloķētai caurulei, bet vēl 10 minūtes - caurulei, kas nav bloķēta.

2. darbība. Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Es- Arduino

Lai noteiktu ūdens skaņu caurules iekšpusē, mums ir nepieciešams skaņas sensors. Tomēr Raspberry Pi 3 nav analogā GPIO. Lai atrisinātu šo problēmu, mēs izmantojam Arduino, jo Arduino ir analogs GPIO. Tātad mēs savienojam Grove Sound sensoru ar Grove Arduino vairogu un pievienojam Shield ar Arduino UNO 3. Tad mēs savienojam Arduino & Raspberry, izmantojot USB kabeli. Lai iegūtu vairāk informācijas par Grove Sound sensoru, varat pārbaudīt tā datu lapu. Datu lapā varat atrast parauga kodu, kā nolasīt sensoru vērtības. Parauga kods gandrīz tiks izmantots nelielām izmaiņām. Zemāk esošajā kodā mēs savienojam sensoru ar A0 vairogā. Lai rakstītu sērijā, mēs izmantojam Serial.begin () funkciju. Lai sazinātos ar Raspberry pārraides ātrumu, kas iestatīts uz 115200, dati tiks nosūtīti uz Raspberry, ja tas ir lielāks par noteiktu slieksni trokšņa samazināšanai. Ir veikti daudzi izmēģinājumi, lai izvēlētos vēlamās sliekšņa un aizkaves vērtības. Tika konstatēts, ka slieksnis ir 400 un kavēšanās vērtība ir 10 milisekundes. Slieksnis ir izvēlēts, lai filtrētu normālu troksni un nodrošinātu, ka mākonim tiks nosūtīti tikai nozīmīgi dati. Kavēšanās ir izvēlēta prom, lai nodrošinātu, ka sensors nekavējoties konstatē plūsmas skaņas izmaiņas caurulē.

II- Raspberry Pi 3 Lai lejupielādētu Android ierīces Raspberry, jūs varat lejupielādēt jaunāko versiju no Android lietu konsoles. Šajā projektā mēs izmantojam versiju: OIR1.170720.017. izpildiet Raspberry vietnē norādītās darbības, lai aveņu instalētu operētājsistēmu, logiem varat izmantot šīs darbības. Pēc instalēšanas Raspberry var savienot ar datoru, izmantojot USB. Pēc tam datora konsolē izmantojiet komandu zemāk, lai iegūtu Raspberry IP

nmap -sn 192.168.1.*

Pēc IP iegūšanas izveidojiet savienojumu ar Raspberry, izmantojot zemāk esošo komandu

adb savienot

Lai savienotu savu aveņu ar Wifi (pievienojiet savu SSID un paroli)

adb am startservice

-n com.google.wifisetup/. WifiSetupService

-WifiSetupService. Connect

-e ssid *****

-e parole ****

3. darbība. Google mākonis - reģistrācija

Google mākonis - reģistrācija
Google mākonis - reģistrācija
Google mākonis - reģistrācija
Google mākonis - reģistrācija
Google mākonis - reģistrācija
Google mākonis - reģistrācija
Google mākonis - reģistrācija
Google mākonis - reģistrācija

Pateicoties Google, Google piedāvā visiem lietotājiem bezmaksas līmeni vienam gadam ar griestiem 300 USD. Sekojiet ekrāniem, lai izveidotu jaunu projektu pakalpojumā Google Cloud

4. darbība. Google mākonis - krogs/apakšnodaļa

Google mākonis - krogs/apakšpakalpojums
Google mākonis - krogs/apakšpakalpojums
Google mākonis - krogs/apakšpakalpojums
Google mākonis - krogs/apakšpakalpojums
Google mākonis - krogs/apakšpakalpojums
Google mākonis - krogs/apakšpakalpojums
Google mākonis - krogs/apakšpakalpojums
Google mākonis - krogs/apakšpakalpojums

Google Cloud Pub/Sub ir pilnībā pārvaldīts reāllaika ziņojumapmaiņas pakalpojums, kas ļauj sūtīt un saņemt ziņojumus starp neatkarīgām lietojumprogrammām.

5. darbība: Google mākonis - IOT Core

Google mākonis - IOT Core
Google mākonis - IOT Core
Google mākonis - IOT Core
Google mākonis - IOT Core
Google mākonis - IOT Core
Google mākonis - IOT Core

II- IOT CoreA pilnībā pārvaldīts pakalpojums, lai viegli un droši savienotu, pārvaldītu un uzņemtu datus no globāli izkliedētām ierīcēm. IOT Core joprojām ir beta versija, lai tai piekļūtu, jums ir jāiesniedz Google pieprasījums ar pamatojumu. Mēs iesniedzām pieprasījumu, mūsu attaisnojums bija šis konkurss. Google apstiprināja, vēlreiz paldies Google:). Raspberry nosūtīs sensoru datus uz IOT Core, kas pārsūtīs rādījumus uz PubSub tēmu, kas izveidota iepriekšējā solī

6. darbība: Google mākonis - mākoņa funkcijas

Google mākonis - mākoņa funkcijas
Google mākonis - mākoņa funkcijas
Google mākonis - mākoņa funkcijas
Google mākonis - mākoņa funkcijas

Cloud Functions ir vide bez serveriem, lai izveidotu un savienotu mākoņa pakalpojumus. Šīs funkcijas aktivizētājs ir PubSup tēma, kas izveidota 1. darbībā.;; Šī funkcija tiks aktivizēta, kad PubSup ierakstīs jaunu vērtību un ierakstīs to Cloud DataStore ar veidu "SoundValue"

7. darbība: Google mākonis - Cloud DataStore

Google Cloud Datastore ir NoSQL dokumentu datu bāze, kas izveidota automātiskai mērogošanai, augstajai veiktspējai un ērtai lietojumprogrammu izstrādei. Lai gan Cloud Datastore interfeisam ir daudzas tādas pašas funkcijas kā tradicionālajām datu bāzēm, tā kā NoSQL datu bāze atšķiras no tām tādā veidā, kā aprakstītas attiecības starp datu objektiem. Nav nepieciešama nekāda iestatīšana, jo, tiklīdz Mākoņa funkcijas ierakstīs sensoru vērtības DataStore, dati tiks pievienoti DataStore

8. darbība. Google mākonis - BigQuery

Google mākonis - BigQuery
Google mākonis - BigQuery
Google mākonis - BigQuery
Google mākonis - BigQuery
Google mākonis - BigQuery
Google mākonis - BigQuery
Google mākonis - BigQuery
Google mākonis - BigQuery

Mēs savācam paraugu 10 minūtes no parastās caurules un 10 minūtes no aizsprostotas caurules ar atšķirību tieši 1 stunda starp 2 atkārtojumiem. Pēc datu lejupielādes DataStore un veiciet dažas manipulācijas, lai katrai rindai pievienotu klasifikāciju. Tagad mums ir 2 csv faili pa vienai katrai kategorijai. Kā paraugprakse vispirms augšupielādējiet CSV failus mākonī. Tālāk redzamajā ekrānā mēs izveidojam jaunu kopu un augšupielādējam 2 CSV failus jaunais galds

9. darbība. Google mākonis - datu studija

Google mākonis - datu studija
Google mākonis - datu studija
Google mākonis - datu studija
Google mākonis - datu studija
Google mākonis - datu studija
Google mākonis - datu studija

Tad mēs izmantojam Data Studio, lai gūtu dažus ieskatus. Data Studio nolasīs datus no BigQuery tabulas. No grafikiem mēs redzam atšķirību starp 2 kategorijām telemetriju skaitā un vērtību summā minūtē. Pamatojoties uz šīm atziņām, mēs varam izveidot vienkāršu modeli, caurule tiek uzskatīta par bloķētu, ja trīs secīgu minūšu laikā telemetrijas vērtību skaits, kas ir augstāks par trokšņa slieksni (400), ir lielāks par 350 telemetrijām. un 3 secīgās minūtēs telemetrijas vērtības, kas ir augstākas par dzirksteles slieksni (720), ir vairāk nekā 10 telemetrijas.

10. solis: prognozēšanas posms

Prognozēšanas posms
Prognozēšanas posms

Mēs atsaucamies uz rādījumu, ja tas pārsniedz noteiktu vērtību (THRESHOLD_VALUE), kas tika iestatīta uz 350, kas filtrē troksni un samazina ūdens plūsmas ātrumu caurulē, un to nevar uzskatīt par rādījumu

Datu analīze parādīja, ka atvērtā režīmā rādījumu skaits ir mazāks par 100, bet aizsērēšanas režīmā vērtības ir daudz augstākas (sasniedza 900 minūtē), bet retos gadījumos bija arī mazākas par 100. Tomēr šie gadījumi neatkārtojas, un trīs secīgas minūtes kopējais nolasījumu skaits vienmēr pārsniedza 350. Ja atvērtā režīmā tās pašas trīs minūtes tiks apkopoti mazāk nekā 300, mēs varētu droši ievietot šo noteikumu: 1. noteikums. > 350, tad tiek konstatēts aizsērējums. Mēs atklājām, ka atvērtā režīmā sasniegtā maksimālā vērtība nepārsniedz noteiktu vērtību (SPARK_VALUE), kas ir 770, tāpēc mēs pievienojām šo noteikumu: 2. noteikums. Ja nolasīšanas vērtība ir> 350, lielākoties tiek konstatēts aizsērējums.

Apvienojot abus noteikumus, mēs saņēmām vienkāršu veidu, kā ieviest noteikšanas loģiku, kā parādīts attēlā. Ņemiet vērā, ka zemāk esošais kods tika izvietots Arduino, kas pēc tam novērtē saņemtās telemetrijas, pamatojoties uz mūsu modeli, un nosūta uz avenēm, ja caurule ir aizsērējusi vai atvērta.

11. darbība: kods

Visi Arduino, Raspberry & Cloud Function kodi ir atrodami vietnē Github.

Lai iegūtu vairāk informācijas, varat pārbaudīt šo saiti

Ieteicams: