INHOUDSOPGAWE:

IDC2018IOT Connected Pet Food, Water and Monitor System: 7 stappe
IDC2018IOT Connected Pet Food, Water and Monitor System: 7 stappe

Video: IDC2018IOT Connected Pet Food, Water and Monitor System: 7 stappe

Video: IDC2018IOT Connected Pet Food, Water and Monitor System: 7 stappe
Video: “Yeah yantra kaise kam karta hai?” #littleglove #ashortaday #shorts #miniglovevlog 2024, Julie
Anonim
Image
Image
IDC2018IOT Connected Pet Food, Water and Monitor System
IDC2018IOT Connected Pet Food, Water and Monitor System

Inleiding

Of u nou 'n student onder druk is, 'n hardwerkende persoon of net meer as 'n paar uur per dag weg van die huis is. As omgee -troeteldier -eienaars wil ons seker maak dat ons geliefdes gesond bly, gevoed word en natuurlik NIE op die bank gaan lê nie (juffer!). Dit is tyd om op te hou om gunste te vra, of selfs vir sulke dienste te betaal.

Met hierdie oulike projek wil ons u die geleentheid bied om dit self te doen (ek het gehoor dat dit nou 'n ding is). Ons sal 'n oplossing bou om ons troeteldiere beter te monitor, en selfs aksie te neem terwyl ons op kantoor is, op skool is of net saam met ons vriende of belangrike ander kuier.

Met hierdie stelsel kan u u troeteldier op afstand voer terwyl u die hoeveelheid kos wat u uit die houer gooi, beheer, en die waterbak vol maak as dit leegloop. Boonop kan ons nou die komwatervlakke intyds monitor, die inhoud van die voedselhouer meet en bowenal die troeteldier lewendig kyk met behulp van 'n eenvoudige kameramodule.

Oor ons

Tomer Maimon, Gilad Ram en Alon Shprung. Drie passievolle rekenaarwetenskapstudente van die IDC Herzeliya. Dit is ons eerste Instructables -projek as deel van 'n IoT -werkswinkel - ons hoop dat u dit interessant en lekker sal vind om te bou!

Stap 1: Begrip van die argitektuur:

Verstaan die argitektuur
Verstaan die argitektuur
Verstaan die argitektuur
Verstaan die argitektuur

Ons kan hierdie stelsel in twee hoofdele verdeel:

  1. Inkomende datakanale:

    • Watersensor - 'n monsterneming van die watervlakke in die troeteldierbak, data word van die Node -MCU -eenheid na die Blynk -bediener oorgedra en word uiteindelik via die Pet Dashboard aangebied.
    • Sonarsensor - 'n monsterneming van die inhoud van die voedselhouer, data word oorgedra vanaf die Arduino -eenheid (met Ethernet -skilduitbreiding) na die Blynk -bediener en word uiteindelik via die Pet Dashboard aangebied.
    • Pi -kameramodule - proef voortdurend rame van die troeteldiergebied, die Pi bied sy eie bediener aan wat die lewendige voer aan die Dashboard van die troeteldier verskaf.
  2. Opdragstroom:

    • Voerknoppie (dashboard) - die opdatering van 'n virtuele speldwaarde deur Blynk, die betrokke funksie word geaktiveer op die Arduino -bord, die servo beweeg dan sodat voedsel deur die deksel kan gaan.
    • Give Water (Dashboard) - werk 'n virtuele pinwaarde aktief op via Blynk, die relevante funksie word op die Node -MCU -bord geaktiveer, die relais word aangeskakel, die waterpomp begin water na die troeteldier se bak stroom.
    • Pet Live Feed (Dashboard) - ingebed in die paneelbord en lewendige data via die kolfbediener wat op die Pi -toestel werk.

Stap 2: Lys van onderdele

Lys van onderdele
Lys van onderdele
Lys van onderdele
Lys van onderdele
Lys van onderdele
Lys van onderdele

Om aan hierdie stelsel te begin werk, benodig u die volgende (of soortgelyke) dele:

  1. Fisies:

    • Voedselhouer: Ons gebruik 'n industriële tweesydige pyp van 45 cm wat ons in 'n huiswinkel gekoop het. Dit is belangrik om 2 uitgange te hê. Een vir die meting van die inhoud, en die tweede uitgang vir die oop/toe meganisme.
    • Buisband: om dinge bymekaar te hou;)
    • Jumper Wires: Hoe meer, hoe lekkerder, altyd goed om ekstra te hê as iets verkeerd loop.
    • Ethernet -kabel: om ons Arduino (met ethernet -skild) aan die internet te koppel.
    • Tuinhouer: Word gebruik as 'n houer vir water en die waterpomp.
    • Kort waterbuis: gekoppel aan die pomp en gooi water in die troeteldier se bak.
  2. Sensors:

    • WINGONEER watervlak sensor: meet die watervlakke in die bak van die troeteldier.
    • Sonarsensor - Meet die afstand van die voedselvlak tot die boonste deksel in die houer.
    • TONGLING Relay: stel ons in staat om die waterpomp wat water stroom, aan/af te skakel.
    • Pi -kameramodule: gekoppel aan 'n framboos Pi -toestel en stroom beelde van die troeteldiergebied.
    • Generiese servo: sluit die voedselhouer en maak dit oop.
  3. Elektroniese toestelle / borde:

    • Arduino Uno: Beheer die implementering van die voedselhouer -eenheid.
    • Arduino Ethernet Shield: bied 'n internetverbinding aan ons bord.
    • NodeMCU (ESP-8266): Beheer die watereenheid, vir die meting en giet van water. Hierdie bord het die moontlikheid om via WiFi aan te sluit.
    • Raspberry Pi 3 - die kameraserver bedien en bied lewendige voer aan die paneelbord vir troeteldiere.
    • VicTsing 80 GPH dompelpomp: stroom water saam met die waterbuis uit die tuinblik na die bak.

Stap 3: Bedrading en dinge saam plaas

Bedrading en dinge saam plaas
Bedrading en dinge saam plaas
Bedrading en dinge saam plaas
Bedrading en dinge saam plaas
Bedrading en dinge saam plaas
Bedrading en dinge saam plaas

Bedrading

Voordat ons begin, word dit aanbeveel om die Arduino / Node-MCU op 'n broodbord te plaas om dit makliker te maak om al die drade aanmekaar te sit en op 'n fisiese plek te plaas. Daarbenewens word dit aanbeveel om lang drade te gebruik om foute te voorkom as gevolg van die losmaak van kabels. Ons het u 'n bedradingsdiagram verskaf vir die Node-MCU (Watereenheid) en die Arduino (Voedsel-eenheid).

  1. Voedsel -eenheid (Arduino):

    • Sonarsensor:

      • GND (Swart) = GND
      • VCC (rooi) = 5V
      • Trig (pers) = 3
      • Echo (blou) = 4
    • Servo:

      • GND (Swart) = GND
      • VCC (rooi) = 5V
      • Sein (geel) = 9
  2. Watereenheid (Node):

    • Watervlak sensor:

      • S (blou) = A0
      • + (Rooi) = 3v3
      • - (Swart) = GND
    • Relais (elektries aan die waterpomp gekoppel):

      • IN (geel) = D1
      • VCC (rooi) = Vin
      • GND (Swart) = GND
  3. Kamera -eenheid (Pi):

    • Kamerasensor:

      • Koppel aan die enkele kamera -poort van die Pi (vloedkabel)
      • As u meer wil leer oor Pi met kameramodule - skakel

Monteer dele saam

In hierdie gedeelte is u welkom om hierdie projek aan te pas en aan te pas om dit "van u te maak". Maar ons gee u beelde en beskrywings om ons weergawe van die produk te rekonstrueer.

  1. Voedsel -eenheid (Arduino): Die houer is redelik reguit, ons sal fokus op die vervaardiging van die twee deksels.

    • Boonste deksel: sny 2 gate in die deksel sodat die sonarsensor inpas (sien aangehegte prentjie).
    • Onderste deksel + meganisme: Begin met die neem van een van die plastiekaanhegsels (saam met die servosensor) en bou 'n "Sledge Hammer" -vorm met behulp van kleeflint / houtstokkies (ons het slegs band gebruik). Heg dit dan aan die servo vas. Nou het ons 2 gate op die deksel self nodig. Die eerste een moet die servo toelaat om in te pas by die meganisme waarin ons gebou het, aan die "binnekant" van die deksel. Sny nog 'n gat op die kant van die "hamerkop" wat u gemaak het. Op hierdie manier, wanneer die servo oopgaan, sal die stert van die hamer kos na die uitgang vee en voorkom dat groot stukke aanmekaar vassit.
  2. Watereenheid (Node-MCU): Koppel die waterbuis eenvoudig aan die waterpomp en plaas dit nou in die tuinblik (maak seker dat u nie die verkeerde deel met die aflos en elektriese drade in die water plaas nie).
  3. Kamera -eenheid: Al wat u hoef te doen is om die Pi met kameramodule op 'n plek van u keuse te plaas.

Stap 4: Stel Blynk op

Stel Blynk op
Stel Blynk op
Stel Blynk op
Stel Blynk op

Al die eksterne funksies in hierdie projek is gebaseer op Blynk. Hierdie diens bied ons basies 'n gratis webbediener en RESTful API vir kommunikasie met ons Arduino/Node-MCU-toestelle via die internet met behulp van HTTP-protokol. Met Blynk kan ons virtuele penne definieer, wat gebruik sal word as 'n adres vir die uitvoering van spesifieke funksies wat verband hou met die giet van water, voer en monsterneming van die verskillende sensors (ons het die deel vir u gedoen; u hoef net u eie toepassingsbrief te kry, wat vervolgens verduidelik sal word).

Hoe om my Blynk -verifikasietoken te kry

  1. Laai die Blynk -app af via AppStore / PlayStore vir u mobiele toestel.
  2. Teken in vir hierdie diens (dit is gratis om te gebruik).
  3. Begin met 'n nuwe projek; kies die regte toestel (in ons geval ESP8266).
  4. Na die skepping, sal 'n e -pos met AUTHENTICATION TOKEN gestuur word - Stoor die teken vir die volgende stappe.

Let wel: Blynk kan volledig via die app gebruik word, maar ons het besluit om ons eie pasgemaakte paneelbord te implementeer.

Ten slotte, om na die volgende stap te gaan, moet u die Blynk -biblioteek aflaai en installeer - skakel (gaan na deel 3)

Stap 5: Stel voedselhouer, waterpomp en lewendige kamera op

Stel voedselhouer, waterpomp en lewendige kamera op
Stel voedselhouer, waterpomp en lewendige kamera op
Stel voedselhouer, waterpomp en lewendige kamera op
Stel voedselhouer, waterpomp en lewendige kamera op

Op hierdie stadium het ons al die onderdele bymekaargemaak en ons blynkAuthAppToken gekry (sien stap 3).

Ons het u al die kode verskaf wat u nodig het om hierdie projek uit te voer. Al wat u hoef te doen is om 'n paar veranderlikes in die kode te verander, wat dit 'u eie' privaat stelsel sal maak.

Begin eers met die aflaai van die Arduino IDE (as u dit nog nie gedoen het nie) - Link

Arduino voedselhouer

  1. Stel die IDE op die Arduino -bord in: Tools -> Board -> Arduino/Genuino Uno
  2. Maak seker dat u hierdie biblioteke geïnstalleer het: Skets -> Sluit biblioteek in -> Bestuur biblioteke

    Relay (Deur Rafael)

  3. Maak PetFeeder.ino -sketslêer oop, stel die volgende params op (sien aangehegte prent vir hulp):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Stel die skets op en laai dit op na u Arduino -toestel.

Node-MCU Watereenheid

  1. Stel die IDE op die Node-MCU-bord in:

    Sien die instruksies se eerste deel vir 'n gedetailleerde verduideliking

  2. Maak seker dat u hierdie biblioteke geïnstalleer het: Skets -> Sluit biblioteek in -> Bestuur biblioteke

    WiFi -bestuurder (deur tzapu)

  3. Maak PetFeeder.ino -sketslêer oop, stel die volgende params op (sien aangehegte prent vir hulp):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // Dit is eintlik die naam van u WiFi -netwerk
    • pass = "YOUR_WIFI_PASSWORD"; // as jy geen wagwoord het nie, gebruik leë string ""
  4. Stel die skets saam en laai dit op na u Node-MCU-toestel.

Pi Live Camera Module

  1. Koppel die pi -kamera module aan
  2. Begin "sudo raspi-config" en stel die opsie "kamera" in.
  3. Toets die kamera met die opdrag "raspistill" om 'n foto te neem

    r aspistill -o image.jpg

  4. Stel Flask -webkamera -bediener in:

    • Installeer alle vereistes met behulp van pip install -r requirements.txt
    • Gebruik python om camera_server.py uit te voer
    • Kyk gerus op 127.0.0.1:5000/video_feed
  5. Stel Flask -webbediener in om tydens opstart te werk:

    • Voeg die volgende reël by /etc/rc.local (voor afritlyn):

      python /camera_server.py

Stap 6: Hoe om die bedieningspaneel te gebruik

Hoe om die bedieningspaneel te gebruik
Hoe om die bedieningspaneel te gebruik

Stel op

Hierdie deel is redelik eenvoudig; al wat u hoef te doen is om die "blynk -apptoken" in die "index.js" -lêer in te voeg:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // gebruik dieselfde teken as vorige stappe.

Gebruik

  1. Maak die paneelbord oop deur te dubbelklik op die lêer "index.html".
  2. Elke 10 minute neem die stelsel outomaties 'n voorbeeld van die stelsel.
  3. Water- en voedselhouermaatreëls kan met die hand geneem word.
  4. Die knoppies "Gee water" en "Voer" word gebruik om u troeteldier aktief van voedsel en water te voorsien.
  5. Die onderste deel van die paneelbord sal die lewendige voer van die kameramodule vertoon as u die vorige stapinstruksies noukeurig gevolg het.

Let wel: As u die aantal kere wat die voedselhouer oopmaak tydens die voeding wil aanpas, maak 'index.js' lêer oop en verander die 'waarde' op die volgende reël van '3' na 'n nommer van u keuse:

haal (baseURL + '/update/V1? value = 3');

Stap 7: Uitdagings, grense en toekomsplanne

Uitdagings

Die belangrikste uitdagings vir ons in hierdie projek het verband gehou met die ontwerp van die oop/toe meganisme van die voedselhouer en die opstel van 'n stabiele kode vir die beheer en meting van die voedsel -eenheid. Ek glo ons het ten minste 4 verskillende weergawes probeer totdat ons tevrede was. Die grootste kommer was dat voedsel die uitgang blokkeer. Om dit te voorkom, het ons 'n Sledge-Hammer-ontwerp gekies, en sodra ons die houer oopmaak, is die stert van die "hamer" besig om kos na die uitgang te vee. Boonop het die gebruik van 'n tweekantbuis ons lewe baie eenvoudiger gemaak tydens die bou van die voedselhouer. So 'n voorwerp is ideaal om die uitgangsmeganisme aan die een kant te plaas, en 'n afstandsensor aan die ander kant om die inhoud daarvan te meet.

Grense

In hierdie fase van die projek is die stelsel beperk:

  1. Dit is nie volledig outomaties nie, wat beteken dat die voer en giet van water handmatig via die moniteringspaneel gedoen word, sonder slim skedules (wat in die toekoms bygevoeg kan word of deur u geïmplementeer kan word!).
  2. Die paneelbord werk plaaslik vanaf u eie skootrekenaar, om dit meer toeganklik te maak, kan dit op gewilde platforms soos 'Heroku' aangebied word.
  3. Ons het 'n baie eenvoudige kameramodule gebruik, wat vervang kan word met 'n baie meer ingewikkelde module om 'n beter beeldkwaliteit moontlik te maak en moontlik die kommunikasiekanaal met u troeteldier by te voeg (met behulp van 'n luidspreker).

Toekomsplanne

As ons die tyd en die begroting gehad het om voort te gaan met die ontwikkeling van hierdie stelsel, het ons 'n paar idees en moontlike skedule in gedagte:

  1. Voeg outomatiese skeduleringstelsel by vir troeteldiervoeding - 2 ~ 3 dae werk.
  2. Die bou van 'n webwerf om gebruikers van ons stelsel in staat te stel om persoonlike paneelbord te skep wat aanlyn aangebied word en toeganklik is vanaf enige gekoppelde toestel - 1-2 maande se werk.
  3. Werk aan 'n industriële weergawe vir hierdie stelsel, sodat meer eienaars van troeteldiere beter beheer en aanlyn met hul troeteldiere kan kommunikeer; ons het baie belangstelling gehad van vriende wat die uitkoms van hierdie Instructable gesien het. Dus, as u die tydspassie het om die projek na die volgende vlak te neem, het u volle ondersteuning!

Ons hoop dat u dit geniet het om hierdie projek te lees (en hopelik te bou!):)

Aanbeveel: