Obsah:

IDC2018IOT GarbageCan-Online: 7 krokov
IDC2018IOT GarbageCan-Online: 7 krokov

Video: IDC2018IOT GarbageCan-Online: 7 krokov

Video: IDC2018IOT GarbageCan-Online: 7 krokov
Video: Как создать Android игру за 10 минут на языке Python! 2024, Júl
Anonim
Image
Image
Požadované diely
Požadované diely

Úvod

Každý vie, čo sa stane, keď necháme odpadky v odpadkovom koši príliš dlho bez toho, aby sme ho odstránili. Najzrejmejšie je, že už nie je priestor na ďalšie odpadky, ale tiež to začína zapáchať a je to veľmi nepríjemné.

Cieľom tohto projektu je pomôcť vám monitorovať vaše odpadkové koše v okolí domu / pracovného priestoru / atď., Aby ste vždy vedeli, kedy sú plné, a mohli by ste okamžite podniknúť opatrenia tým, že vyberiete odpadky.

Systém vás upozorní upozornením telefónu alebo palubnou doskou, že musíte vyprázdniť smetný kôš. Systém berie do úvahy úroveň plnosti odpadkového koša, ale aj teplotu a vlhkosť nameranú v jeho vnútri. Všetci poznáme naliehavosť vyprázdňovania odpadkových košov v horúcich a vlhkých dňoch …

Hlavné rysy

  1. Hlavný panel monitorovania:

    • Hlavná sekcia:

      • Úroveň plnosti každej nádoby na odpadky.
      • Teplota a vlhkosť každej nádoby na odpadky.
    • Sekcia štatistiky:

      • Najplnšia nádoba na odpadky.
      • Najhorúcejšia popolnica.
  2. Systém upozornení a upozornení:

    • Podporované sú nasledujúce udalosti:

      • Odpadkový kôš je plný.
      • Vyskytla sa chyba snímača.
    • Výstrahy o plnosti berú do úvahy úroveň plnosti odpadkového koša, ale aj teplotu a vlhkosť odpadkového koša.
    • Výstrahy je možné odosielať prostredníctvom upozornení telefónu a upozornení na palubnej doske.
    • Každý kanál upozornení je možné zapnúť a vypnúť prostredníctvom palubnej dosky.
  3. Škálovateľnosť:

    • Pomocou kalibračného tlačidla je možné systém prispôsobiť rôznym odpadkovým nádobám s rôznou kapacitou.
    • Pomerne jednoducho je možné pridať viac odpadkových košov. Ten istý systém je možné zostaviť na novú smetnú nádobu, nastaviť ID odpadkového koša a kalibrovať ho (stlačením tlačidla). Mať viac ako 3 odpadkové koše bude vyžadovať rozšírenie informačného panela (jednoduchá úloha).

Kto sme?

Tento projekt vytvorili (s láskou a oddanosťou!) Rom Cyncynatus a Daniel Alima - Študenti IDC Herzliya ako záverečný projekt pre náš kurz internetu vecí. Dúfame, že bude naša práca pre vás užitočná a bude sa vám páčiť!

Krok 1: Potrebné diely

Na vybudovanie systému budete potrebovať nasledujúce komponenty a diely:

  1. Odpadkový kôš (najlepšie s vekom): Bude sa používať na … no.. Viete, čo s tým urobíme, však?;)
  2. Breadboard: Na pripojenie všetkých rôznych komponentov bez použitia akéhokoľvek spájkovania.
  3. NodeMCU (ESP-8266): Má na starosti čítanie senzorov a odosielanie informácií do cloudu.
  4. Vzdialený IR senzor - Sharp 0A41SK: Tento senzor bude merať množstvo odpadu (úroveň plnosti) vo vnútri plechovky.
  5. Snímač teploty a vlhkosti - DHT11: Tento senzor bude merať teplotu a vlhkosť vo vnútri odpadkového koša.
  6. Momentary Switch: Bude použitý na kalibráciu senzora vzdialenosti podľa veľkosti odpadkového koša.
  7. Hliníková fólia: Bude použitá na vytvorenie detektora stavu veka - či už je otvorený alebo zatvorený.
  8. Prepojovacie vodiče: Získať veľa v rôznych dĺžkach a farbách. Spojí všetko dohromady.
  9. Lepiaca páska: Budeme musieť pripevniť veci na svoje miesto.
  10. Kábel micro-USB: Na pripojenie NodeMCU k počítaču na programovanie a neskôr na napájanie.
  11. USB napájací zdroj (nabíjačka pre smartfóny): Poskytuje napájanie NodeMCU, keď je nainštalovaný na odpadkovom koši.

Krok 2: Zapojenie a montáž

Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž
Elektroinštalácia a montáž

Elektrické vedenie

Umiestnite NodeMCU na dosku na chlieb tak, aby bolo vhodné ho neskôr pripojiť k vášmu odpadkovému košu a pripojte k nemu kábel USB. Potom si pozrite obrázok schémy zapojenia vyššie a pripojte rôzne komponenty k NodeMCU. Na senzory a stavové vodiče používajte dlhé vodiče, aby bolo vhodné nainštalovať systém a používať s ním aj odpadkový kôš.

  • Vzdialený IR senzor - Sharp 0A41SK:

    • Vin (červený) Vin
    • GND (čierny) GND
    • Vout (žltá) A0
  • Snímač teploty a vlhkosti - DHT11:

    • Vin (červený) 3V3
    • GND (čierny) GND
    • ÚDAJE (žltá) D4
  • Momentálny prepínač:

    • Kolík 1 D3
    • Pin2 GND
  • Drôty stavu veka (otvorené / zatvorené):

    • Drôt1 D2
    • Wire2 GND

zhromaždenie

Zostavenie systému na odpadkovom koši je dosť jednoduché. Breadboard pripevnite k odpadkovému košu, najlepšie blízko veka. Zaistite ho na mieste páskou alebo káblovou sponou. Potom:

  1. IR senzor vzdialenosti umiestnite do stredu veka (z vnútornej strany!). Zaistite ho poriadne, inak sa stretnete s falošnými údajmi!
  2. Umiestnite snímač teploty a vlhkosti niekde do odpadkového koša. Zaistite páskou.
  3. Bok veka a hrot odpadkového koša prikryte alobalom. Keď je veko zatvorené, zaistite dobrý kontakt. To bude signalizovať systému, že odpadkový kôš je otvorený alebo zatvorený. Potom prilepte každý z stavových drôtov veka do jednej z hliníkovej fólie a zaistite páskou.

Krok 3: Nastavte MQTT, Node-RED a IFTTT

Nastavte MQTT, Node-RED a IFTTT
Nastavte MQTT, Node-RED a IFTTT
Nastavte MQTT, Node-RED a IFTTT
Nastavte MQTT, Node-RED a IFTTT
Nastavte MQTT, Node-RED a IFTTT
Nastavte MQTT, Node-RED a IFTTT

Väčšina logiky projektu je skutočne implementovaná v cloude. NodeMCU odošle údaje na server MQTT a Node-RED ich spotrebuje a použije na to svoju logiku (viac o architektúre ďalej). Nakoniec, na prenos upozornení push (výstrah) do nášho smartfónu sme použili IFTTT.

Ako servery MQTT a Node-RED použijeme cloudové služby CloudMQTT a FRED a na oznámenia push použijeme IFTTT.

  1. Zaregistrujte sa do CloudMQTT pomocou bezplatného plánu. Poznačte si svoje poverenia na server MQTT (používateľské meno a heslo).
  2. Zaregistrujte sa na IFTTT. Vytvorte nový aplet „Upozornenie aplikácie IFTTT na Webhooks“. Ako názov udalosti WebHookds použite „Oznámenie mobilného telefónu“. Podrobnejšie detaily nájdete v obrázku vyššie. Všimnite si kľúč API vášho výrobcu.
  3. Stiahnite si aplikáciu IFTTT do telefónu a prihláste sa pomocou svojich poverení. To vám umožní dostávať upozornenia push.
  4. Zaregistrujte sa na FRED pomocou bezplatného plánu.
  5. Keď máte inštanciu FRED v prevádzke, importujte do nej priložené toky (tlačidlo 3 pruhy Importovať zo schránky). Stačí prilepiť obsah každého súboru (widgest.json, alerts.json, statistics.json) a importovať ho.
  6. Upravte jeden z uzlov MQTT (stačí jeden) a aktualizujte svoje poverenia CloudMQTT.
  7. Upravte uzol IFTTT a aktualizujte svoj kľúč API IFTTT maker.

Krok 4: Naprogramujte kalibráciu kapacity NodeMCU a odpadkového koša

Akonáhle budeme mať všetko zapojené, musíme naprogramovať NodeMCU pomocou vhodného softvéru (náčrtu) tak, aby skutočne využíval všetky veci, ktoré sú k nemu pripojené, a komunikoval s internetom.

  1. Odtiaľto si stiahnite a nainštalujte Arduino IDE.
  2. Nainštalujte a nastavte typ dosky NodeMCU podľa popisu na začiatku nasledujúceho návodu.
  3. Nainštalujte nasledujúce knižnice (Sketch Include Library Manage Libraries…):

    1. Knižnica Adafruit MQTT (od Adafruit)
    2. Knižnica senzorov DHT (od Adafruit)
    3. SharpIR (Giuseppe Masino)
    4. EEPROMA čokoľvek - vysvetlenie tu.
  4. Otvorte súbor GarbageCanOnline.ino a aktualizujte nasledujúce položky:

    1. Vaše poverenia WiFi (WLAN_SSID, WLAN_PASS)
    2. Vaše poverenia CloudMQTT (MQTT_USERNAME, MQTT_PASSWORD)
    3. Ak ide o druhú alebo viac smetnú nádobu, zmeňte ID odpadkového koša (GARBAGECAN_ID)
  5. Odovzdajte aktualizovaný náčrt do svojho NodeMCU.
  6. Otvorte okno sériového monitora (Ctrl+M) a uistite sa, že dokáže publikovať údaje senzorov do CloudMQTT.
  7. Keď je veko zatvorené a odpadkový kôš je prázdny, dlhým stlačením kalibračného tlačidla kalibrujte kapacitu odpadkového koša.
  8. Odpadkový kôš je pripravený. Môžete ho odpojiť od počítača a pripojiť ho na určené miesto pomocou napájania USB.

Krok 5: Používanie systému

Používanie systému
Používanie systému
Používanie systému
Používanie systému
Používanie systému
Používanie systému

Ak ste sa dostali až sem, malo by byť všetko v poriadku. Urobme si rýchly prehľad rôznych aspektov používania systému.

Predpokladáme, že máte pripojenú iba jednu smetnú nádobu, ale je ľahké ich neskôr sčítať!

Najprv si všimnite hlavnú palubnú dosku. Mali by ste byť na domovskej obrazovke a vidieť plnosť, teplotu a vlhkosť odpadkového koša. Upozornenia telefónu a upozornenia na paneli môžete ovládať pomocou prepínačov vľavo.

Keď sa množstvo odpadu vo vnútri odpadkového koša zmení, podľa toho sa zmení aj rozchod. To platí aj pre grafy teploty a vlhkosti.

Keď úroveň plnosti dosiahne 85%-90% (presný prah závisí od teploty a vlhkosti) alebo dôjde k chybe senzora, dostanete upozornenie prostredníctvom vami preferovaných spôsobov. Na každú smetnú nádobu dostanete upozornenie raz za hodinu.

V zobrazení Štatistiky uvidíte aktuálne najplnšiu a najhorúcejšiu smetnú nádobu. Nelichotivý názov, ak môžeme povedať…

Krok 6: Pochopenie toku

Pochopenie toku
Pochopenie toku
Pochopenie toku
Pochopenie toku
Pochopenie toku
Pochopenie toku
Pochopenie toku
Pochopenie toku

Ako ste si už pravdepodobne všimli, systém má veľa „pohyblivých častí“. Pokúsime sa objasniť, ako sú veci navzájom prepojené.

Najprv tu máme smetnú nádobu s NodeMCU a jeho senzormi. Tých môžeme mať veľa - len „vzájomné“kópie.

NodeMCU meria rôzne senzory umiestnené v odpadkovom koši a publikuje údaje na server MQTT (protokol MQTT). Server MQTT môžete považovať za veľkú výmenu informácií, ktorej mnohé odpadkové nádoby môžu nahlasovať svoje informácie.

Ďalšou entitou, ktorá sa pripája k serveru MQTT, je Node-RED. Node-RED počúva rôzne správy pochádzajúce z odpadkových košov nesúcich senzorické údaje a aplikuje na ne svoju logiku. Funguje to tak, že využíva „toky“informácií. Zakaždým, keď je správa prijatá, na základe jej typu (téma MQTT) vstupuje do konkrétnych reťazcov operácií, ktoré nakoniec aktivujú rôzne funkcie systému (aktualizácia palubnej dosky, odosielanie upozornení atď.) Bolo by veľmi správne povedať že Node-RED je „mozog“systému. Vie o všetkom, čo sa deje kdekoľvek, a podľa toho môže konať.

Vnútri Node-RED sme skonštruovali 3 hlavné toky informácií:

  1. Widgety - Senzorické informácie, ktoré sa vkladajú do Node -RED, sa potom zobrazujú na prístrojovej doske prostredníctvom meradiel a grafov.
  2. Upozornenia - Senzorické informácie sú spracované tak, aby sa dospelo k záveru, či sa má výstraha spustiť (na paneli alebo do aplikácie pre smartfóny). Úroveň úplnosti, teplota a vlhkosť sa berú do úvahy, aby sa používateľ mohol informovať, že odpadkový kôš je plný. Rovnakým tokom sú hlásené aj senzorické chyby.
  3. Štatistiky - Senzorické informácie sú agregované tak, aby zobrazovali najplnejšie a najhorúcejšie odpadkové koše.

Aby Node-RED mohol odosielať oznámenia push, pripája sa k službe s názvom IFTTT (podľa protokolu HTTP). Aktivuje určitú udalosť IFTTT s príslušným textom oznámenia a IFTTT odošle upozornenie na náš smartphone (protokoly HTTP a XMPP).

Pozrite sa na obrázky vyššie, aby ste lepšie porozumeli (a) všeobecnej štruktúre systému a (b) 3 rôznym tokom informácií vo vnútri Node-RED

Krok 7: Výzvy, obmedzenia a plány do budúcnosti …

Výzvy

Hlavnými výzvami tohto projektu bolo väčšinou zvládnutie služieb MQTT a Node-RED. Najprv sme použili AdafruitIO, ale jeho vlastná implementácia MQTT pre nás nebola celkom dobrá. Práca s jeho „informačnými kanálmi“vo vnútri Node-RED nebola pohodlná. Preto sme sa nakoniec rozhodli pre CloudMQTT, ktorý je založený na serveri Mosquitto MQTT a je oveľa štandardnejší. Potom sme prešli k zvládnutiu Node-RED, čo bolo dosť náročné, hlavne preto, že Node-RED je šelma. Napríklad je to z nášho pohľadu oveľa komplexnejšie a profesionálnejšie ako IFTTT. Museli sme sa prispôsobiť a naučiť sa používať jeho prístup založený na toku na konštrukcii našich požadovaných vlastností systému. Jednou z jeho najväčších výhod je navyše podpora kódu JavaScript, ale chvíľu trvalo, kým sme si naň zvykli, pretože nie sme programátori javascriptu. Napriek tomu všetkému nás práca s týmto konkrétnym nástrojom skutočne bavila a zistili sme, že je veľmi zaujímavá a užitočná.

Obmedzenia

Pokiaľ ide o obmedzenia, prvým by bola skutočnosť, že sme používali iba bezplatné služby a tie nedovolia prejsť na plný rozsah. Bezplatný plán CloudMQTT neumožní mať viac ako 5 paralelných pripojení, čo znamená, že môžeme mať iba 4 odpadkové koše a Node-RED. Bezplatný plán FRED Node-RED umožňuje iba 24 hodín priameho používania, potom sa musíte manuálne prihlásiť a resetovať časovač. Tieto problémy sú však ľahko vyriešiteľné buď spustením týchto služieb na mieste, alebo zaplatením trochu navyše za zrušenie obmedzení. Druhým obmedzením je skutočnosť, že keď niekto pridáva štvrtú smetnú nádobu a ďalej, musí manuálne upravovať postup miniaplikácií v Node-RED, aby pridal príslušné widgety.

Plány do budúcna

Mali sme niekoľko nápadov na ďalšie vylepšenie nášho systému a jeho rozšírenie:

  1. Prejdite na bezplatné cloudové služby. (jeden deň práce).
  2. Pridanie odpadkového kompresora do odpadkového koša, čím sa zníži frekvencia jeho vyprázdňovania. (4 mesiace práce)
  3. Práca s mestskými a priemyselnými odpadkovými košmi na zlepšení účinnosti mestských nákladných automobilov, ktoré manipulujú s odpadkami v meste. Znamenalo by to výrazné vylepšenie palubnej dosky a systému upozornení, aby mohli vodiči nákladných vozidiel oveľa lepšie plánovať trasu pri manipulácii s odpadkom. (6 mesiacov práce).
  4. Pridanie recyklačných schopností do odpadkového koša, napríklad schopnosť naliať do odpadu špeciálne biologické roztoky a pomôcť ich recyklovať, kým je ešte v odpadkovom koši. Toto je možné použiť na domácom trhu napríklad na výrobu kompostu pre záhrady, ale jednoznačne ho možno použiť aj na priemyselné konzervy. (6 mesiacov práce).

Odporúča: