Turinys:
- 1 žingsnis: eksperimentas
- 2 žingsnis: Aparatūra
- 3 veiksmas: „Google Cloud“- registracija
- 4 veiksmas: „Google Cloud“- pub/Sub
- 5 veiksmas: „Google Cloud“- „IOT Core“
- 6 veiksmas: „Google Cloud“- debesies funkcijos
- 7 veiksmas: „Google Cloud“- „Cloud DataStore“
- 8 veiksmas: „Google Cloud“- „BigQuery“
- 9 veiksmas: „Google Cloud“- „Data Studio“
- 10 žingsnis: prognozavimo etapas
- 11 žingsnis: kodas
Video: Drenažo užsikimšimo detektorius: 11 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Neleiskite, kad užsikimšęs kanalizacija jus sulėtintų! Grįžę iš mūsų atostogų, mane su žmona nustebino vanduo, dengiantis mūsų buto grindis, ir sužinojome, kad tai net ne švarus vanduo, o visur nutekėjęs vanduo. Išvalius kanalizaciją ir išvalius grindis, iškilo toks klausimas: kodėl neturime signalizacijos sistemos dėl galimų kanalizacijos užsikimšimų? Užsikimšę kanalizacija ne tik gali sustabdyti jūsų namus, bet ir sutaupys papildomų išlaidų iš jūsų kišenių, vidutiniškai 206 USD yra išlaidos užsikimšusiam kanalizacijai išvalyti, pasak „HomeAdvisor“, be paslėptų sugadintų kilimų, medinių baldų ir kt. Mūsų idėja yra leisti namų savininkams ir tokioms įmonėms, kaip miesto ir (arba) kompleksų priežiūros skyriai ir specializuoti paslaugų teikėjai turėti veiksmingą ir protingą sistemą, kuri kuo anksčiau įspėtų atsakingus asmenis imtis veiksmų, o tai prisidėtų prie išmaniųjų miestų praturtinimo svarbiu dalyku. ypatybė.
Nors užsikimšimus galima aptikti įvairiais metodais, pvz., Naudojant dujų jutiklius ar vidinius mechanizmus, mūsų komanda sutelkė dėmesį į tai, kad kaip įvestį naudotų garsą, nes žinome, kad beldimas į vamzdį, kuriame jis atidarytas, skiriasi nuo to, kas atsitiko kai uždaromas. Pagal šią paprastą koncepciją, jei galime išmokyti modelį garso modelius, atsirandančius ant vamzdžio paviršiaus užsikimšimų metu, taip pat tuos modelius, kurie atsiranda atidarytose vamzdžiuose, tada galime pritaikyti modelį, kad jis galėtų aktyviai aptikti, kada pradeda formuotis užsikimšimas, ir tada paskambinti kai kuriomis sąskaitomis.
Kreditai
- Mohamedas Hassanas
- Ahmedas Emas
Šiame projekte įgyvendinami 3 etapai: duomenų rinkimas, mokymasis ir prognozavimas.
Prieš pradėdami taikyti šią sistemą realiame gyvenime, turėjome sukurti priverstinę modeliavimo aplinką, kurioje turime vamzdį, tekantį vandenį ir kažkaip imituoti užsikimšimą. Taigi, mes gavome vamzdelį, vandens žarną su vandens šaltiniu, tai darydami vonioje, ir naudodami vonios paviršių uždaryti vamzdelį, kuris reiškia užsikimšimą. Šiame vaizdo įraše paaiškiname, kaip sukūrėme aplinką ir kaip surinkome duomenis modelio mokymui.
Ir šiame kitame vaizdo įraše, parodančiame, kaip mes atlikome sistemos ir modelio bandymus atviru režimu, tada užkimšimo režimu ir atgal į atvirą režimą
Taigi, žingsnis po žingsnio panagrinėkime mūsų įgyvendinimą:
1 žingsnis: eksperimentas
Šiuo atveju mes naudojame mažą vandens vamzdį, prijungtą prie mūsų aparatūros ir garso jutiklio. Aparatūra nuskaito jutiklio vertę ir siunčia ją atgal į „Cloud“. Tai buvo padaryta 10 minučių užblokuotam vamzdžiui, tada dar 10 minučių - neužblokuotam vamzdžiui.
2 žingsnis: Aparatūra
Aš- Arduino
Norint aptikti vandens garsą vamzdžio viduje, mums reikia garso jutiklio. Tačiau „Raspberry Pi 3“neturi analoginio GPIO. Norėdami išspręsti šią problemą, naudojame „Arduino“, nes „Arduino“turi analoginį GPIO. Taigi mes prijungiame „Grove Sound“jutiklį prie „Grove Arduino“skydo ir prijungiame „Shield“prie „Arduino UNO 3.“Tada prijungiame „Arduino & Raspberry“naudodami USB kabelį. Norėdami gauti daugiau informacijos apie „Grove Sound“jutiklį, galite patikrinti jo duomenų lapą. Duomenų lape galite rasti pavyzdinį kodą, kaip nuskaityti jutiklio vertes. Pavyzdinis kodas beveik naudojamas mažiems pakeitimams. Žemiau esančiame kode mes prijungiame jutiklį prie A0 skydelyje. Norėdami rašyti serijiniu būdu, naudojame funkciją Serial.begin (). Norint bendrauti su „Raspberry“duomenų perdavimo sparta, nustatyta kaip 115200, „Raspberry“bus siunčiami duomenys, jei jis yra didesnis nei tam tikra riba, kad būtų sumažintas triukšmas. Buvo atlikta daug bandymų, kad būtų pasirinktos norimos slenksčio ir uždelsimo vertės. Nustatyta, kad slenkstis yra 400, o atidėjimo vertė - 10 milisekundžių. Slenkstis pasirinktas norint filtruoti įprastą triukšmą ir užtikrinti, kad į debesį būtų siunčiami tik prasmingi duomenys. Užlaikymas buvo pasirinktas toli, kad būtų užtikrinta, jog jutiklis nedelsdamas aptinka bet kokius srauto garso pokyčius vamzdžio viduje.
II- Raspberry Pi 3 Jei norite atsisiųsti „Android“failus iš Raspberry, galite atsisiųsti naujausią versiją iš „Android Things Console“. Šiame projekte naudojame versiją: OIR1.170720.017. atlikite „Raspberry“svetainės veiksmus, kad įdiegtumėte operacinę sistemą „avietėje“, „Windows“galite naudoti šiuos veiksmus. Įdiegę galite prijungti „Raspberry“prie kompiuterio naudodami USB. Tada kompiuterio konsolėje naudokite žemiau esančią komandą, kad gautumėte Raspberry IP
nmap -sn 192.168.1.*
Gavę IP, prisijunkite prie „Raspberry“naudodami žemiau esančią komandą
adb prisijungti
Norėdami prijungti „Raspberry“prie „Wifi“(pridėkite SSID ir slaptažodį)
adb am startservice
-n com.google.wifisetup/. WifiSetupService
-a „WifiSetupService. Connect“
-e ssid *****
-slaptafrazė ****
3 veiksmas: „Google Cloud“- registracija
„Google“siūlo nemokamą pakopą visiems vartotojams vieneriems metams, kurių viršutinė riba yra 300 USD, ačiū „Google“:). Sekite ekranus, kad sukurtumėte naują projektą „Google Cloud“
4 veiksmas: „Google Cloud“- pub/Sub
„Google Cloud Pub/Sub“yra visiškai valdoma realaus laiko pranešimų paslauga, leidžianti siųsti ir gauti pranešimus tarp nepriklausomų programų.
5 veiksmas: „Google Cloud“- „IOT Core“
II- „IOT CoreA“visiškai valdoma paslauga, skirta lengvai ir saugiai prijungti, valdyti ir priimti duomenis iš visame pasaulyje išsklaidytų įrenginių. „IOT Core“vis dar yra beta versija, kad galėtumėte ją pasiekti, turite pateikti „Google“užklausą su pagrindimu. Mes pateikėme prašymą, mūsų pateisinimas buvo šis konkursas. „Google“patvirtino, ačiū „Google“dar kartą:). „Raspberry“siųs jutiklio duomenis į „IOT Core“, kuri persiųs rodmenis į „PubSub“temą, sukurtą ankstesniame žingsnyje
6 veiksmas: „Google Cloud“- debesies funkcijos
„Cloud Functions“yra aplinka be serverių, skirta kurti ir prijungti debesies paslaugas. Šios funkcijos paleidiklis yra „PubSup“tema, sukurta atliekant 1 veiksmą.;; Ši funkcija bus suaktyvinta, kai „PubSup“parašys naują vertę ir įrašys ją į „Cloud DataStore“su rūšimi „SoundValue“
7 veiksmas: „Google Cloud“- „Cloud DataStore“
„Google Cloud Datastore“yra „NoSQL“dokumentų duomenų bazė, sukurta automatiniam mastelio keitimui, dideliam našumui ir paprastam programų kūrimui. Nors „Cloud Datastore“sąsaja turi daug tų pačių funkcijų, kaip ir tradicinės duomenų bazės, kaip „NoSQL“duomenų bazė ji skiriasi nuo jų tuo, kaip apibūdina ryšius tarp duomenų objektų. Nereikia jokių sąrankų, nes kai „Cloud Functions“įrašys jutiklio reikšmes į „DataStore“, duomenys bus pridėti prie „DataStore“
8 veiksmas: „Google Cloud“- „BigQuery“
Mes paimame mėginį 10 minučių nuo įprasto vamzdžio ir 10 minučių nuo užblokuoto vamzdžio, o skirtumas tarp 1 kartojimo yra lygiai 1 valanda. Atsisiuntę duomenis „DataStore“ir atlikite tam tikras manipuliacijas, kad pridėtumėte kiekvienos eilutės klasifikaciją. Dabar turime 2 csv failus po vieną kiekvienai kategorijai. Kaip geriausia praktika, pirmiausia įkelkite CSV failus į „Cloud Storage“. Žemiau esančiame ekrane sukuriame naują grupę ir įkeliame 2 CSV failus naują stalą
9 veiksmas: „Google Cloud“- „Data Studio“
Tada mes naudojame „Data Studio“, kad sudarytume įžvalgas. „Data Studio“skaitys duomenis iš „BigQuery“lentelės. Iš grafikų matome skirtumą tarp 2 kategorijų telemetrijos skaičiaus ir verčių sumos per minutę. Remdamiesi šiomis įžvalgomis, galime sukurti paprastą modelį, vamzdis laikomas užblokuotu, jei per 3 minutes iš eilės telemetrijos verčių, kurios yra didesnės nei triukšmo riba (400), skaičius yra didesnis nei 350 telemetrijų. ir per 3 minutes iš eilės telemetrijos vertės, didesnės už kibirkšties slenkstį (720), yra daugiau nei 10 telemetrijos.
10 žingsnis: prognozavimo etapas
Turime omenyje rodmenis, kai jis viršija tam tikrą vertę (THRESHOLD_VALUE), kuri buvo nustatyta į 350 ir kuri filtruoja triukšmą ir mažina vandens srautą vamzdyje, o ne laikoma rodmeniu
Duomenų analizė parodė, kad atviruoju režimu rodmenų skaičius yra mažesnis nei 100, tačiau užkimšimo režimu reikšmės yra daug didesnės (pasiekė 900 per minutę), tačiau retais atvejais taip pat buvo mažesnės nei 100. Tačiau šie atvejai dėl to nepasikartoja, o tris minutes iš eilės bendras rodmenų skaičius visada viršijo 350. Jei atidarius režimą per tas pačias tris minutes, suma bus mažesnė nei 300, galėtume užtikrintai išdėstyti šią taisyklę: 1 taisyklė. > 350, tada aptinkamas užsikimšimas. Mes nustatėme, kad didžiausia pasiekta vertė atviruoju režimu neviršija tam tikros vertės (SPARK_VALUE), kuri, kaip nustatyta, yra 770, todėl pridėjome šią taisyklę: 2 taisyklė. Jei skaitymo vertė> 350, dažniausiai aptinkamas užsikimšimas.
Sujungus abi taisykles, atsirado paprastas būdas įgyvendinti aptikimo logiką, kaip parodyta. Atkreipkite dėmesį, kad žemiau esantis kodas buvo įdiegtas „Arduino“, kuris tada įvertina gautas telemetrijas pagal mūsų modelį ir siunčia avietėms, jei vamzdis užsikimšęs ar atidarytas.
11 žingsnis: kodas
Visą „Arduino“, „Raspberry“ir „Cloud Function“kodą galite rasti „Github“.
Norėdami gauti daugiau informacijos, galite patikrinti šią nuorodą
Rekomenduojamas:
Dūmų detektorius: 13 žingsnių
Dūmų detektorius: Sveiki draugai, šiandien pažiūrėkime apie dūmų detektorių Daugelis iš jūsų nuėjo į prekybos centrus prekybos centruose, daugiausia galite pamatyti šį prietaisą, vadinamą dūmų detektoriumi, jis aptiks dūmus ir įjungs purkštuvą bei sustabdys ugnį. Tačiau šiame projekte tai yra nedidelis pokytis vietoj to
Kontaktinis įtampos detektorius: 15 žingsnių (su nuotraukomis)
Bekontaktis įtampos detektorius: 3 būdai, kaip sukurti savo bekontaktį įtampos detektorių, kainuojantį mažiau nei doleris todėl dirbant pirmiausia turi būti saugumas
Kolibrio detektorius/nuotraukų darykla: 12 žingsnių (su nuotraukomis)
Kolibrio detektorius/paveikslų darytojas: ant nugaros denio turime kolibrio tiektuvą ir pastaruosius porą metų aš juos fotografuoju. Kolibriai yra nuostabios mažos būtybės, labai teritorinės ir jų kovos gali būti linksmos ir nuostabios. Bet aš pavargau
Nešiojamasis radiacijos detektorius: 10 žingsnių (su nuotraukomis)
Nešiojamasis spinduliuotės detektorius: tai pamoka, skirta projektuoti, konstruoti ir išbandyti savo nešiojamąjį silicio fotodiodo radiacijos detektorių, tinkamą 5keV-10MeV aptikimo diapazonui, kad būtų galima tiksliai nustatyti mažos energijos gama spindulius, sklindančius iš radioaktyviųjų šaltinių! Atkreipkite dėmesį, jei
Miesto žvalgybos detektorius: 11 žingsnių (su nuotraukomis)
Miesto žvalgybos detektorius: Projektas, vadinamas miesto tyrėju, iš esmės yra modifikuotas metalo detektorius, aprūpintas degiųjų dujų jutikliu, kurį galima pastatyti už mažiau nei 100 dolerių. Nuskaitydami savo kaimynystės paviršių, galėsite nustatyti kišenes