Përmbajtje:

IDC2018IOT GarbageCan-Online: 7 hapa
IDC2018IOT GarbageCan-Online: 7 hapa

Video: IDC2018IOT GarbageCan-Online: 7 hapa

Video: IDC2018IOT GarbageCan-Online: 7 hapa
Video: Днестр- от истока до моря Часть 7 Монологи на реке Сплав по реке 2024, Korrik
Anonim
Image
Image
Pjesët e kërkuara
Pjesët e kërkuara

Prezantimi

Të gjithë e dinë se çfarë ndodh kur i lëmë plehrat në koshin e plehrave për një kohë të gjatë pa i hequr ato. Epo, gjëja më e qartë është se nuk ka vend për më shumë plehra, por gjithashtu fillon të erë e keqe, dhe bëhet shumë e pakëndshme.

Me këtë projekt, ne synojmë t'ju ndihmojmë të monitoroni kazanët tuaj të plehrave rreth shtëpisë / hapësirës së punës / etj, kështu që ju gjithmonë mund të dini kur ato janë të mbushura dhe mund të ndërmerrni veprime të menjëhershme duke i nxjerrë plehrat jashtë.

Sistemi do t'ju paralajmërojë me njoftimin e telefonit ose alarmin e pultit se duhet të zbrazni koshin e plehrave. Sistemi merr parasysh nivelin e plotësisë së kazanit të plehrave, por edhe temperaturën dhe lagështinë e matur brenda tij. Ne të gjithë jemi të njohur me urgjencën e zbrazjes së koshave të plehrave në ditë të nxehta dhe të lagështa…

Karakteristikat kryesore

  1. Paneli i monitorimit:

    • Seksioni kryesor:

      • Niveli i plotësisë së secilës kazan plehrash.
      • Temperatura dhe lagështia e secilës kazan plehrash.
    • Seksioni i Statistikave:

      • Koshi më i plotë i plehrave.
      • Koshi më i nxehtë i plehrave.
  2. Sistemi i njoftimeve dhe njoftimeve:

    • Ngjarjet e mëposhtme mbështeten:

      • Koshi i plehrave është plot.
      • Ndodhi një gabim i sensorit.
    • Sinjalizimet e plotësisë marrin parasysh nivelin e plotësisë së kazanit të plehrave, por edhe temperaturën dhe nivelet e lagështisë së kazanit të plehrave.
    • Sinjalizimet mund të dërgohen përmes njoftimeve të telefonit dhe sinjalizimeve të pultit.
    • Çdo kanal alarmi mund të ndizet dhe çaktivizohet përmes pultit.
  3. Shkallëzueshmëria:

    • Duke përdorur butonin e kalibrimit, është e mundur të rregulloni sistemin në kanaçe të ndryshme plehrash me kapacitete të ndryshme.
    • Relativelyshtë e mundur të shtoni relativisht lehtë më shumë kanaçe plehrash. Dikush mund të mbledhë të njëjtin sistem në një kazan të ri plehrash, të vendosë ID -në e koshit të plehrave dhe ta kalibrojë atë (shtypja e një butoni). Të kesh më shumë se 3 kanaçe plehrash do të kërkojë shtrirjen e Panelit (detyrë e lehtë për t'u kryer).

Kush jemi ne?

Ky projekt u krijua (me dashuri dhe përkushtim!) Nga Rom Cyncynatus dhe Daniel Alima - Studentë të IDC Herzliya si një projekt përfundimtar për kursin tonë IoT. Shpresojmë që ju do ta gjeni punën tonë të dobishme dhe do të kënaqeni duke e përdorur atë!

Hapi 1: Pjesët e kërkuara

Për të ndërtuar sistemin, do të keni të blini komponentët dhe pjesët e mëposhtme:

  1. Koshi i plehrave (mundësisht me kapak): Kjo do të përdoret për … mirë.. e dini se çfarë do të bëjmë me këtë, eh?;)
  2. Breadboard: Për të lidhur të gjithë përbërësit e ndryshëm pa përdorur asnjë bashkim.
  3. NodeMCU (ESP-8266): Ngarkuar për leximin e sensorëve dhe dërgimin e informacionit në re.
  4. Sensori i distancës IR - Sharp 0A41SK: Ky sensor do të masë sasinë e mbeturinave (niveli i plotësisë) brenda kanaçes.
  5. Sensori i temperaturës dhe lagështisë - DHT11: Ky sensor do të masë temperaturën dhe lagështinë brenda kazanit të plehrave.
  6. Ndërrimi momental: Do të përdoret për të kalibruar sensorin e distancës sipas madhësisë së kazanit të plehrave.
  7. Petë alumini: Do të përdoret për të formuar një detektor për gjendjen e kapakut - pavarësisht nëse është hapur ose mbyllur.
  8. Telat e kërcyesit: Merrni mjaft, dhe në gjatësi dhe ngjyra të ndryshme. Do të lidhë gjithçka së bashku.
  9. Kaseta e kanalit: Ne do të duhet t'i bashkojmë gjërat në vend.
  10. Kabllo Micro-USB: Për të lidhur NodeMCU me kompjuterin tuaj për programim, dhe më vonë për një furnizim me energji.
  11. Furnizimi me energji USB (ngarkues smartphone): Do t'i japë energji NodeMCU kur instalohet në koshin e plehrave.

Hapi 2: Instalimi dhe montimi

Instalime dhe montim
Instalime dhe montim
Instalime dhe montim
Instalime dhe montim
Instalime dhe montim
Instalime dhe montim

Instalime elektrike

Vendoseni NodeMCU në tabelën e bukës në mënyrë që të jetë e përshtatshme ta lidhni më vonë në koshin tuaj të plehrave dhe lidhni kabllon USB me të. Pastaj, konsultohuni me figurën e diagramit të instalimeve elektrike për të lidhur përbërësit e ndryshëm me NodeMCU. Sigurohuni që të përdorni tela të gjatë për sensorët dhe telat e statusit, kështu që do të jetë i përshtatshëm për të instaluar sistemin dhe për të përdorur koshin e plehrave me të.

  • Sensori i distancës IR - Sharp 0A41SK:

    • Vin (e Kuqe) Vin
    • GND (E zezë) GND
    • Vout (e verdhë) A0
  • Sensori i temperaturës dhe lagështisë - DHT11:

    • Vin (e Kuqe) 3V3
    • GND (E zezë) GND
    • T D DHNA (E verdhë) D4
  • Ndërrimi momental:

    • Pin1 D3
    • Pin2 GND
  • Telat e gjendjes së kapakut (hapni / mbyllni):

    • Tela1 D2
    • Teli 2 GND

Kuvendi

Montimi i sistemit në koshin e plehrave është mjaft i thjeshtë. Bashkangjitni Breadboard në koshin e plehrave, mundësisht afër kapakut. Përdorni ose shirit ose lidhës kabllor për ta siguruar atë në vend. Pastaj:

  1. Vendoseni sensorin e distancës IR në mes të kapakut (nga ana e brendshme!). Sigurohuni që ta siguroni siç duhet, përndryshe do të hasni në lexime të rreme!
  2. Vendoseni sensorin e temperaturës dhe lagështisë diku brenda kazanit të plehrave. Sigurohuni me shirit.
  3. Mbuloni anën e kapakut dhe majën e kazanit të plehrave me letër alumini. Sigurohuni që të ketë kontakt të mirë kur kapaku është i mbyllur. Kjo do të sinjalizojë sistemin se kosha e plehrave është hapur ose mbyllur. Pastaj ngjitni secilën prej telave të gjendjes së kapakut në një nga fletët e aluminit dhe sigurojini me shirit.

Hapi 3: Vendosni MQTT, Node-RED dhe IFTTT

Vendosni MQTT, Node-RED dhe IFTTT
Vendosni MQTT, Node-RED dhe IFTTT
Vendosni MQTT, Node-RED dhe IFTTT
Vendosni MQTT, Node-RED dhe IFTTT
Vendosni MQTT, Node-RED dhe IFTTT
Vendosni MQTT, Node-RED dhe IFTTT

Shumica e logjikës së projektit zbatohet në të vërtetë në cloud. NodeMCU i dërgon të dhënat në serverin MQTT, dhe Node-RED i konsumon ato dhe aplikon logjikën e tij në të (më shumë për arkitekturën përpara). Së fundmi, për të transmetuar njoftimet push (alarmet) në smartphone -in tonë, ne përdorëm IFTTT.

Ne do të përdorim shërbimet cloud CloudMQTT dhe FRED si serverët tanë MQTT dhe Node-RED respektivisht, dhe do të përdorim IFTTT për njoftimet shtytëse.

  1. Regjistrohuni në CloudMQTT me planin falas. Vini re kredencialet tuaja në serverin MQTT (emri i përdoruesit dhe fjalëkalimi).
  2. Regjistrohuni në IFTTT. Krijoni një aplet të ri të "Njoftimit të aplikacionit Webhooks IFTTT". Përdorni "Njoftimin e telefonit celular" si emri i ngjarjes WebHookds. Konsultohuni me imazhin e mësipërm për detajet e imëta. Vini re çelësin tuaj API të krijuesit.
  3. Shkarkoni aplikacionin IFTTT në telefonin tuaj dhe regjistrohuni me kredencialet tuaja. Kjo do t'ju lejojë të merrni njoftime push.
  4. Regjistrohuni në FRED me planin falas.
  5. Pasi ta keni ekzekutuar shembullin FRED, importoni prurjet e bashkangjitura në të (butoni 3 shirita Importo nga kujtesa). Thjesht ngjitni përmbajtjen e secilit skedar (widgest.json, alerts.json, statistics.json) dhe importojeni atë.
  6. Ndryshoni një nga nyjet MQTT (njëra është e mjaftueshme) për të përditësuar kredencialet tuaja CloudMQTT.
  7. Redaktoni nyjen IFTTT për të azhurnuar çelësin tuaj API të krijuesit IFTTT.

Hapi 4: Programoni Kalibrimin e NodeMCU dhe Kapacitetit të Garbage Can

Pasi të kemi lidhur gjithçka, ne duhet të programojmë NodeMCU me softuerin e duhur (skicë) në mënyrë që ai në të vërtetë të përdorë të gjitha gjërat që janë të lidhura me të dhe të komunikojë me internetin.

  1. Shkarkoni dhe instaloni Arduino IDE nga këtu.
  2. Instaloni dhe vendosni llojin e bordit NodeMCU siç shpjegohet në fillim të udhëzimeve të mëposhtme.
  3. Instaloni bibliotekat e mëposhtme (Sketch Include Library Library Manage Bibliotekat …):

    1. Biblioteka Adafruit MQTT (nga Adafruit)
    2. Biblioteka e sensorit DHT (Nga Adafruit)
    3. SharpIR (nga Giuseppe Masino)
    4. EEPROMA çdo gjë - shpjegim këtu.
  4. Hapni skedarin GarbageCanOnline.ino dhe përditësoni sa vijon:

    1. Kredencialet tuaja WiFi (WLAN_SSID, WLAN_PASS)
    2. Kredencialet tuaja CloudMQTT (MQTT_USERNAME, MQTT_PASSWORD)
    3. Nëse kjo është një kosh plehrash i dytë ose më shumë, ndryshoni ID -në e koshit të plehrave (GARBAGECAN_ID)
  5. Ngarko skicën e përditësuar në NodeMCU tuaj.
  6. Hapni dritaren e monitorit serik (Ctrl+M) dhe sigurohuni që ai arrin të publikojë të dhënat e sensorëve në CloudMQTT.
  7. Tani, kur kapaku është i mbyllur dhe koshi i plehrave është bosh, shtypni gjatë butonin e kalibrimit për të kalibruar kapacitetin e kazanit të plehrave.
  8. Koshi i plehrave është gati. Ju mund ta shkëputni atë nga kompjuteri juaj dhe ta lidhni atë në vendin e tij të caktuar duke përdorur furnizimin me energji USB.

Hapi 5: Përdorimi i sistemit

Përdorimi i Sistemit
Përdorimi i Sistemit
Përdorimi i Sistemit
Përdorimi i Sistemit
Duke përdorur Sistemin
Duke përdorur Sistemin

Nëse keni arritur deri këtu, gjithçka duhet të funksionojë. Le të bëjmë një përmbledhje të shpejtë të aspekteve të ndryshme të përdorimit të sistemit.

Supozojmë se keni vetëm një kosh plehrash të lidhur, por është e lehtë të shtoni më shumë më vonë!

Së pari, vini re pultin kryesor. Ju duhet të jeni në ekranin bazë, duke parë plotësinë e kazanit të plehrave, temperaturën dhe nivelet e lagështisë. Mund të kontrolloni njoftimet e telefonit dhe sinjalizimet e Panelit duke përdorur çelsat në të majtë.

Kur sasia e mbeturinave brenda kazanit të plehrave ndryshon, ju do të shihni që matësi ndryshon në përputhje me rrethanat. Kjo vlen edhe për grafikët e temperaturës dhe lagështisë.

Kur niveli i plotësisë arrin 85% -90% (pragu i saktë varet nga temperatura dhe lagështia), ose ndodh një gabim i sensorit, do të merrni një njoftim nëpërmjet metodës (ve) tuaj të preferuar. Ju do të njoftoheni një herë në orë për një kosh plehrash.

Në pamjen e Statistikave, do të keni mundësi të shihni koshin e plehrave aktualisht më të plotë, dhe atë më të nxehtë. Titull jo lajkatues, nëse mund të themi…

Hapi 6: Kuptimi i Rrjedhes

Kuptimi i Rrjedhes
Kuptimi i Rrjedhes
Kuptimi i Rrjedhes
Kuptimi i Rrjedhes
Kuptimi i Rrjedhes
Kuptimi i Rrjedhes
Kuptimi i Rrjedhes
Kuptimi i Rrjedhes

Siç e keni vënë re ndoshta deri tani, sistemi ka shumë "pjesë lëvizëse". Ne do të përpiqemi të sqarojmë se si gjërat janë të lidhura me njëra -tjetrën.

Së pari, ne kemi koshin tonë të plehrave me NodeMCU dhe sensorët e tij. Ne mund të kemi shumë nga këto - thjesht "kopje" të njëri -tjetrit.

NodeMCU mat sensorët e ndryshëm të vendosur në koshin e plehrave dhe publikon të dhënat në serverin MQTT (protokolli MQTT). Ju mund të mendoni për serverin MQTT si një shkëmbim të madh informacioni, në të cilin shumë kanaçe plehrash mund t'i raportojnë informacionet e tyre.

Një entitet tjetër që lidhet me serverin MQTT është Node-RED. Nyja-DAR dëgjon mesazhet e ndryshme që vijnë nga kazani i plehrave që mbajnë të dhënat shqisore dhe aplikon logjikën e tij mbi të. Punon duke përdorur "rrjedhat" e informacionit. Sa herë që merret një mesazh, bazuar në llojin e tij (tema MQTT), ai hyn në zinxhirë të veçantë të operacioneve që përfundojnë duke aktivizuar veçoritë e ndryshme të sistemit (përditësimi i pultit, dërgimi i njoftimeve, etj.) Do të ishte shumë e saktë të thuash se Nyja-KUQ është "truri" i sistemit. Ai është i vetëdijshëm për gjithçka që ndodh kudo dhe mund të ndërmarrë veprime në përputhje me rrethanat.

Brenda Node-RED ne kemi ndërtuar 3 rrjedha kryesore të informacionit:

  1. Widgets - Informacioni sensorial që futet në Node -RED më pas shfaqet në pult me anë të matësve dhe grafikëve.
  2. Sinjalizimet - Informacioni sensual përpunohet për të arritur në përfundimin nëse një alarm duhet të aktivizohet (në pult ose në aplikacionin e smartphone). Niveli i plotësisë, me temperaturën dhe lagështinë merren parasysh për të vendosur të informojë përdoruesin se kosha e plehrave është plot. Gjithashtu, gabimet shqisore raportohen nga e njëjta rrjedhë.
  3. Statistikat - Informacioni sensorial grumbullohet për të shfaqur kazanët më të plotë dhe më të nxehtë të plehrave.

Në mënyrë që Node-RED të dërgojë njoftim push, lidhet me një shërbim të quajtur IFTTT (nga protokolli HTTP). Aktivizon një ngjarje të caktuar IFTTT me tekstin përkatës të njoftimit, dhe IFTTT dërgon njoftimin në smartphone -in tonë (protokollet HTTP & XMPP).

Konsultohuni me imazhet e mësipërme për të kuptuar më mirë (a) strukturën e përgjithshme të sistemit, dhe (b) 3 informacione të ndryshme rrjedhin brenda Nyjes-DAR

Hapi 7: Sfidat, Kufizimet dhe Planet për të Ardhmen…

Sfidat

Sfidat kryesore në këtë projekt ishin kryesisht trajtimi i shërbimeve MQTT dhe Node-RED. Ne së pari përdorëm AdafruitIO, por zbatimi i tij i personalizuar MQTT nuk ishte mjaft i mirë për ne. Nuk ishte e përshtatshme për të punuar me "burimet" e saj brenda Node-RED. Prandaj ne përfundimisht zgjodhëm CloudMQTT, i cili bazohet në serverin Mosquitto MQTT, dhe është shumë më standard. Pastaj kaluam për të trajtuar Nyjen-KUQ, e cila ishte mjaft sfiduese, kryesisht sepse Nyja-KUQ është një bishë. Për shembull, është shumë më gjithëpërfshirës dhe profesional sesa IFTTT në këndvështrimin tonë. Na u desh të rregullojmë dhe të mësojmë se si të përdorim qasjen e tij të projektimit të bazuar në rrjedhën për të ndërtuar veçoritë tona të kërkuara të sistemit. Për më tepër, një nga avantazhet e tij më të mëdha është mbështetja e kodit javascript, por u desh pak kohë për t'u mësuar pasi nuk jemi programues javascript. Pavarësisht nga të gjitha këto, ne me të vërtetë u kënaqëm duke punuar me këtë mjet të veçantë dhe e gjetëm atë shumë interesante dhe të dobishme.

Kufizimet

Lidhur me kufizimet, i pari do të ishte fakti që ne përdorim vetëm shërbime falas, dhe ato nuk do të lejojnë kalimin në shkallë të plotë. Plani falas i CloudMQTT nuk do të lejojë të kesh më shumë se 5 lidhje paralele, që do të thotë se mund të kemi vetëm 4 kanaçe plehrash dhe Node-RED. Plani falas FRED Node-RED lejon vetëm 24 orë përdorim të drejtpërdrejtë, pas së cilës duhet të regjistroheni manualisht dhe të rivendosni kohëmatësin. Sidoqoftë, këto çështje janë lehtësisht të zgjidhshme ose duke i drejtuar këto shërbime në vend, ose duke paguar pak më shumë për të hequr kufizimet. Kufizimi i dytë është fakti se kur dikush shton koshin e katërt të plehrave e tutje, ai duhet të modifikojë manualisht rrjedhën e widget-ave në Node-RED për të shtuar widget-et e tij të përshtatshëm.

Planet për të Ardhmen

Ne kishim disa ide për të përmirësuar më tej sistemin tonë dhe për ta zgjeruar atë:

  1. Kaloni në shërbimet cloud jo-falas. (një ditë pune e vetme).
  2. Shtimi i një kompresori mbeturinash në koshin e plehrave, duke zvogëluar kështu frekuencën e zbrazjes së tij. (4 muaj pune)
  3. Puna me koshat e plehrave urbane dhe industriale për të përmirësuar efikasitetin e kamionëve të qytetit që trajtojnë mbeturinat në qytet. Kjo do të thotë të përmirësosh shumë panelin e kontrollit dhe sistemin e njoftimeve në mënyrë që drejtuesit e kamionëve të mund të planifikojnë rrugën e tyre shumë më mirë kur trajtojnë plehrat. (6 muaj pune).
  4. Shtimi i aftësive të riciklimit në koshin e plehrave, si aftësia për të derdhur tretësira të veçanta biologjike në mbeturina dhe për të ndihmuar në riciklimin e tij ndërsa është ende brenda kazanit të plehrave. Kjo mund të përdoret brenda vendit për shembull për të prodhuar plehrash për kopshte, por mund të përdoret qartë edhe në kanaçe industriale gjithashtu. (6 muaj pune).

Recommended: