Përmbajtje:

Detektor i bllokimit të kullimit: 11 hapa (me fotografi)
Detektor i bllokimit të kullimit: 11 hapa (me fotografi)

Video: Detektor i bllokimit të kullimit: 11 hapa (me fotografi)

Video: Detektor i bllokimit të kullimit: 11 hapa (me fotografi)
Video: Aeroportit te Kukesit s’i punon sistemi i kullimit, përmbyten tokat dhe bizneset perreth 2024, Nëntor
Anonim
Image
Image

Mos lejoni që një kanal i bllokuar t'ju ngadalësojë! Duke u kthyer nga pushimet tona, unë dhe gruaja ime ishim të befasuar nga uji që mbulonte dyshemenë e banesës sonë, dhe ne zbuluam se nuk është as ujë i pastër, por ai kullohet kudo. Pas pastrimit të kullimit dhe pastrimit të dyshemesë, pata këtë pyetje: pse nuk kemi një sistem alarmi për bllokimet e mundshme të kullimit? Kullonet e bllokuara jo vetëm që mund të ndalojnë shtëpinë tuaj, por do të konsumojnë kosto shtesë nga xhepat tuaj, mesatarisht 206 dollarë është kosto e pastrimit të një kullimi të bllokuar sipas HomeAdvisor, përveç kostove të fshehura të qilimave të dëmtuar, mobiljeve prej druri, … etj. Ideja jonë është që të lejojmë pronarët e shtëpive, si dhe ndërmarrjet si departamentet e mirëmbajtjes së qytetit/komplekseve dhe ofruesit e shërbimeve të specializuara të kenë një sistem efikas dhe inteligjent që paralajmëron këdo që është përgjegjës sa më shpejt të jetë e mundur të ndërmarrë veprime, gjë që kontribuon në pasurimin e qyteteve të zgjuara me një veçori.

Megjithëse zbulimi i bllokimeve mund të bëhet përmes një sërë teknikash, si përdorimi i sensorëve të gazit ose mekanizmave të brendshëm, ekipi ynë u përqëndrua në përdorimin e zërit si inputin tonë, pasi e dimë se trokitja në një tub ku hapet është tingull i ndryshëm nga ai që ndodhi kur mbyllet. Sipas këtij koncepti të thjeshtë, nëse ne mund të stërvitim një model modelet e zërit që ndodhin në sipërfaqen e tubit gjatë bllokimeve, si dhe ato modele ndodhin në tubat e hapur, atëherë ne mund të aplikojmë modelin për të zbuluar në mënyrë proaktive kur fillon të krijojë një bllokim, dhe ne pastaj tingëllojnë disa fatura.

Kredite për

  • Mohamed Hassan
  • Ahmed Emam

Projekti në detaje3 faza janë zbatuar në këtë projekt: Mbledhja e të dhënave, Mësimi dhe parashikimi.

Para se të aplikonim këtë sistem në jetën reale, na duhej të krijonim një mjedis simulimi të detyruar, ku kemi tubin, ujin që rrjedh, dhe në një farë mënyre të simulojmë bllokimin. Pra, ne morëm një tub, një zorrë uji me një burim uji që e bën këtë në vaskën e vaskës dhe duke përdorur sipërfaqen e vaskës për të mbyllur tubin i cili përfaqëson bllokimin. Në këtë video, ne shpjegojmë se si e kemi ndërtuar mjedisin dhe si i kemi mbledhur të dhënat për trajnimin model.

Dhe në këtë video të radhës, duke treguar se si e bëmë testimin për sistemin dhe modelin, në modalitetin e hapur, pastaj në modalitetin e bllokimit dhe përsëri në modalitetin e hapur, megjithatë

Pra, le të eksplorojmë zbatimin tonë hap pas hapi:

Hapi 1: Eksperimenti

Eksperimenti
Eksperimenti
Eksperimenti
Eksperimenti
Eksperimenti
Eksperimenti
Eksperimenti
Eksperimenti

Në këtë skenar ne përdorim një tub të vogël uji të lidhur me pajisjen tonë dhe sensorin e zërit. Hardware lexon vlerën e sensorit dhe e dërgon atë në Cloud. Kjo është bërë për 10 minuta për tubin e bllokuar, pastaj edhe 10 minuta për tubin që nuk është i bllokuar.

Hapi 2: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

I- Arduino

Për të zbuluar tingullin e ujit brenda tubit na duhet një sensor zëri. Sidoqoftë, Raspberry Pi 3 nuk ka GPIO Analog. Për të trajtuar këtë çështje ne përdorim Arduino pasi Arduino ka GPIO analoge. Pra, ne lidhim sensorin Grove Sound me mburojën Grove Arduino dhe lidhim Shield me Arduino UNO 3. Pastaj lidhim Arduino & Raspberry duke përdorur kabllo USB. Për të marrë më shumë informacion në lidhje me sensorin Grove Sound, mund të kontrolloni fletën e të dhënave të tij. Ju mund të gjeni në fletën e të dhënave një shembull të kodit se si të lexoni vlerat e sensorit. Kodi Shembull është pothuajse në përdorim për ndryshime të vogla. Në kodin e mëposhtëm ne lidhim sensorin me A0 në mburojë. Për të shkruar në serial, ne përdorim funksionin Serial.begin (). Për të komunikuar me Raspberry baud norma e vendosur në 115200 Të dhënat do t'i dërgohen Raspberry nëse është më e madhe se pragu i caktuar për të ulur zhurmën Shumë prova janë bërë për të zgjedhur pragjet e dëshiruara dhe vlerat e vonesës. Pragu u gjet të jetë 400 dhe Vlera e vonesës të jetë 10 milisekonda. Pragu është zgjedhur për të filtruar zhurmën normale dhe për të siguruar që vetëm të dhëna domethënëse do të dërgohen në re. Vonesa është zgjedhur larg për të siguruar që sensori të ketë zbuluar çdo ndryshim në tingullin e rrjedhës brenda tubit menjëherë.

II- Raspberry Pi 3Për të shkarkuar gjëra android në Raspberry, mund të shkarkoni versionin më të fundit nga Android Things Console. Në këtë projekt ne përdorim versionin: OIR1.170720.017. ndiqni hapat në faqen e Raspberry për të instaluar sistemin operativ në mjedër, për Windows mund t'i përdorni këto hapa Pas instalimit mund të lidhni Raspberry me kompjuterin tuaj duke përdorur USB. Pastaj në tastierën e kompjuterit tuaj përdorni komandën më poshtë për të marrë Raspberry IP

nmap -sn 192.168.1.*

Pasi të keni marrë IP, lidheni me Raspberry tuaj duke përdorur komandën më poshtë

lidh adb

Për të lidhur Raspberry tuaj me Wifi (shtoni SSID dhe fjalëkalimin tuaj)

adb am startservice

-n com.google.wifisetup/. WifiSetupService

-a WifiSetupService. Lidhu

-e ssid *****

-e fraza kalimi ****

Hapi 3: Google Cloud - Regjistrimi

Google Cloud - Regjistrimi
Google Cloud - Regjistrimi
Google Cloud - Regjistrimi
Google Cloud - Regjistrimi
Google Cloud - Regjistrimi
Google Cloud - Regjistrimi
Google Cloud - Regjistrimi
Google Cloud - Regjistrimi

Google ofron një nivel falas për të gjithë përdoruesit për një vit me tavan prej 300 $, Faleminderit Google:). Ndiqni ekranet për të krijuar projekt të ri në Google Cloud

Hapi 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 është një shërbim i mesazheve në kohë reale i menaxhuar plotësisht që ju lejon të dërgoni dhe merrni mesazhe midis aplikacioneve të pavarura.

Hapi 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 shërbim i menaxhuar plotësisht për të lidhur me lehtësi dhe siguri, menaxhimin dhe marrjen e të dhënave nga pajisjet e shpërndara globalisht. IOT Core ende Beta, për të pasur qasje në të duhet të bëni një kërkesë me Arsyetim për Google. Ne bëmë kërkesën, justifikimi ynë ishte ky konkurs. Google u miratua, Faleminderit Google përsëri:). Raspberry do të dërgojë të dhëna të sensorit në IOT Core i cili do të përcjellë leximet në temën PubSub të krijuar në hapin e mëparshëm

Hapi 6: Google Cloud - Funksionet Cloud

Google Cloud - Funksionet Cloud
Google Cloud - Funksionet Cloud
Google Cloud - Funksionet Cloud
Google Cloud - Funksionet Cloud

Funksionet Cloud është një mjedis pa server për të ndërtuar dhe lidhur shërbimet cloud. Nxitësi për këtë funksion është tema PubSup që krijohet në hapin 1.;; Ky funksion do të aktivizohet kur vlera e re të shkruhet në PubSup dhe të shkruhet në Cloud DataStore me llojin "SoundValue"

Hapi 7: Google Cloud - Cloud DataStore

Google Cloud Datastore është një bazë të dhënash dokumentesh NoSQL e krijuar për shkallëzim automatik, performancë të lartë dhe lehtësi të zhvillimit të aplikacionit. Ndërsa ndërfaqja Cloud Datastore ka shumë të njëjtat karakteristika si bazat e të dhënave tradicionale, si një bazë të dhënash NoSQL ndryshon prej tyre në mënyrën se si përshkruan marrëdhëniet midis objekteve të të dhënave. Nuk ka nevojë për ndonjë konfigurim pasi pasi Funksionet Cloud të shkruajnë vlerat e sensorit në DataStore, të dhënat do të shtohen në DataStore

Hapi 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

Ne mbledhim një mostër 10 min nga tubi normal dhe 10 min nga tubi i bllokuar me diferencë saktësisht 1 orë midis 2 përsëritjeve. Pas shkarkimit të të dhënave DataStore dhe bëni disa manipulime për të shtuar klasifikimin për secilën rresht. Tani kemi 2 skedarë csv një për secilën kategori. Si praktika më e mirë, ngarkoni të dhënat e skedarëve CSV së pari në Cloud Storage. Në ekranin e mëposhtëm ne krijojmë një kovë të re dhe ngarkojmë 2 skedarë CSVs Meqenëse kjo kovë do të përdoret vetëm për analiza, nuk ka nevojë të zgjidhni kovë shumë-rajonale Pastaj krijoni të dhëna të reja dhe tabelë të re në BigQuery dhe ngarkoni skedarin 2 CSV nga kova në tavolina e re

Hapi 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

Pastaj ne përdorim Data Studio për të nxjerrë disa njohuri. Data Studio do të lexojë të dhëna nga tabela BigQuery. Nga grafikët mund të shohim ndryshimin midis 2 kategorive në numrin e telemetrisë dhe shumës së vlerave në minutë. Bazuar në këto njohuri ne mund të hartojmë një model të thjeshtë, tubi konsiderohet i bllokuar nëse në 3 minuta rresht, numërimi i vlerave të telemetrisë që janë më të larta se pragu i zhurmës (400) është më shumë se 350 telemetri. dhe në 3 minuta rresht, numërimi i vlerës së telemetrisë që është më i lartë se pragu i shkëndijës (720) është më shumë se 10 telemetri.

Hapi 10: Faza e Parashikimit

Faza e Parashikimit
Faza e Parashikimit

Ne i referohemi një leximi, kur tejkalon një vlerë të caktuar (THRESHOLD_VALUE) e cila ishte vendosur në 350 që filtron zhurmën dhe normat më të ulëta të rrjedhjes së ujit në tub, nga konsiderimi si një lexim

Analiza e të dhënave tregoi se në modalitetin e hapur numri i leximeve është më pak se 100, por në modalitetin e bllokimit, vlerat janë shumë më të larta (arritën në 900 në minutë), por në raste të rralla ishin gjithashtu më pak se 100. Megjithatë, këto raste nuk përsëriten rrjedhimisht, dhe për tre minuta pasuese, numri i përgjithshëm i leximeve gjithmonë tejkalonte 350. Duke pasur modalitetin e hapur në të njëjtat tre minuta do të përmblidhen më pak se 300, ne mund ta vendosim me besim këtë rregull: Rregulli # 1 Për tre minuta në një të parë, nëse leximet totale > 350, atëherë zbulohet një bllokim. Ne zbuluam se vlera maksimale e arritur në modalitetin e hapur nuk tejkalon një vlerë të caktuar (SPARK_VALUE) e cila është gjetur të jetë 770, kështu që ne shtuam këtë rregull: Rregulli # 2 Nëse vlera e leximit> 350, atëherë një bllokim zbulohet kryesisht.

Kombinimi i të dy rregullave, na dha një mënyrë të lehtë për të zbatuar logjikën e zbulimit, siç tregohet. Vini re se kodi më poshtë është vendosur në Arduino i cili më pas vlerëson telemetritë e marra bazuar në modelin tonë dhe e dërgon në mjedër nëse tubi është i bllokuar ose i hapur.

Hapi 11: Kodi

I gjithë Kodi për funksionin Arduino, mjedër dhe re mund të gjendet në Github.

Për më shumë informacion mund të kontrolloni këtë lidhje

Recommended: