Tartalomjegyzék:

IDC2018IOT csatlakoztatott állateledel, víz és monitorrendszer: 7 lépés
IDC2018IOT csatlakoztatott állateledel, víz és monitorrendszer: 7 lépés

Videó: IDC2018IOT csatlakoztatott állateledel, víz és monitorrendszer: 7 lépés

Videó: IDC2018IOT csatlakoztatott állateledel, víz és monitorrendszer: 7 lépés
Videó: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, November
Anonim
Image
Image
IDC2018IOT csatlakoztatott állateledel, víz és monitorozó rendszer
IDC2018IOT csatlakoztatott állateledel, víz és monitorozó rendszer

Bevezetés

Függetlenül attól, hogy nyomás alatt álló diák, keményen dolgozó ember, vagy egyszerűen távol van otthonától napi több mint néhány órán keresztül. Gondoskodó állattulajdonosként szeretnénk gondoskodni arról, hogy szeretteink egészségesek, tápláltak maradjanak, és természetesen NE feküdjenek a kanapén (te barom!). Ideje abbahagyni a szívességek kérését, vagy akár fizetni az ilyen szolgáltatásokért.

Ezzel a menő projekttel arra törekszünk, hogy lehetőséget biztosítsunk Önnek a barkácsoláshoz (hallottam, hogy ez most egy dolog). Megoldást fogunk felépíteni kedvenceink jobb megfigyelésére, és még az irodában, az iskolában vagy a barátainkkal vagy más fontos személyekkel való beszélgetés során is intézkedünk.

Ez a rendszer lehetővé teszi, hogy távolról etesse kedvencét, miközben ellenőrzi a tartályból kiöntött étel mennyiségét, és töltse fel a víztálcát, amikor az üres. Ezenkívül most egy valós idejű kameramodul segítségével valós időben figyelhetjük a tál vízszintjét, mérhetjük az edénytartály tartalmát, és ami a legfontosabb, élőben figyelhetjük a háziállatot.

Rólunk

Tomer Maimon, Gilad Ram és Alon Shprung. Az IDC Herzeliya három szenvedélyes számítástechnikai hallgatója. Ez az első Instructables projektünk az IoT workshop részeként - reméljük, érdekesnek és szórakoztatónak találja majd az építést!

1. lépés: Az architektúra megértése:

Az építészet megértése
Az építészet megértése
Az építészet megértése
Az építészet megértése

Ezt a rendszert két fő részre oszthatjuk:

  1. Bejövő adatcsatornák:

    • Vízérzékelő - mintavételezi a vízszintet a háziállat -tálban, az adatokat a Node -MCU egység továbbítja a Blynk szerverre, és végül a Pet Dashboardon keresztül mutatja be.
    • Szonár szenzor - mintavételezi az élelmiszer -tartály tartalmát, az adatokat az Arduino egységről (Ethernet pajzs kiterjesztéssel) továbbítja a Blynk szerverre, és végül a Pet Dashboardon keresztül mutatja be.
    • Pi kamera modul - folyamatosan mintavételezi az állat területének kereteit, a Pi saját szervert üzemeltet, amely élő adást biztosít a háziállat műszerfalához.
  2. Parancsfolyamat:

    • Feed Button (Dashboard) - a virtuális tű értékének frissítése a Blynk segítségével, a megfelelő funkció aktiválódik az Arduino táblán, majd a Servo mozog, hogy az étel áthaladjon a fedélen.
    • Adjon vizet (műszerfal) - aktívan frissíti a virtuális csap értékét a Blynk -en keresztül, a megfelelő funkció aktiválódik a Node -MCU táblán, a relé be van kapcsolva, a vízpumpa megkezdi a víz áramlását a háziállat tálába.
    • Pet Live Feed (Dashboard) - a műszerfalba ágyazva, és élő adatokat mutat be a Pi -eszközön futó lombik -kiszolgálón keresztül.

2. lépés: Az alkatrészek listája

Alkatrészek listája
Alkatrészek listája
Alkatrészek listája
Alkatrészek listája
Alkatrészek listája
Alkatrészek listája

A rendszeren való munka megkezdéséhez a következő (vagy hasonló) alkatrészekre lesz szüksége:

  1. Fizikai:

    • Élelmiszertartály: 45 cm-es ipari kétoldalas csövet használtunk, amelyet egy otthoni áruházban vásároltunk. Fontos, hogy legyen 2 kijárat. Az egyik a tartalom mérésére, a második kijárat a nyitó/záró mechanizmusra.
    • Csatorna szalag: hogy együtt tartsuk a dolgokat;)
    • Jumper vezetékek: Minél több, annál szórakoztatóbb, mindig jó, ha van valami extra, ha valami baj történik.
    • Ethernet kábel: Az Arduino (ethernet pajzzsal) internethez való csatlakoztatásához.
    • Kertészeti doboz: A víz és a vízszivattyú tartályaként használható.
    • Rövid vízcső: A szivattyúhoz csatlakoztatva vizet önt a háziállat tálába.
  2. Érzékelők:

    • WINGONEER vízszintérzékelő: Mérje meg a víz szintjét a háziállat edényében.
    • Szonárérzékelő - Mérje meg az ételszint távolságát a tartály belsejében lévő felső fedéltől.
    • TONGLING relé: Lehetővé teszi, hogy be-/kikapcsoljuk a vizet áramló vízszivattyút.
    • Pi kamera modul: málna Pi eszközhöz csatlakozik, és képeket közvetít az állat területéről.
    • Általános szervo: Zárja és kinyitja az ételtartályt.
  3. Elektronikus eszközök / táblák:

    • Arduino Uno: vezérli az élelmiszer -tartály egység megvalósítását.
    • Arduino Ethernet pajzs: Internetkapcsolatot biztosít a táblához.
    • NodeMCU (ESP-8266): A vízegységet vezérli, mind a víz mérésére, mind a kiöntésére. Ez a kártya képes WiFi -n keresztül csatlakozni.
    • Raspberry Pi 3 - a kamera szerverének otthont ad, és élő hírcsatornát biztosít a háziállat műszerfalának.
    • VicTsing 80 GPH búvárszivattyú: A vizet a kertészeti kannából a tálba, a vízcsővel együtt továbbítja.

3. lépés: A dolgok összekapcsolása és elhelyezése

A dolgok bekötése és elhelyezése
A dolgok bekötése és elhelyezése
A dolgok bekötése és elhelyezése
A dolgok bekötése és elhelyezése
A dolgok bekötése és elhelyezése
A dolgok bekötése és elhelyezése

Vezeték

Mielőtt elkezdenénk, ajánlatos az Arduino / Node-MCU-t egy kenyérsütő táblára helyezni, hogy megkönnyítse az összes vezeték összerakását és bármilyen fizikai helyre történő elhelyezését. Ezenkívül ajánlatos hosszú vezetékeket használni a kábelleválasztásból eredő hibák megelőzésére. Elkészítettük a Node-MCU (vízkészülék) és az Arduino (élelmiszer-egység) bekötési rajzát.

  1. Élelmiszer egység (Arduino):

    • Szonár érzékelő:

      • GND (fekete) = GND
      • VCC (piros) = 5V
      • Trig (lila) = 3
      • Visszhang (kék) = 4
    • Szervo:

      • GND (fekete) = GND
      • VCC (piros) = 5V
      • Jel (sárga) = 9
  2. Vízegység (csomópont):

    • Vízszint érzékelő:

      • S (kék) = A0
      • + (Piros) = 3v3
      • - (fekete) = GND
    • Relé (elektromos vezetékes a vízszivattyúhoz):

      • IN (sárga) = D1
      • VCC (piros) = Vin
      • GND (fekete) = GND
  3. Kameraegység (Pi):

    • Kamera érzékelő:

      • Csatlakozás a Pi egyetlen kamera portjához (fluxus kábel)
      • Ha többet szeretne megtudni a Pi fényképezőgép modulról - Link

Az alkatrészek összeszerelése

Ebben a részben személyre szabhatja és módosíthatja ezt a projektet, hogy "a tiéd legyen". De képekkel és leírással látjuk el a termék verzióját.

  1. Élelmiszer egység (Arduino): A tartály meglehetősen egyenes, előre összpontosítunk a két fedél elkészítésére.

    • Felső fedél: Vágjon 2 lyukat a fedélbe, hogy a Sonar érzékelő illeszkedjen (lásd a mellékelt képet).
    • Alsó fedél + mechanizmus: Kezdje el venni az egyik műanyag tartozékot (a szervoérzékelővel együtt), és ragasztószalaggal / fapálcikával készítsen "Sledge Hammer" formát (csak szalagot használtunk). Ezután rögzítse a szervót. Most 2 lyukra van szükség a fedélen. Az elsőnek lehetővé kell tennie, hogy a szervó illeszkedjen a fedél "belső oldalára" elhelyezett mechanizmusba. Vágjon egy másik lyukat az Ön által készített "kalapácsfej" oldala alapján. Így amikor a szervó kinyílik, a kalapács farka a kijárat felé söpri az ételt, és megakadályozza, hogy a nagy darabok összeragadjanak.
  2. Vízkészülék (csomópont-MCU): Egyszerűen csatlakoztassa a vízcsövet a vízszivattyúhoz, majd helyezze a kerti dobozba (ügyeljen arra, hogy NE helyezze a rossz részt a relével és az elektromos vezetékekkel a vízbe).
  3. Kameraegység: Csak annyit kell tennie, hogy a Pi with camera modult egy tetszőleges helyre helyezi.

4. lépés: A Blynk beállítása

A Blynk beállítása
A Blynk beállítása
A Blynk beállítása
A Blynk beállítása

A projekt összes távoli képessége a Blynk -en alapul. Ez a szolgáltatás alapvetően ingyenes webszervert és RESTful API-t biztosít számunkra az Arduino/Node-MCU eszközeinkkel való internetes kommunikációhoz HTTP protokoll használatával. A Blynk lehetővé teszi számunkra, hogy virtuális csapokat határozzunk meg, amelyek címként szolgálnak a víz öntésével, a különböző érzékelők táplálásával és mintavételével kapcsolatos speciális funkciók végrehajtásához (ezt a részt az Ön számára végeztük el, mindössze annyit kell tennie, hogy beszerzi saját alkalmazáskivonatát, amit a következőkben ismertetünk).

Hogyan szerezhetem be a Blynk hitelesítési tokent

  1. Töltse le a Blynk alkalmazást az AppStore / PlayStore webhelyről mobilkészülékéhez.
  2. Iratkozzon fel erre a szolgáltatásra (ingyenesen használható).
  3. Indítson el egy új projektet, győződjön meg róla, hogy a megfelelő eszközt választotta (esetünkben ESP8266).
  4. A létrehozás után egy e -mailt küldünk AUTHENTICATION TOKEN -el - Mentse el a tokent a következő lépésekhez.

Megjegyzés: A Blynk teljes mértékben használható az alkalmazáson keresztül, de úgy döntöttünk, hogy saját testreszabott műszerfalat hajtunk végre.

Végül, a következő lépés folytatásához töltse le és telepítse a Blynk könyvtárat - Link (ugorjon a 3. részhez)

5. lépés: Konfigurálja az élelmiszer -tartályt, a vízszivattyút és az élő kamerát

Élelmiszertartály, vízszivattyú és élő kamera konfigurálása
Élelmiszertartály, vízszivattyú és élő kamera konfigurálása
Élelmiszertartály, vízszivattyú és élő kamera konfigurálása
Élelmiszertartály, vízszivattyú és élő kamera konfigurálása

Ezen a ponton befejeztük az összes alkatrész összeszerelését, és megkaptuk a blynkAuthAppToken programot (lásd a 3. lépést).

A projekt futtatásához szükséges összes kódot megadtuk Önnek, mindössze néhány változót kell megváltoztatnia a kódban, ami "saját" privát rendszerré teszi.

Először is töltse le az Arduino IDE letöltését (ha még nem tette meg) - Link

Arduino élelmiszer konténer

  1. Állítsa be az IDE -t az Arduino táblára: Eszközök -> Tábla -> Arduino/Genuino Uno
  2. Győződjön meg róla, hogy telepítve vannak ezek a könyvtárak: Vázlat -> Könyvtár bevonása -> Könyvtárak kezelése

    Váltó (Rafael)

  3. Nyissa meg a PetFeeder.ino vázlatfájlt, konfigurálja a következő paramétereket (lásd a mellékelt képet segítségért):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Fordítsa össze és töltse fel a vázlatot Arduino eszközére.

Csomópont-MCU vízi egység

  1. Állítsa be az IDE-t a Node-MCU kártyára:

    Lásd ennek az utasításnak az első részét a részletes magyarázatért

  2. Győződjön meg róla, hogy telepítve vannak ezek a könyvtárak: Vázlat -> Könyvtár beillesztése -> Könyvtárak kezelése

    WiFi Manager (tzapu)

  3. Nyissa meg a PetFeeder.ino vázlatfájlt, konfigurálja a következő paramétereket (lásd a mellékelt képet segítségért):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // Alapvetően ez a WiFi hálózat neve
    • pass = "YOUR_WIFI_PASSWORD"; // ha nincs jelszava, használjon üres karakterláncot ""
  4. Fordítsa össze és töltse fel a vázlatot a Node-MCU eszközére.

Pi Élő kamera modul

  1. Csatlakoztassa a pi kamera modult
  2. Futtassa a "sudo raspi-config" parancsot, és kapcsolja be a "kamera" opciót.
  3. Tesztelje a kamerát a "raspistill" paranccsal a kép elkészítéséhez

    r aspistill -o image.jpg

  4. A Flask webkamera szerver beállítása:

    • Telepítse az összes követelményt a pip install -r követelmények.txt fájl használatával
    • A python használatával futtassa a camera_server.py fájlt
    • Nézze meg a 127.0.0.1:5000/video_feed címen
  5. Állítsa be a Flask webszervert rendszerindításra:

    • Adja hozzá a következő sort az /etc/rc.local fájlhoz (a kilépési sor előtt):

      python /camera_server.py

6. lépés: A Vezérlőpult használata

A Vezérlőpult használata
A Vezérlőpult használata

Beállít

Ez a rész meglehetősen egyszerű, mindössze annyit kell tennie, hogy a "blynk app token" -t az "index.js" fájlba illeszti be az alábbiak szerint:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // ugyanazt a tokent használja az előző lépésekben.

Használat

  1. Nyissa meg az irányítópultot dupla kattintással az "index.html" fájlra.
  2. A műszerfal 10 percenként automatikusan mintát vesz a rendszerből.
  3. A víz- és ételtartály mérése manuálisan is elvégezhető.
  4. Az "Adj vizet" és a "Táplálás" gombok arra szolgálnak, hogy aktívan ellássák kedvenceidet élelemmel és vízzel.
  5. A műszerfal alsó része a kamera modul élő adását jeleníti meg, ha gondosan követte az előző lépés utasításait.

Megjegyzés: Ha testre szeretné szabni, hogy hányszor nyílik meg az ételtartály az etetés során, nyissa meg az "index.js" fájlt, és a következő sor "értékét" módosítsa "3" -ról tetszőleges számra:

letöltés (baseURL + '/update/V1? value = 3');

7. lépés: Kihívások, korlátok és jövőbeli tervek

Kihívások

A fő kihívások számunkra ebben a projektben az élelmiszer -tartály nyitási/zárási mechanizmusának megtervezéséhez és az egyidejű stabil kód létrehozásához kapcsolódtak az élelmiszer -egység vezérléséhez és méréséhez. Azt hiszem, legalább 4 különböző verziót próbáltunk, amíg meg nem voltunk elégedve. A fő gond a kilépést akadályozó étel volt. Ennek megakadályozása érdekében Sledge-Hammer kialakítást választottunk, így amikor kinyitjuk a tartályt, a "kalapács" farka a kijárat felé söpri az ételt. Ezenkívül a kétoldalas cső használata sokkal egyszerűbbé tette az életünket az ételtartály építése közben. Az ilyen tárgy tökéletes a kilépő mechanizmus egyik oldalára, a másik oldalra pedig távolságérzékelőre annak tartalmának mérésére.

Korlátok

A projekt ezen szakaszában néhány korlátozás van a rendszerre:

  1. Ez nem teljesen automatizált, ami azt jelenti, hogy a víz betáplálása és kiöntése manuálisan történik a felügyeleti műszerfalon, intelligens ütemezések nélkül (amelyeket a jövőben hozzáadhat, vagy Ön hajthat végre).
  2. Az irányítópult helyben fut a saját laptopjáról, hogy jobban hozzáférhető legyen, olyan népszerű platformokon tárolható, mint a "Heroku".
  3. Egy nagyon egyszerű kamera modult használtunk, amely kicserélhető egy sokkal bonyolultabb modulra, hogy jobb képminőséget és kommunikációs csatornát lehessen hozzáadni kedvencével (hangszóró használatával).

Jövőbeli tervek

Ha volt időnk és költségvetésünk a rendszer továbbfejlesztésére, néhány ötletet és lehetséges ütemtervet gondoltunk:

  1. Automatikus ütemezési rendszer hozzáadása a háziállatok etetéséhez - 2-3 nap munka.
  2. Weboldal létrehozása, amely lehetővé teszi rendszerünk felhasználói számára, hogy személyre szabott irányítópultot hozzanak létre, amelyek online tárolhatók és elérhetők bármely csatlakoztatott eszközről - 1-2 hónap munka.
  3. Dolgozzon a rendszer ipari verzióján, amely lehetővé teszi több állattulajdonos számára, hogy jobban irányítsák és kommunikáljanak kedvenceikkel online, nagy érdeklődést tanúsítottunk azoktól a barátoktól, akik látták ennek az utasításnak az eredményét. Tehát, ha van idő szenvedélye, hogy a projektet a következő szintre emelje - teljes mértékben támogatja!

Reméljük tetszett olvasni (és remélhetőleg építeni!) Ezt a projektet:)

Ajánlott: