Sisukord:

IDC2018IOT ühendatud lemmikloomatoidu-, vee- ja jälgimissüsteem: 7 sammu
IDC2018IOT ühendatud lemmikloomatoidu-, vee- ja jälgimissüsteem: 7 sammu

Video: IDC2018IOT ühendatud lemmikloomatoidu-, vee- ja jälgimissüsteem: 7 sammu

Video: IDC2018IOT ühendatud lemmikloomatoidu-, vee- ja jälgimissüsteem: 7 sammu
Video: №1007 БУДНИ дома НА ДАЧЕ 🔹 УБИРАЮСЬ после РАБОТ в ДОМЕ 🔹 ОТКЛЮЧАЮТ СВЕТ ⚡ ВОВРЕМЯ УСПЕЛИ 🔸 ВЛОГ 2024, November
Anonim
Image
Image
IDC2018IOT ühendatud lemmikloomatoidu-, vee- ja jälgimissüsteem
IDC2018IOT ühendatud lemmikloomatoidu-, vee- ja jälgimissüsteem

Sissejuhatus

Ükskõik, kas olete surve all olev õpilane, töökas inimene või lihtsalt kodust kauem kui paar tundi päevas. Hoolivate lemmikloomaomanikena tahame veenduda, et meie lähedased püsivad terved, söödetud ja loomulikult EI jää diivanile pikali (sa pätt!). On aeg lõpetada teenuste küsimine või isegi selliste teenuste eest maksmine.

Selle laheda projektiga soovime pakkuda teile võimalust ise teha (kuulsin, et see on nüüd asi). Loome lahenduse oma lemmikloomade paremaks jälgimiseks ja võtame isegi meetmeid kontoris, koolis või lihtsalt sõprade või teiste oluliste inimestega hängides.

See süsteem võimaldab teil oma lemmiklooma eemalt toita, kontrollides samal ajal mahutist valatava toidu kogust, täitke veenõu alati, kui see tühjaks saab. Lisaks saame nüüd lihtsa kaameramooduli abil reaalajas jälgida kaussi veetaset, mõõta toidunõude sisu ja mis kõige tähtsam - vaadata lemmiklooma otseülekannet.

Meist

Tomer Maimon, Gilad Ram ja Alon Shprung. Kolm kirglikku IDC Herzeliya arvutiteaduse üliõpilast. See on meie esimene Instructables projekt IoT töötoa raames - loodame, et teil on selle ehitamine huvitav ja lõbus!

Samm: arhitektuuri mõistmine:

Arhitektuuri mõistmine
Arhitektuuri mõistmine
Arhitektuuri mõistmine
Arhitektuuri mõistmine

Selle süsteemi saame jagada kaheks põhiosaks:

  1. Sissetulevad andmekanalid:

    • Veeandur - lemmiklooma kaussi veetasemete proovide võtmine, andmed edastatakse sõlme -MCU seadmest Blynk serverisse ja lõpuks esitatakse lemmikloomade armatuurlaua kaudu.
    • Sonari andur - toidukonteineri sisu proovide võtmine, andmed edastatakse Arduino seadmest (Etherneti kilplaiendiga) Blynk serverisse ja lõpuks esitatakse lemmikloomade armatuurlaua kaudu.
    • Pi kaameramoodul - proovib pidevalt lemmiklooma ala raame, Pi võõrustab oma serverit, mis pakub lemmikloomade armatuurlauale otseülekannet.
  2. Käskude voog:

    • Söötmisnupp (armatuurlaud) - virtuaalse tihvti väärtuse värskendamisel Blynk'i kaudu käivitatakse vastav funktsioon Arduino tahvlil, seejärel liigub servo, et toit saaks kaane kaudu läbi minna.
    • Anna vett (armatuurlaud) - uuendab aktiivselt virtuaalse tihvti väärtust Blynk'i kaudu, Node -MCU plaadil käivitatakse vastav funktsioon, relee lülitatakse sisse, veepump hakkab vett lemmiklooma kaussi voogesitama.
    • Lemmikloomade otsevoog (armatuurlaud) - armatuurlauale sisseehitatud ja reaalajas andmete esitamine Pi -seadmes töötava kolviserveri kaudu.

2. samm: osade loend

Osade loend
Osade loend
Osade loend
Osade loend
Osade loend
Osade loend

Selle süsteemiga töötamise alustamiseks vajate järgmisi (või sarnaseid) osi:

  1. Füüsiline:

    • Toidukonteiner: kasutasime tööstuslikku 45 cm kahepoolset toru, mille ostsime kodukaubamajast. Oluline on 2 väljapääsu. Üks sisu mõõtmiseks ja teine avamis-/sulgemismehhanismi väljapääs.
    • Kanalilint: et asju koos hoida;)
    • Jumper Traadid: Mida rohkem, seda uhkem, alati hea, kui midagi valesti läheb.
    • Etherneti kaabel: meie Arduino (Etherneti kilbiga) ühendamiseks Internetiga.
    • Aiapurk: kasutatakse vee ja veepumba mahutina.
    • Lühike veetoru: ühendatud pumbaga ja valab vett lemmiklooma kaussi.
  2. Andurid:

    • WINGONEERi veetaseme andur: mõõtke veetasemeid lemmiklooma kausis.
    • Sonari andur - mõõtke toiduainete taseme kaugust anuma sees olevast ülemisest kaanest.
    • TONGLING relee: võimaldab meil vee voolu sisse või välja lülitada.
    • Pi kaamera moodul: ühendatud vaarika Pi seadmega ja voogesitab lemmiklooma ala pilte.
    • Üldine servo: lukustab ja avab toidunõu.
  3. Elektroonilised seadmed / tahvlid:

    • Arduino Uno: juhib toidunõude ühiku rakendamist.
    • Arduino Ethernet Shield: pakub meie tahvlile Interneti -ühendust.
    • NodeMCU (ESP-8266): juhib veeseadet nii vee mõõtmiseks kui ka valamiseks. Sellel plaadil on võimalus WiFi kaudu ühendust luua.
    • Raspberry Pi 3 - kaamera serveri hostimine ja lemmikloomade armatuurlauale otseülekande andmine.
    • VicTsing 80 GPH sukeldatav veepump: voolab aiapurgist vett kaussi koos veetoruga.

Samm: asjade ühendamine ja ühendamine

Asjade ühendamine ja ühendamine
Asjade ühendamine ja ühendamine
Asjade ühendamine ja ühendamine
Asjade ühendamine ja ühendamine
Asjade ühendamine ja ühendamine
Asjade ühendamine ja ühendamine

Juhtmestik

Enne alustamist on soovitatav paigutada Arduino / Node-MCU leivaplaadile, et hõlbustada kõigi juhtmete kokkupanemist ja paigutamist mis tahes füüsilisse kohta. Lisaks on soovitatav kasutada pikki juhtmeid, et vältida kaabli lahtiühendamisest tulenevaid vigu. Esitasime teile ühendusskeemi Node-MCU (veeseade) ja Arduino (toiduseade) jaoks.

  1. Toiduühik (Arduino):

    • Sonari andur:

      • GND (must) = GND
      • VCC (punane) = 5 V.
      • Trig (lilla) = 3
      • Kaja (sinine) = 4
    • Servo:

      • GND (must) = GND
      • VCC (punane) = 5 V.
      • Signaal (kollane) = 9
  2. Veeüksus (sõlm):

    • Veetaseme andur:

      • S (sinine) = A0
      • + (Punane) = 3v3
      • - (must) = GND
    • Relee (veepumbaga elektriliselt ühendatud):

      • IN (kollane) = D1
      • VCC (punane) = Vin
      • GND (must) = GND
  3. Kaameraüksus (Pi):

    • Kaamera andur:

      • Ühendage Pi ühe kaamera porti (voolukaabel)
      • Kui soovite kaamera mooduliga Pi kohta rohkem teada saada - link

Osade kokkupanek koos

Selles osas olete teretulnud seda projekti kohandama ja muutma, et muuta see teie omaks. Kuid pakume teile pilte ja kirjeldust, et rekonstrueerida meie tooteversioon.

  1. Toiduühik (Arduino): konteiner on üsna otse ettepoole, keskendume kahe kaane meisterdamisele.

    • Ülemine kaas: lõigake kaanesse 2 auku, et sonari sensor sisse mahuks (vt lisatud pilti).
    • Alumine kaas + mehhanism: alustage ühe plastikust kinnituse võtmist (koos servoanduriga) ja konstrueerige kleeplindi / puupulkade abil "Sledge Hammer" kuju (kasutasime ainult linti). Seejärel kinnitage servo. Nüüd vajame kaanel 2 auku. Esimene peaks võimaldama servol sobituda s.t mehhanismiga, mille me konstrueerisime, kaane "siseküljele". Lõigake teine auk, mis põhineb teie valmistatud "haamripea" küljel. Nii pühib haamri saba alati, kui servo avaneb, toitu väljapääsu poole ja takistab suurte tükkide kokkukleepumist.
  2. Veeseade (sõlme-MCU): ühendage lihtsalt veetoru veepumbaga ja asetage see nüüd aiapurki (veenduge, et te EI aseta vale osa koos relee ja elektrijuhtmetega vee sisse).
  3. Kaameraüksus: Piisab, kui paigutada Pi koos kaameramooduliga soovitud kohta.

Samm: seadistage Blynk

Seadista Blynk
Seadista Blynk
Seadista Blynk
Seadista Blynk

Kõik selle projekti kaugvõimalused põhinevad Blynkil. See teenus pakub meile põhimõtteliselt tasuta veebiserverit ja RESTful API-d meie Arduino/Node-MCU seadmetega Interneti kaudu HTTP-protokolli kaudu suhtlemiseks. Blynk võimaldab meil määratleda virtuaalsed tihvtid, mida kasutatakse aadressina vee valamisega seotud konkreetsete funktsioonide täitmiseks, erinevate andurite toitmiseks ja proovide võtmiseks (me tegime selle osa teie jaoks, peate vaid hankima oma rakenduse märgi, mida selgitatakse järgnevalt).

Kuidas saada oma Blynk autentimismärk

  1. Laadige oma mobiilseadme jaoks alla rakendus Blynk AppStore / PlayStore kaudu.
  2. Registreeruge selle teenuse kasutamiseks (see on tasuta).
  3. Alustage uut projekti, valige kindlasti õige seade (meie puhul ESP8266).
  4. Pärast loomist saadetakse e -kiri aadressiga AUTHENTICATION TOKEN - salvestage märk järgmisteks toiminguteks.

Märkus. Blynkit saab rakenduse kaudu täielikult kasutada, kuid otsustasime rakendada oma kohandatud armatuurlaua.

Lõpuks, järgmise sammu jätkamiseks peaksite alla laadima ja installima Blynk raamatukogu - link (minge 3. osa juurde)

Samm: seadistage toidukonteiner, veepump ja reaalajas kaamera

Seadistage toidukonteiner, veepump ja reaalajas kaamera
Seadistage toidukonteiner, veepump ja reaalajas kaamera
Seadistage toidukonteiner, veepump ja reaalajas kaamera
Seadistage toidukonteiner, veepump ja reaalajas kaamera

Sel hetkel lõpetasime kõigi osade kokkupanemise ja saime oma blynkAuthAppTokeni (vt samm 3).

Andsime teile kogu koodi, mida vajate selle projekti käivitamiseks, peate vaid muutma koodis vähe muutujaid, mis muudavad selle "teie enda" privaatseks süsteemiks.

Kõigepealt alustage Arduino IDE allalaadimisega (kui te pole seda veel teinud) - link

Arduino toidukonteiner

  1. Seadistage IDE Arduino tahvlile: Tööriistad -> Tahvel -> Arduino/Genuino Uno
  2. Veenduge, et need teegid oleksid installitud: Visand -> Kaasa raamatukogu -> Halda teeke

    Teade (Rafaeli poolt)

  3. Avage PetFeeder.ino visandifail, konfigureerige järgmised parameetrid (abi leiate lisatud pildilt):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Kompileerige ja laadige eskiis üles oma Arduino seadmesse.

Sõlme-MCU veeüksus

  1. Seadistage IDE sõlme-MCU plaadile:

    Üksikasjaliku selgituse saamiseks vaadake selle juhendi esimest osa

  2. Veenduge, et need teegid oleksid installitud: Visand -> Kaasa raamatukogu -> Halda teeke

    WiFi haldur (tzapu poolt)

  3. Avage PetFeeder.ino visandifail, konfigureerige järgmised parameetrid (abi leiate lisatud pildilt):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "OMA_WIFI_SSID"; // Põhimõtteliselt on see teie WiFi -võrgu nimi
    • pass = "YOUR_WIFI_PASSWORD"; // kui sul pole parooli, kasuta tühja stringi ""
  4. Kompileerige ja laadige eskiis üles oma Node-MCU seadmesse.

Pi Live kaamera moodul

  1. Ühendage kaameramoodul
  2. Käivitage "sudo raspi-config" ja seadistage suvand "kaamera".
  3. Pildistamiseks katsetage kaamerat käsuga "raspistill"

    r aspistill -o pilt.jpg

  4. Määra kolbi veebikaamera server:

    • Installige kõik nõuded, kasutades pip install -r vaatimukset.txt
    • Kasutage pythonit, et käivitada camera_server.py
    • Vaadake seda saidil 127.0.0.1:5000/video_feed
  5. Seadistage Flaski veebiserver käivitamiseks:

    • Lisage /etc/rc.local (enne väljumisrea) järgmine rida:

      python /camera_server.py

6. samm: kuidas juhtpaneeli kasutada

Juhtpaneeli kasutamine
Juhtpaneeli kasutamine

Seadistamine

See osa on üsna lihtne. Peate lihtsalt sisestama "blynk -rakenduse märgi" faili "index.js" järgmiselt.

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // kasutage sama märki eelmistest sammudest.

Kasutamine

  1. Avage juhtpaneel, topeltklõpsates failil "index.html".
  2. Armatuurlaud proovib süsteemi automaatselt iga 10 minuti järel.
  3. Vee- ja toidunõude mõõtmisi saab teha käsitsi.
  4. Nuppe "Anna vett" ja "Sööt" kasutatakse lemmiklooma aktiivseks toitmiseks ja veega varustamiseks.
  5. Armatuurlaua alumises osas kuvatakse kaameramooduli otseülekanne, kui järgisite hoolikalt eelmise sammu juhiseid.

Märkus. Kui soovite kohandada toidukonteineri avamise kordade arvu söötmise ajal, avage fail "index.js" ja muutke järgmise rea "väärtus" väärtusest "3" suvalisele arvule:

tõmbamine (baseURL + '/update/V1? value = 3');

7. samm: väljakutsed, piirangud ja tulevikuplaanid

Väljakutsed

Selle projekti peamised väljakutsed olid seotud toidukonteineri avamis-/sulgemismehhanismi kujundamisega ning stabiilse samaaegse koodi loomisega toiduüksuse juhtimiseks ja mõõtmiseks. Usun, et proovisime vähemalt 4 erinevat versiooni, kuni jäime rahule. Peamine mure oli väljumist takistav toit. Selle vältimiseks valisime Sledge-Hammeri disaini, nii et kui avame konteineri, pühib "haamri" saba toitu väljapääsu poole. Veelgi enam, kahepoolse toru kasutamine muutis meie elu toidunõu ehitamisel palju lihtsamaks. Selline objekt sobib suurepäraselt väljumismehhanismi paigutamiseks ühele küljele ja kaugusandur teisele poole selle sisu mõõtmiseks.

Piirangud

Projekti selles etapis on süsteemil vähe piiranguid:

  1. See ei ole täielikult automatiseeritud, see tähendab, et vee söötmine ja valamine toimub käsitsi jälgimispaneeli kaudu ilma nutikate ajakavade koostamiseta (mida võiks tulevikus lisada või teie ise rakendada!).
  2. Armatuurlaud töötab kohapeal teie enda sülearvutist, et seda paremini juurdepääsetavaks muuta, saab seda majutada populaarsetel platvormidel, näiteks "Heroku".
  3. Kasutasime väga lihtsat kaameramoodulit, mille saab asendada palju keerukama mooduliga, et võimaldada paremat pildikvaliteeti ja võimalikku suhtluskanali lisamist oma lemmikloomaga (kõlarit kasutades).

Tulevikuplaanid

Kui meil oleks aega ja eelarvet selle süsteemi arendamiseks jätkata, pidasime silmas mõningaid ideid ja võimalikku ajakava:

  1. Automaatse ajakava lisamine lemmikloomade söötmiseks - 2-3 päeva tööd.
  2. Veebisaidi loomine, mis võimaldab meie süsteemi kasutajatel luua kohandatud armatuurlaua, mis on veebis hostitud ja juurdepääsetav mis tahes ühendatud seadmest - 1-2 kuud tööd.
  3. Töötades selle süsteemi tööstusliku versiooni kallal, võimaldades rohkemal lemmikloomaomanikul oma lemmikloomi veebis paremini juhtida ja nendega suhelda, pakkusime palju huvi sõpradelt, kes nägid selle juhendi tulemust. Niisiis, kui teil on aega kirg, et viia projekt järgmisele tasemele - teil on täielik toetus!

Loodame, et teile meeldis seda projekti lugeda (ja loodetavasti ehitada!):)

Soovitan: