Obsah:

IDC2018IOT GarbageCan-Online: 7 kroků
IDC2018IOT GarbageCan-Online: 7 kroků

Video: IDC2018IOT GarbageCan-Online: 7 kroků

Video: IDC2018IOT GarbageCan-Online: 7 kroků
Video: Постельные Клопы - то, что Вам Говорили, Неправда 2024, Červenec
Anonim
Image
Image
Požadované díly
Požadované díly

Úvod

Každý ví, co se stane, když necháme odpadky v popelnici příliš dlouho, aniž bychom je odstranili. Nejzjevnější je, že už není místo pro další odpadky, ale také to začíná páchnout a je to velmi nepříjemné.

Cílem tohoto projektu je pomoci vám monitorovat vaše popelnice kolem domu / pracovního prostoru / atd., Abyste vždy věděli, kdy jsou plné, a mohli okamžitě provést vyhození koše.

Systém vás upozorní telefonním oznámením nebo upozorněním na palubní desce, že musíte vyprázdnit popelnici. Systém bere v úvahu úroveň plnosti popelnice, ale také teplotu a vlhkost naměřenou uvnitř. Všichni jsme obeznámeni s naléhavostí vyprazdňování popelnic v horkých a vlhkých dnech…

Hlavní rysy

  1. Monitorovací panel:

    • Hlavní sekce:

      • Úroveň naplnění každé popelnice.
      • Teplota a vlhkost každé popelnice.
    • Statistická sekce:

      • Nejplnější popelnice.
      • Nejžhavější popelnice.
  2. Systém výstrah a oznámení:

    • Jsou podporovány následující události:

      • Popelnice je plná.
      • Došlo k chybě senzoru.
    • Upozornění na plnost berou v úvahu úroveň plnosti popelnice, ale také teplotu a vlhkost popelnice.
    • Výstrahy lze odesílat prostřednictvím telefonních oznámení a upozornění na palubní desce.
    • Každý kanál upozornění lze zapnout a vypnout prostřednictvím řídicího panelu.
  3. Škálovatelnost:

    • Pomocí kalibračního tlačítka je možné upravit systém na různé popelnice s různou kapacitou.
    • Poměrně snadno je možné přidat další popelnice. Lze sestavit stejný systém na nové popelnici, nastavit ID popelnice a zkalibrovat (stisknutí tlačítka). Mít více než 3 popelnice bude vyžadovat rozšíření řídicího panelu (snadný úkol).

Kdo jsme?

Tento projekt vytvořili (s láskou a obětavostí!) Rom Cyncynatus a Daniel Alima - Studenti IDC Herzliya jako závěrečný projekt pro náš kurz IoT. Doufáme, že naše práce bude pro vás užitečná a budete ji používat!

Krok 1: Požadované součásti

K vybudování systému budete muset získat následující součásti a součásti:

  1. Popelnice (nejlépe s víkem): To bude použito pro … no.. víte, co s tím uděláme, co?;)
  2. Breadboard: Pro připojení všech různých komponent bez použití pájení.
  3. NodeMCU (ESP-8266): Má na starosti čtení senzorů a odesílání informací do cloudu.
  4. Dálkový infračervený senzor - Sharp 0A41SK: Tento senzor bude měřit množství odpadu (úroveň plnosti) uvnitř plechovky.
  5. Snímač teploty a vlhkosti - DHT11: Tento senzor bude měřit teplotu a vlhkost uvnitř popelnice.
  6. Momentary Switch: Bude použit ke kalibraci snímače vzdálenosti podle velikosti popelnice.
  7. Hliníková fólie: Bude použita k vytvoření detektoru stavu víka - ať už je otevřený nebo zavřený.
  8. Propojovací vodiče: Získejte spoustu v různých délkách a barvách. Spojí vše dohromady.
  9. Lepicí páska: Budeme muset připevnit věci na místo.
  10. Kabel Micro-USB: Pro připojení NodeMCU k počítači pro programování a později pro napájení.
  11. USB napájecí zdroj (nabíječka smartphonu): Poskytne napájení NodeMCU, pokud je nainstalován na popelnici.

Krok 2: Zapojení a montáž

Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž
Elektroinstalace a montáž

Elektrické vedení

Umístěte NodeMCU na prkénko tak, aby bylo vhodné jej později připojit k popelnici a připojit k němu kabel USB. Poté si prohlédněte obrázek schématu zapojení výše a připojte různé komponenty k NodeMCU. Ujistěte se, že používáte dlouhé dráty pro senzory a stavové vodiče, aby bylo vhodné instalovat systém a používat s ním popelnici.

  • Vzdálený IR senzor - Sharp 0A41SK:

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

    • Vin (červený) 3V3
    • GND (černý) GND
    • DATA (žlutá) D4
  • Okamžitý přepínač:

    • Pin1 D3
    • Pin2 GND
  • Vodiče stavu víka (otevřené / zavřít):

    • Drát 1 D2
    • Wire2 GND

Shromáždění

Sestavení systému na popelnici je celkem jednoduché. Připevněte prkénko k popelnici, nejlépe blízko víka. K zajištění na místo použijte pásku nebo stahovací pásku. Pak:

  1. Umístěte snímač vzdálenosti IR doprostřed víka (z vnitřní strany!). Ujistěte se, že jste jej řádně zajistili, jinak narazíte na falešné údaje!
  2. Umístěte snímač teploty a vlhkosti někam do popelnice. Zajistěte páskou.
  3. Zakryjte stranu víka a špičku popelnice hliníkovou fólií. Když je víko zavřené, zajistěte dobrý kontakt. To bude signalizovat systému, že popelnice je otevřená nebo zavřená. Poté nalepte každý ze stavových vodičů víka do jedné z hliníkové fólie a zajistěte páskou.

Krok 3: Nastavení 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ětšina logiky projektu je ve skutečnosti implementována v cloudu. NodeMCU odešle data na server MQTT a Node-RED je spotřebuje a použije na to svoji logiku (více o architektuře dále). Nakonec jsme za účelem přenosu push notifikací (výstrah) na náš smartphone použili IFTTT.

Jako servery MQTT respektive Node-RED použijeme cloudové služby CloudMQTT a FRED a pro oznámení push použijeme IFTTT.

  1. Zaregistrujte se do CloudMQTT pomocí bezplatného plánu. Poznamenejte si své přihlašovací údaje na server MQTT (uživatelské jméno a heslo).
  2. Zaregistrujte se na IFTTT. Vytvořte nový applet „Oznámení aplikace IFTTT Webhooks“. Jako název události WebHookds použijte „Oznámení mobilního telefonu“. Podrobné detaily najdete v obrázku výše. Všimněte si klíče API vašeho výrobce.
  3. Stáhněte si aplikaci IFTTT do telefonu a přihlaste se pomocí svých přihlašovacích údajů. To vám umožní dostávat oznámení push.
  4. Zaregistrujte se na FRED pomocí bezplatného plánu.
  5. Jakmile máte instanci FRED v provozu, importujte do ní připojené toky (tlačítko 3 pruhy Importovat ze schránky). Stačí vložit obsah každého souboru (widgest.json, alerts.json, statistics.json) a importovat ho.
  6. Upravte jeden z uzlů MQTT (jeden stačí) a aktualizujte přihlašovací údaje CloudMQTT.
  7. Upravte uzel IFTTT a aktualizujte klíč API IFTTT maker.

Krok 4: Naprogramujte kalibraci kapacity NodeMCU a Garbage Can

Jakmile máme vše zapojené, potřebujeme NodeMCU naprogramovat pomocí příslušného softwaru (náčrtu), aby skutečně využíval všechny věci, které jsou k němu připojeny, a komunikoval s internetem.

  1. Odtud si stáhněte a nainstalujte Arduino IDE.
  2. Nainstalujte a nastavte typ desky NodeMCU, jak je vysvětleno na začátku následující instrukce.
  3. Nainstalujte si následující knihovny (Sketch Include Library Manage Libraries…):

    1. Knihovna Adafruit MQTT (od Adafruit)
    2. Knihovna snímačů DHT (od Adafruit)
    3. SharpIR (Giuseppe Masino)
    4. EEPROMAnything - vysvětlení zde.
  4. Otevřete soubor GarbageCanOnline.ino a aktualizujte následující:

    1. Vaše pověření WiFi (WLAN_SSID, WLAN_PASS)
    2. Vaše pověření CloudMQTT (MQTT_USERNAME, MQTT_PASSWORD)
    3. Pokud se jedná o druhou popelnici nebo více, změňte ID popelnice (GARBAGECAN_ID)
  5. Nahrajte aktualizovaný náčrt do svého NodeMCU.
  6. Otevřete okno sériového monitoru (Ctrl+M) a ujistěte se, že dokáže publikovat data senzorů do CloudMQTT.
  7. Nyní, když je víko zavřené a popelnice prázdná, dlouhým stisknutím kalibračního tlačítka zkalibrujete kapacitu popelnice.
  8. Odpadkový koš je připraven. Můžete jej odpojit od počítače a připojit jej na určené místo pomocí napájecího zdroje USB.

Krok 5: Používání systému

Používání systému
Používání systému
Používání systému
Používání systému
Používání systému
Používání systému

Pokud jste se dostali až sem, mělo by být vše v pořádku. Udělejme si rychlý přehled různých aspektů použití systému.

Předpokládáme, že máte připojenou pouze jednu popelnici, ale je snadné ji později přidat!

Nejprve si všimněte hlavní palubní desky. Měli byste být na domovské obrazovce a vidět plnost popelnic, teplotu a vlhkost. Pomocí přepínačů na levé straně můžete ovládat oznámení telefonu a upozornění na hlavním panelu.

Když se množství odpadků uvnitř popelnice změní, uvidíte odpovídajícím způsobem změny měřidla. To je také případ grafů teploty a vlhkosti.

Když úroveň plnosti dosáhne 85%-90% (přesná prahová hodnota závisí na teplotě a vlhkosti) nebo dojde k chybě senzoru, dostanete oznámení prostřednictvím vámi upřednostňovaných metod. Na každou popelnici budete upozorněni jednou za hodinu.

V zobrazení Statistiky uvidíte aktuálně nejplnější popelnici a nejžhavější. Nelichotivý název, dá -li se říci…

Krok 6: Porozumění toku

Pochopení toku
Pochopení toku
Pochopení toku
Pochopení toku
Pochopení toku
Pochopení toku
Pochopení toku
Pochopení toku

Jak jste si již pravděpodobně všimli, systém má spoustu „pohyblivých částí“. Pokusíme se objasnit, jak jsou věci navzájem propojeny.

Nejprve máme popelnici s NodeMCU a jejími senzory. Těch můžeme mít spoustu - jen vzájemné „kopie“.

NodeMCU měří různá čidla umístěná v popelnici a publikuje data na server MQTT (protokol MQTT). Server MQTT můžete považovat za velkou výměnu informací, na kterou může mnoho popelnic hlásit své informace.

Další entita, která se připojuje k serveru MQTT, je Node-RED. Node-RED poslouchá různé zprávy přicházející z popelnic nesoucích senzorická data a aplikuje na to svoji logiku. Funguje to tak, že využívá „toky“informací. Pokaždé, když je zpráva přijata, na základě jejího typu (téma MQTT) vstupuje do konkrétních řetězců operací, které nakonec aktivují různé funkce systému (aktualizace řídicího panelu, odesílání upozornění atd.) Bylo by velmi správné říci že Node-RED je „mozek“systému. Je si vědom všeho, co se všude děje, a podle toho může podnikat kroky.

Uvnitř Node-RED jsme vytvořili 3 hlavní toky informací:

  1. Widgety - Senzorické informace vkládané do Node -RED se poté zobrazují na palubní desce pomocí měřidel a grafů.
  2. Upozornění - zpracovávají se senzorické informace, aby se dospělo k závěru, zda má být výstraha spuštěna (na palubní desce nebo v aplikaci pro smartphone). Úroveň úplnosti, teplota a vlhkost jsou brány v úvahu, aby se uživatel rozhodl informovat, že popelnice je plná. Stejným tokem jsou hlášeny také senzorické chyby.
  3. Statistiky - Senzorické informace jsou agregovány tak, aby zobrazovaly nejplnější a nejžhavější popelnice.

Aby Node-RED odesílal oznámení push, připojuje se ke službě s názvem IFTTT (protokolem HTTP). Aktivuje určitou událost IFTTT s příslušným textem oznámení a IFTTT odešle oznámení na náš smartphone (protokoly HTTP a XMPP).

Projděte si obrázky výše, abyste lépe porozuměli (a) obecné struktuře systému a (b) 3 různým tokům informací uvnitř Node-RED

Krok 7: Výzvy, omezení a plány do budoucna…

Výzvy

Hlavními výzvami tohoto projektu byly většinou zpracování služeb MQTT a Node-RED. Nejprve jsme použili AdafruitIO, ale jeho vlastní implementace MQTT pro nás nebyla úplně dobrá. Nebylo pohodlné pracovat s jeho „kanály“uvnitř Node-RED. Proto jsme se nakonec rozhodli pro CloudMQTT, který je založen na serveru Mosquitto MQTT a je mnohem standardnější. Poté jsme přešli ke zvládnutí Node-RED, což bylo docela náročné, hlavně proto, že Node-RED je bestie. Například je z našeho pohledu mnohem komplexnější a profesionálnější než IFTTT. Museli jsme se přizpůsobit a naučit se používat jeho návrhový přístup založený na toku pro konstrukci našich požadovaných funkcí systému. Navíc je jednou z jeho největších výhod podpora javascriptového kódu, ale chvíli trvalo, než jsme si zvykli, protože nejsme programátoři javascriptu. Přes to všechno nás práce s tímto konkrétním nástrojem opravdu bavila a zjistili jsme, že je velmi zajímavá a užitečná.

Omezení

Pokud jde o omezení, první by byla skutečnost, že jsme používali pouze bezplatné služby a nedovolí jít v plném rozsahu. Bezplatný plán CloudMQTT neumožní mít více než 5 paralelních připojení, což znamená, že můžeme mít pouze 4 popelnice a Node-RED. Bezplatný plán FRED Node-RED umožňuje pouze 24 hodin přímého používání, poté se musíte ručně přihlásit a resetovat časovač. Tyto problémy jsou však snadno řešitelné buď spuštěním těchto služeb na místě, nebo zaplacením trochu navíc za zrušení omezení. Druhým omezením je skutečnost, že když přidáte čtvrtou popelnici a dále, musí ručně upravit tok widgetů v Node-RED, aby přidal příslušné widgety.

Plány do budoucna

Měli jsme několik nápadů, jak dále vylepšit náš systém a rozšířit jej:

  1. Přejděte na bezplatné cloudové služby. (jeden den práce).
  2. Přidání odpadkového kompresoru do popelnice, čímž se sníží frekvence jeho vyprazdňování. (4 měsíce práce)
  3. Práce s městskými a průmyslovými odpadkovými koši na vylepšení efektivity městských kamionů, které ve městě manipulují s odpadky. To by znamenalo výrazně vylepšit palubní desku a systém upozornění, aby řidiči nákladních vozidel mohli mnohem lépe plánovat trasu při manipulaci s odpadky. (6 měsíců práce).
  4. Přidání recyklačních schopností do popelnice, například schopnost nalít do odpadků speciální biologické roztoky a pomoci je recyklovat, dokud jsou ještě v popelnici. Tu lze použít na domácím trhu například k výrobě kompostu pro zahrady, ale lze ji jednoznačně použít i na průmyslové plechovky. (6 měsíců práce).

Doporučuje: