Tartalomjegyzék:

IDC2018IOT GarbageCan-Online: 7 lépés
IDC2018IOT GarbageCan-Online: 7 lépés

Videó: IDC2018IOT GarbageCan-Online: 7 lépés

Videó: IDC2018IOT GarbageCan-Online: 7 lépés
Videó: Build Battle #1 → АААА!1!!СЕРЬЁЗНО?7??? 2024, Július
Anonim
Image
Image
Szükséges alkatrészek
Szükséges alkatrészek

Bevezetés

Mindenki tudja, mi történik, ha túl sokáig hagyjuk a szemetet a szemetesben anélkül, hogy eltávolítanánk. Nos, a legnyilvánvalóbb az, hogy nincs helye több szemétnek, de az is büdösödni kezd, és nagyon kellemetlen lesz.

Ezzel a projekttel arra törekszünk, hogy segítsünk nyomon követni a ház körül lévő szemeteseket / munkaterületet stb., Így mindig tudhatja, mikor vannak tele, és azonnal intézkedhet a szemét elszállításával.

A rendszer telefonos értesítéssel vagy műszerfal -riasztással figyelmezteti Önt, hogy ki kell ürítenie a szemetet. A rendszer figyelembe veszi a szemetesedény telítettségét, de a benne mért hőmérsékletet és páratartalmat is. Mindannyian ismerjük, hogy sürgősen ki kell üríteni a szemeteseket a forró és párás napokon…

Főbb jellemzői

  1. Felügyeleti műszerfal:

    • Fő szakasz:

      • Az egyes szemetesek telítettségi szintje.
      • Az egyes szemetesek hőmérséklete és páratartalma.
    • Statisztikai részleg:

      • A legteljesebb szemetes.
      • A legmelegebb szemetes.
  2. Riasztási és értesítési rendszer:

    • A következő események támogatottak:

      • Tele van a szemetes.
      • Érzékelő hiba történt.
    • A telítettségi riasztások figyelembe veszik a szemetes tartály telítettségét, de a szemetes hőmérsékletét és páratartalmát is.
    • A riasztások telefonos értesítésekkel és irányítópult -riasztásokkal küldhetők.
    • Minden riasztási csatorna be- és kikapcsolható a műszerfalon keresztül.
  3. Skálázhatóság:

    • A kalibráló gombbal lehetőség van a rendszer különböző, különböző kapacitású szemetesekre történő beállítására.
    • Viszonylag könnyen lehet több szemetet elhelyezni. Ugyanezt a rendszert össze lehet állítani egy új szemetesre, beállítani a szemetes azonosítóját és kalibrálni (gombnyomással). Ha több mint 3 szemetes van, akkor ki kell terjeszteni a műszerfalat (könnyű feladat).

Kik vagyunk mi?

Ezt a projektet (szeretettel és odaadással!) Rom Cyncynatus és Daniel Alima - az IDC Herzliya hallgatói - hozták létre az IoT tanfolyamunk záró projektjeként. Reméljük, hogy munkánkat hasznosnak találja, és örömmel használja!

1. lépés: Szükséges alkatrészek

A rendszer felépítéséhez a következő alkatrészeket és alkatrészeket kell beszereznie:

  1. Szemetesdoboz (lehetőleg fedéllel): Ezt arra fogjuk használni … nos.. tudod, mit fogunk ezzel csinálni, mi?;)
  2. Breadboard: A különböző alkatrészek összekapcsolása forrasztás használata nélkül.
  3. NodeMCU (ESP-8266): Az érzékelők olvasásáért és az információ felhőbe küldéséért felelős.
  4. Távolság IR érzékelő - Sharp 0A41SK: Ez az érzékelő méri a kannában lévő szemét mennyiségét (telítettségi szint).
  5. Hőmérséklet- és páratartalom -érzékelő - DHT11: Ez az érzékelő méri a szemetesben lévő hőmérsékletet és páratartalmat.
  6. Pillanatkapcsoló: A távolságérzékelő kalibrálására szolgál a szemetes mérete szerint.
  7. Alumínium fólia: A fedél állapotának érzékelőjének kialakítására szolgál - függetlenül attól, hogy nyitva vagy csukva van.
  8. Átkötő vezetékek: Szerezzen rengeteg, különböző hosszúságban és színben. Össze fog kötni mindent.
  9. Csatorna szalag: A helyére kell rögzítenünk a dolgokat.
  10. Mikro-USB-kábel: A NodeMCU csatlakoztatásához a számítógéphez programozáshoz, később pedig tápellátáshoz.
  11. USB tápegység (okostelefon töltő): A NodeMCU áramellátását biztosítja, ha a szemetesre van felszerelve.

2. lépés: Kábelezés és összeszerelés

Kábelezés és összeszerelés
Kábelezés és összeszerelés
Kábelezés és összeszerelés
Kábelezés és összeszerelés
Kábelezés és összeszerelés
Kábelezés és összeszerelés

Vezeték

Helyezze a NodeMCU -t a kenyértáblára, hogy később kényelmes legyen a szemeteshez csatlakoztatni, és csatlakoztassa hozzá az USB -kábelt. Ezután nézze meg a fenti kapcsolási rajzot, hogy csatlakoztassa a különböző alkatrészeket a NodeMCU -hoz. Ügyeljen arra, hogy hosszú vezetékeket használjon az érzékelőkhöz és az állapotvezetékekhez, így kényelmes lesz a rendszer telepítése és a szemetes használata.

  • Távolság IR érzékelő - Sharp 0A41SK:

    • Vin (Vörös) Vin
    • GND (fekete) GND
    • Vout (sárga) A0
  • Hőmérséklet- és páratartalom -érzékelő - DHT11:

    • Vin (piros) 3V3
    • GND (fekete) GND
    • ADATOK (sárga) D4
  • Pillanatkapcsoló:

    • Pin1 D3
    • Pin2 GND
  • Fedél állapot (nyitott / záró) vezetékek:

    • Vezeték 1 D2
    • Wire2 GND

Összeszerelés

A rendszer összeszerelése a szemetesre nagyon egyszerű. Csatlakoztassa a kenyértáblát a szemeteshez, lehetőleg közel a fedélhez. Használjon szalagot vagy kábelköteget a rögzítéshez. Azután:

  1. Helyezze az IR távolságérzékelőt a fedél közepére (a belső oldalról!). Győződjön meg róla, hogy megfelelően rögzítette, különben hamis leolvasásokat tapasztal!
  2. Helyezze a hőmérséklet- és páratartalom -érzékelőt valahová a szemetesbe. Rögzítse szalaggal.
  3. Fedje le a fedél oldalát és a szemetes tetejét alumínium fóliával. Győződjön meg róla, hogy jó érintkezés van, amikor a fedél zárva van. Ez jelzi a rendszernek, hogy a szeméttároló nyitva vagy zárva van. Ezután ragassza be a fedél állapotának minden vezetékét az egyik alumíniumfóliába, és rögzítse szalaggal.

3. lépés: Az MQTT, a Node-RED és az IFTTT beállítása

Az MQTT, a Node-RED és az IFTTT beállítása
Az MQTT, a Node-RED és az IFTTT beállítása
Az MQTT, a Node-RED és az IFTTT beállítása
Az MQTT, a Node-RED és az IFTTT beállítása
Az MQTT, a Node-RED és az IFTTT beállítása
Az MQTT, a Node-RED és az IFTTT beállítása

A projektlogika nagy része valójában a felhőben valósul meg. A NodeMCU elküldi az adatokat az MQTT szervernek, a Node-RED pedig elfogyasztja és alkalmazza rajta a logikáját (bővebben az előttünk álló architektúráról). Végül, hogy push értesítéseket (riasztásokat) továbbítsunk okostelefonunkra, IFTTT -t használtunk.

A CloudMQTT és a FRED felhőszolgáltatásokat fogjuk használni MQTT és Node-RED szervereinkként, valamint az IFTTT-t a push értesítésekhez.

  1. Regisztráljon a CloudMQTT -re az ingyenes csomaggal. Jegyezze fel hitelesítő adatait az MQTT szerverhez (felhasználónév és jelszó).
  2. Feliratkozás az IFTTT -re. Hozzon létre egy új kisalkalmazást a "Webhooks IFTTT alkalmazásértesítésről". Használja a "Mobiltelefon értesítést" WebHookds eseménynévként. Tekintse meg a fenti képet a durva részletekért. Jegyezze fel a készítő API -kulcsát.
  3. Töltse le az IFTTT alkalmazást a telefonjára, és jelentkezzen be hitelesítő adataival. Ez lehetővé teszi, hogy push értesítéseket kapjon.
  4. Regisztráljon a FRED -re az ingyenes csomaggal.
  5. Miután elindította és futtatta a FRED példányt, importálja a csatolt folyamatokat (3 Sáv gomb Importálás a vágólapról). Csak illessze be az egyes fájlok tartalmát (widgest.json, alerts.json, statistics.json), és importálja őket.
  6. Szerkessze az egyik MQTT csomópontot (egy is elég) a CloudMQTT hitelesítő adatok frissítéséhez.
  7. Az IFTTT -csomópont szerkesztésével frissítse az IFTTT -készítő API -kulcsát.

4. lépés: Programozza be a NodeMCU és a szeméttároló kapacitás kalibrálását

Miután mindent bekötöttünk, be kell programoznunk a NodeMCU -t a megfelelő szoftverrel (vázlattal), hogy az ténylegesen felhasználja a hozzá kapcsolódó összes anyagot, és kommunikáljon az internettel.

  1. Töltse le és telepítse az Arduino IDE -t innen.
  2. Telepítse és állítsa be a NodeMCU kártya típusát a következő utasítás elején leírtak szerint.
  3. Telepítse a következő könyvtárakat (vázlat a könyvtárkezelési könyvtárak kezelése …):

    1. Adafruit MQTT könyvtár (Adafruit)
    2. DHT szenzortár (Adafruit)
    3. SharpIR (Giuseppe Masino)
    4. EEPROMAnything - magyarázat itt.
  4. Nyissa meg a GarbageCanOnline.ino fájlt, és frissítse a következőket:

    1. WiFi hitelesítő adatai (WLAN_SSID, WLAN_PASS)
    2. A CloudMQTT hitelesítő adatai (MQTT_USERNAME, MQTT_PASSWORD)
    3. Ha ez egy második vagy több szemetes, módosítsa a szemetes azonosítóját (GARBAGECAN_ID)
  5. Töltse fel a frissített vázlatot a NodeMCU -ra.
  6. Nyissa meg a soros monitor ablakát (Ctrl+M), és győződjön meg arról, hogy képes -e közzétenni az érzékelők adatait a CloudMQTT -ben.
  7. Most, amikor a fedél zárva van, és a szemetes üres, nyomja meg hosszan a kalibráló gombot a szemeteskapacitás kalibrálásához.
  8. A szemetes minden készen áll. Húzza ki a számítógépből, és csatlakoztassa a kijelölt helyre az USB tápegység segítségével.

5. lépés: A rendszer használata

A rendszer használata
A rendszer használata
A rendszer használata
A rendszer használata
A rendszer használata
A rendszer használata

Ha idáig eljutott, mindennek működnie kell. Vessünk egy gyors áttekintést a rendszer különböző használati szempontjairól.

Feltételezzük, hogy csak egyetlen szemetes lehet csatlakoztatva, de később könnyű összegyűjteni többet!

Először is vegye figyelembe a fő műszerfalat. A kezdőképernyőn kell lennie, és látnia kell a szemetet, a hőmérsékletet és a páratartalmat. A telefon értesítéseit és a műszerfal figyelmeztetéseit a bal oldali kapcsolókkal vezérelheti.

Amikor a szemét mennyisége megváltozik a szemetesben, látni fogja, hogy a mérőeszköz ennek megfelelően változik. Ez vonatkozik a hőmérséklet- és páratartalom -grafikonokra is.

Ha a telítettségi szint eléri a 85–90% -ot (a pontos küszöbérték a hőmérséklettől és a páratartalomtól függ), vagy érzékelőhiba történt, értesítést kap a kívánt módszer (ek) ről. Óránként egyszer értesítést kap szemetenként.

A Statisztika nézetben láthatja a jelenleg legteljesebb és a legmelegebb szemetet. Megdöbbentő cím, ha mondhatjuk…

6. lépés: A folyamat megértése

Az áramlás megértése
Az áramlás megértése
Az áramlás megértése
Az áramlás megértése
Az áramlás megértése
Az áramlás megértése
Az áramlás megértése
Az áramlás megértése

Amint azt valószínűleg már észrevette, a rendszer sok "mozgó alkatrésszel" rendelkezik. Megpróbáljuk tisztázni, hogy a dolgok hogyan kapcsolódnak egymáshoz.

Először is megvan a szemetesünk a NodeMCU -val és annak érzékelőivel. Rengeteg ilyenünk lehet - csak egymás "másolatai".

A NodeMCU méri a szemetesbe helyezett különböző érzékelőket, és közzéteszi az adatokat az MQTT szerverre (MQTT protokoll). Úgy gondolhat az MQTT szerverre, mint egy nagy információcserére, amelyre sok szemetes doboz jelentheti az adatait.

Az MQTT szerverhez csatlakozó másik entitás a Node-RED. A Node-RED figyeli az érzékszervi adatokat hordozó szemetes (ek) ből érkező különböző üzeneteket, és logikáját alkalmazza. Az információ "áramlásának" felhasználásával működik. Minden alkalommal, amikor egy üzenet érkezik, típusa (MQTT téma) alapján meghatározott műveleti láncokba lép, amelyek végül aktiválják a rendszer különböző funkcióit (a műszerfal frissítése, figyelmeztetések küldése stb.) Nagyon helyes lenne azt mondani, hogy hogy a Node-RED a rendszer "agya". Tisztában van mindennel, ami mindenhol történik, és ennek megfelelően tud cselekedni.

A Node-RED belsejében három fő információáramot építettünk fel:

  1. Widgetek - A Node -RED -be táplált érzékszervi információk ezután megjelennek a műszerfalon a mérőkön és grafikonokon keresztül.
  2. Riasztások - Az érzékelői információkat feldolgozzuk annak megállapítására, hogy figyelmeztetést kell -e aktiválni (a műszerfalon vagy az okostelefon -alkalmazásban). A telítettségi szintet, a hőmérsékletet és a páratartalmat figyelembe veszik annak eldöntéséhez, hogy tájékoztassák a felhasználót arról, hogy a szemetes tele van. Ezenkívül az érzékszervi hibákat ugyanaz a folyamat jelenti.
  3. Statisztika - A szenzoros információkat összesítve megjelenítik a legteljesebb és legmelegebb szeméttárolókat.

Annak érdekében, hogy a Node-RED push értesítést küldjön, csatlakozik az IFTTT nevű szolgáltatáshoz (HTTP protokollon keresztül). Aktivál egy bizonyos IFTTT eseményt a megfelelő értesítési szöveggel, és az IFTTT elküldi az értesítést okostelefonunkra (HTTP és XMPP protokollok).

Tekintse meg a fenti képeket, hogy jobban megértse (a) a rendszer általános felépítését, és (b) a Node-RED-en belüli 3 különböző információáramlást

7. lépés: Kihívások, korlátok és tervek a jövőre nézve…

Kihívások

A projekt fő kihívásai többnyire az MQTT és a Node-RED szolgáltatások kezelése voltak. Először az AdafruitIO -t használtuk, de az egyéni MQTT megvalósítása nem volt jó nekünk. Nem volt kényelmes dolgozni a "feedjeivel" a Node-RED-en belül. Ezért végül a Mosquitto MQTT kiszolgálón alapuló, sokkal szabványosabb CloudMQTT mellett döntöttünk. Aztán áttértünk a Node-RED kezelésére, ami meglehetősen kihívást jelentett, főleg azért, mert a Node-RED vadállat. Például a mi szempontunkból sokkal átfogóbb és professzionálisabb, mint az IFTTT. Be kellett állítanunk és meg kellett tanulnunk használni az áramláson alapuló tervezési megközelítést a rendszer által előírt funkciók kialakításához. Sőt, egyik legnagyobb előnye a javascript kód támogatása, de egy kis időbe telt, amíg megszoktuk, mivel nem vagyunk javascript programozók. Mindezek ellenére nagyon élveztük a munkát ezzel az eszközzel, és nagyon érdekesnek és hasznosnak találtuk.

Korlátozások

Ami a korlátozásokat illeti, az első az lenne, hogy csak ingyenes szolgáltatásokat vettünk igénybe, és nem teszik lehetővé a teljes körű szolgáltatást. A CloudMQTT ingyenes terv nem teszi lehetővé több mint 5 párhuzamos összeköttetést, vagyis csak 4 szemeteskannát és a Node-RED-et használhatunk. A FRED Node-RED ingyenes terv csak 24 órás folyamatos használatot tesz lehetővé, ezt követően manuálisan kell bejelentkeznie, és alaphelyzetbe kell állítania az időzítőt. Ezek a problémák azonban könnyen megoldhatók, ha ezeket a szolgáltatásokat helyben futtatják, vagy fizetnek egy kis pluszt a korlátozások feloldása érdekében. A második korlátozás az a tény, hogy amikor hozzáadja a negyedik szemetesdobozt, és azt követően, manuálisan kell szerkesztenie a widgetek folyamatát a Node-RED-ben, hogy hozzáadja a megfelelő widgeteket.

Jövőbeli tervek

Volt néhány ötletünk rendszerünk továbbfejlesztésére és kiterjesztésére:

  1. Tovább a nem ingyenes felhőszolgáltatásokhoz. (egyetlen munkanap).
  2. Egy szemetes kompresszor hozzáadása a szemeteshez, ezáltal csökkentve a kiürítés gyakoriságát. (4 hónap munka)
  3. Városi és ipari szemetesládákkal való együttműködés a városban lévő szemetet kezelő városi teherautók hatékonyságának javítása érdekében. Ez jelentősen javítaná a műszerfalat és az értesítési rendszert, hogy a kamionsofőrök sokkal jobban meg tudják tervezni útvonalukat a szemét kezelésekor. (6 hónap munka).
  4. Újrafeldolgozási képességek hozzáadása a szemeteshez, mint például az a képesség, hogy speciális biológiai oldatokat öntsön a szemétbe, és segítsen újrahasznosítani, amikor még a szemetesben van. Ezt belföldön lehet használni például kertek komposztjának előállításához, de egyértelműen ipari konzervdobozokban is. (6 hónap munka).

Ajánlott: