Turinys:

IDC2018IOT prijungta gyvūnų ėdalo, vandens ir stebėjimo sistema: 7 žingsniai
IDC2018IOT prijungta gyvūnų ėdalo, vandens ir stebėjimo sistema: 7 žingsniai

Video: IDC2018IOT prijungta gyvūnų ėdalo, vandens ir stebėjimo sistema: 7 žingsniai

Video: IDC2018IOT prijungta gyvūnų ėdalo, vandens ir stebėjimo sistema: 7 žingsniai
Video: IoT EcoStruxure™ гарантирует безотказную работу в больнице Indriati Hospital 2024, Liepa
Anonim
Image
Image
IDC2018IOT prijungta gyvūnų ėdalo, vandens ir stebėjimo sistema
IDC2018IOT prijungta gyvūnų ėdalo, vandens ir stebėjimo sistema

Įvadas

Nesvarbu, ar esate spaudžiamas studentas, ar sunkiai dirbantis žmogus, ar tiesiog toli nuo namų daugiau nei kelias valandas per dieną. Kaip rūpestingi naminių gyvūnėlių savininkai, norime įsitikinti, kad mūsų artimieji išliks sveiki, pamaitinti ir, žinoma, NE gulės ant sofos (niekšas!). Atėjo laikas nustoti prašyti malonių ar net mokėti už tokias paslaugas.

Šiuo šauniu projektu siekiame suteikti jums galimybę patiems pasidaryti (dabar girdėjau, kad tai yra dalykas). Mes sukursime sprendimą, kaip geriau stebėti savo augintinius, ir netgi imsimės veiksmų biure, mokykloje ar tiesiog bendraudami su draugais ar kitais svarbiais žmonėmis.

Ši sistema leis jums maitinti savo augintinį nuotoliniu būdu, tuo pačiu kontroliuojant iš indo pilamo maisto kiekį, užpildykite vandens dubenį, kai jis tuščias. Be to, dabar mes galime realiu laiku stebėti dubenėlio vandens lygį, išmatuoti maisto konteinerio turinį ir svarbiausia stebėti gyvūną gyvai, naudodami paprastą kameros modulį.

Apie mus

Tomer Maimon, Gilad Ram ir Alon Shprung. Trys aistringi IDC Herzeliya informatikos studentai. Tai yra pirmasis mūsų „Instructables“projektas kaip „IoT“seminaro dalis - tikimės, kad jums bus įdomu ir smagu kurti!

1 žingsnis: supraskite architektūrą:

Architektūros supratimas
Architektūros supratimas
Architektūros supratimas
Architektūros supratimas

Šią sistemą galime padalyti į dvi pagrindines dalis:

  1. Įeinančių duomenų kanalai:

    • Vandens jutiklis - imdamas vandens lygį naminių gyvūnėlių dubenyje, duomenys perduodami iš „Node -MCU“į „Blynk“serverį ir galiausiai pateikiami per „Pet Dashboard“.
    • Sonaro jutiklis - imdamas maisto konteinerio turinį, duomenys perduodami iš „Arduino“įrenginio (su „Ethernet“skydo plėtiniu) į „Blynk“serverį ir galiausiai pateikiami per „Pet Dashboard“.
    • „Pi“fotoaparato modulis - nuolat imasi gyvūnų augintinio zonos rėmelių, „Pi“priglobia savo serverį, kuris teikia tiesioginį pašarą naminių gyvūnėlių prietaisų skydelyje.
  2. Komandų eiga:

    • Tiekimo mygtukas (prietaisų skydelis) - atnaujinant virtualią kaiščio vertę per „Blynk“, atitinkama funkcija suaktyvinama „Arduino“lentoje, tada „Servo“juda, kad maistas galėtų praeiti pro dangtį.
    • Duok vandens (prietaisų skydelis) - aktyviai atnaujina virtualią kaiščio vertę per „Blynk“, atitinkama funkcija įjungiama „Node -MCU“plokštėje, relė įjungta įjungta, vandens siurblys pradės tekėti vandenį į augintinio dubenį.
    • Gyvūnų gyvų pašarų srautas (prietaisų skydelis) - įtaisytas prietaisų skydelyje ir pateikia tiesioginius duomenis per kolbos serverį, kuris veikia „Pi“įrenginyje.

2 žingsnis: dalių sąrašas

Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas
Dalių sąrašas

Norėdami pradėti dirbti su šia sistema, jums reikės šių (arba panašių) dalių:

  1. Fizinis:

    • Maisto indas: Mes naudojome pramoninį 45 cm dvipusį vamzdį, kurį nusipirkome namų universalinėje parduotuvėje. Svarbu turėti 2 išėjimus. Vienas skirtas turiniui matuoti, o antrasis - atidarymo/uždarymo mechanizmui.
    • Kanalo juosta: kad viskas būtų kartu;)
    • Trumpieji laidai: kuo daugiau, tuo linksmiau, visada gerai turėti papildomai, jei kažkas negerai.
    • „Ethernet“kabelis: „Arduino“(su eterneto skydu) prijungimui prie interneto.
    • Sodininkystės skardinė: naudojama kaip indas vandeniui ir vandens siurbliui.
    • Trumpas vandens vamzdelis: prijungtas prie siurblio ir pilamas vanduo į augintinio dubenį.
  2. Jutikliai:

    • WINGONEER vandens lygio jutiklis: išmatuokite vandens lygį augintinio dubenyje.
    • Sonaro jutiklis - išmatuokite maisto lygio atstumą nuo viršutinio indo viduje esančio dangtelio.
    • „TONGLING“relė: leidžia įjungti/išjungti vandens siurblį, kuris teka vandenį.
    • „Pi“fotoaparato modulis: prijungtas prie aviečių „Pi“įrenginio ir transliuoja naminių gyvūnėlių zonos vaizdus.
    • Bendras servo: užrakina ir atrakina maisto indą.
  3. Elektroniniai įrenginiai / plokštės:

    • „Arduino Uno“: kontroliuoja maisto konteinerio įrenginio įgyvendinimą.
    • „Arduino Ethernet Shield“: suteikia interneto ryšį prie mūsų plokštės.
    • „NodeMCU“(ESP-8266): valdo vandens įrenginį tiek vandens matavimui, tiek pylimui. Ši plokštė turi galimybę prisijungti per „WiFi“.
    • „Raspberry Pi 3“- priglobia fotoaparato serverį ir teikia tiesioginį pašarą naminių gyvūnėlių prietaisų skydelyje.
    • „VicTsing 80 GPH“povandeninis vandens siurblys: teka vandenį iš sodo skardinės į dubenį kartu su vandens vamzdeliu.

3 žingsnis: Prijunkite ir sudėkite daiktus kartu

Sujungti ir sudėti daiktus kartu
Sujungti ir sudėti daiktus kartu
Sujungti ir sudėti daiktus kartu
Sujungti ir sudėti daiktus kartu
Sujungti ir sudėti daiktus kartu
Sujungti ir sudėti daiktus kartu

Laidai

Prieš pradedant, rekomenduojama „Arduino“/ „Node-MCU“pastatyti ant duonos lentos, kad būtų lengviau sudėti visus laidus ir pastatyti į bet kurią fizinę vietą. Be to, rekomenduojama naudoti ilgus laidus, kad būtų išvengta klaidų, atsirandančių atjungus kabelį. Mes jums pateikėme „Node-MCU“(vandens bloko) ir „Arduino“(maisto bloko) prijungimo schemą.

  1. Maisto vienetas (Arduino):

    • Sonaro jutiklis:

      • GND (juoda) = GND
      • VCC (raudona) = 5 V.
      • Trig (purpurinė) = 3
      • Aidas (mėlynas) = 4
    • Servo:

      • GND (juoda) = GND
      • VCC (raudona) = 5 V.
      • Signalas (geltonas) = 9
  2. Vandens blokas (mazgas):

    • Vandens lygio jutiklis:

      • S (mėlyna) = A0
      • + (Raudona) = 3v3
      • - (juoda) = GND
    • Relė (elektra prijungta prie vandens siurblio):

      • IN (geltona) = D1
      • VCC (raudona) = Vin
      • GND (juoda) = GND
  3. Fotoaparatas (Pi):

    • Fotoaparato jutiklis:

      • Prijunkite prie „Pi“vieno fotoaparato prievado (srauto kabelis)
      • Jei norite sužinoti daugiau apie „Pi“su fotoaparato moduliu - nuoroda

Dalių surinkimas kartu

Šioje dalyje galite pritaikyti ir modifikuoti šį projektą, kad „padarytumėte jį savo“. Bet mes pateiksime jums vaizdus ir aprašymą, kad galėtume atkurti mūsų produkto versiją.

  1. Maisto vienetas („Arduino“): Indas yra gana tiesiai į priekį, mes sutelksime dėmesį į dviejų dangčių paruošimą.

    • Viršutinis dangtis: Iškirpkite 2 skyles dangtelyje, kad Sonaro jutiklis tilptų (žr. Pridėtą paveikslėlį).
    • Apatinis dangtelis + mechanizmas: Pradėkite paimti vieną iš plastikinių priedų (komplektuojamą su servo jutikliu) ir sukurkite „rogių plaktuko“formą, naudodami lipnią juostą / medines lazdeles (naudojome tik juostą). Tada pritvirtinkite jį servo. Dabar ant paties dangtelio mums reikia 2 skylių. Pirmasis turėtų leisti servo sistemai tilpti į mechanizmą, kurį mes sukonstravome, ant dangčio „vidinės pusės“. Iškirpkite kitą skylę pagal jūsų sukurtą „plaktuko galvutės“šoną. Tokiu būdu, kai tik atsidarys servo, plaktuko uodega šluos maistą link išėjimo ir neleis, kad dideli gabalai įstrigtų.
  2. Vandens įrenginys (mazgas-MCU): Tiesiog prijunkite vandens vamzdelį prie vandens siurblio, o dabar įdėkite jį į sodo skardinę (įsitikinkite, kad neįdėjote netinkamos dalies su relė ir elektros laidais vandens viduje).
  3. Fotoaparato blokas: Viskas, ką jums reikia padaryti, tai pastatyti „Pi“su fotoaparato moduliu į jūsų pasirinktą vietą.

4 žingsnis: nustatykite „Blynk“

„Blynk“sąranka
„Blynk“sąranka
„Blynk“sąranka
„Blynk“sąranka

Visos šio projekto nuotolinės galimybės yra pagrįstos „Blynk“. Ši paslauga iš esmės suteikia mums nemokamą žiniatinklio serverį ir RESTful API, skirtą bendrauti su mūsų „Arduino“/„Node-MCU“įrenginiais internetu naudojant HTTP protokolą. „Blynk“leidžia mums apibrėžti virtualius kaiščius, kurie bus naudojami kaip adresas vykdant konkrečias funkcijas, susijusias su vandens pylimu, įvairių jutiklių tiekimu ir mėginių ėmimu (tą dalį padarėme už jus, viskas, ką jums reikia padaryti, tai gauti savo programos žetoną, kas bus paaiškinta toliau).

Kaip gauti „Blynk“autentifikavimo žetoną

  1. Atsisiųskite „Blynk“programą iš savo mobiliojo įrenginio per „AppStore“/ „PlayStore“.
  2. Prisiregistruokite prie šios paslaugos (ja naudotis galima nemokamai).
  3. Pradėkite naują projektą, būtinai pasirinkite tinkamą įrenginį (mūsų atveju ESP8266).
  4. Po sukūrimo bus išsiųstas el. Laiškas su AUTENTICATION TOKEN. Išsaugokite prieigos raktą kitiems veiksmams.

Pastaba: „Blynk“galima visiškai naudoti naudojant programą, tačiau nusprendėme įdiegti savo individualų prietaisų skydelį.

Galiausiai, norėdami pereiti prie kito veiksmo, atsisiųskite ir įdiekite „Blynk“biblioteką - nuoroda (pereikite prie 3 dalies)

5 veiksmas: sukonfigūruokite maisto konteinerį, vandens siurblį ir tiesioginę kamerą

Konfigūruokite maisto konteinerį, vandens siurblį ir tiesioginę kamerą
Konfigūruokite maisto konteinerį, vandens siurblį ir tiesioginę kamerą
Konfigūruokite maisto konteinerį, vandens siurblį ir tiesioginę kamerą
Konfigūruokite maisto konteinerį, vandens siurblį ir tiesioginę kamerą

Šiuo metu mes baigėme surinkti visas dalis ir gavome „blynkAuthAppToken“(žr. 3 veiksmą).

Mes pateikėme jums visą kodą, kurio reikia šiam projektui vykdyti, tereikia pakeisti keletą kodo kintamųjų, todėl tai taps „jūsų“privačia sistema.

Pirmiausia atsisiųskite „Arduino IDE“(jei to dar nepadarėte) - Nuoroda

„Arduino“maisto talpykla

  1. Nustatykite IDE į „Arduino“plokštę: Įrankiai -> Lenta -> „Arduino“/„Genuino Uno“
  2. Įsitikinkite, kad įdiegėte šias bibliotekas: Eskizas -> Įtraukti biblioteką -> Tvarkyti bibliotekas

    Estafetė (autorius Rafaelis)

  3. Atidarykite „PetFeeder.ino“eskizo failą, sukonfigūruokite šiuos parametrus (pagalbos ieškokite pridėtame paveikslėlyje):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Sudarykite ir įkelkite eskizą į „Arduino“įrenginį.

Mazgas-MCU vandens įrenginys

  1. Nustatykite IDE į „Node-MCU“plokštę:

    Išsamų paaiškinimą rasite šios instrukcijos pirmoje dalyje

  2. Įsitikinkite, kad įdiegėte šias bibliotekas: Eskizas -> Įtraukti biblioteką -> Tvarkyti bibliotekas

    „WiFi“valdytojas („tzapu“)

  3. Atidarykite „PetFeeder.ino“eskizo failą, sukonfigūruokite šiuos parametrus (pagalbos ieškokite pridėtame paveikslėlyje):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "JŪSŲ_WIFI_SSID"; // Iš esmės tai yra jūsų „WiFi“tinklo pavadinimas
    • perduoti = "YOUR_WIFI_PASSWORD"; // jei neturite slaptažodžio, naudokite tuščią eilutę ""
  4. Sudarykite ir įkelkite eskizą į „Node-MCU“įrenginį.

„Pi Live“kameros modulis

  1. Prijunkite fotoaparato modulį
  2. Paleiskite „sudo raspi-config“ir nustatykite parinktį „kamera“.
  3. Norėdami užfiksuoti vaizdą, išbandykite fotoaparatą naudodami komandą „raspistill“

    r aspistill -o image.jpg

  4. Nustatykite kolbos žiniatinklio kameros serverį:

    • Įdiekite visus reikalavimus naudodami „pip install“-r követelmények.txt
    • Naudokite „python“, kad paleistumėte „camera_server.py“
    • Patikrinkite tai 127.0.0.1:5000/video_feed
  5. Nustatykite „Flask“žiniatinklio serverį, kad jis būtų paleistas paleidžiant:

    • Prie /etc/rc.local (prieš išėjimo eilutę) pridėkite šią eilutę:

      python /camera_server.py

6 veiksmas: kaip naudotis valdymo skydeliu

Kaip naudotis valdymo skydeliu
Kaip naudotis valdymo skydeliu

Sąranka

Ši dalis yra gana paprasta, tereikia į „index.js“failą įterpti „blynk app token“:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // naudoti tą patį ankstesnių veiksmų prieigos raktą.

Naudojimas

  1. Atidarykite prietaisų skydelį dukart spustelėdami „index.html“failą.
  2. Prietaisų skydelis automatiškai ims sistemos mėginius kas 10 minučių.
  3. Vandens ir maisto konteinerio priemones galima atlikti rankiniu būdu.
  4. Mygtukai „duoti vandens“ir „maitinti“naudojami aktyviai aprūpinti jūsų augintinį maistu ir vandeniu.
  5. Apatinėje prietaisų skydelio dalyje bus rodomas tiesioginis kanalas iš fotoaparato modulio, jei atidžiai vykdysite ankstesnio veiksmo instrukcijas.

Pastaba: jei norite tinkinti, kiek kartų maisto indas atsidaro, kai tiekiate, atidarykite failą „index.js“ir pakeiskite „reikšmę“kitoje eilutėje iš „3“į bet kurį pasirinktą skaičių:

parsisiųsti (baseURL + '/update/V1? value = 3');

7 žingsnis: iššūkiai, ribos ir ateities planai

Iššūkiai

Pagrindiniai šio projekto iššūkiai mums buvo susiję su maisto konteinerio atidarymo/uždarymo mechanizmo sukūrimu ir stabilaus vienodo maisto vieneto valdymo ir matavimo kodo sukūrimu. Manau, kad išbandėme bent 4 skirtingas versijas, kol buvome patenkinti. Pagrindinis rūpestis buvo maistas, blokuojantis išėjimą. Norėdami to išvengti, pasirinkome „Sledge-Hammer“dizainą, tokiu būdu, kai atidarome konteinerį, „plaktuko“uodega šluoja maistą link išėjimo. Be to, naudojant dviejų pusių vamzdelį, kuriant maisto indą, mūsų gyvenimas tapo daug paprastesnis. Toks objektas puikiai tinka išėjimo mechanizmui pastatyti vienoje pusėje, o atstumo jutikliui kitoje pusėje jo turiniui matuoti.

Ribos

Šiame projekto etape sistema turi keletą apribojimų:

  1. Tai nėra visiškai automatizuota, o tai reiškia, kad vanduo tiekiamas ir pilamas rankiniu būdu, naudojant stebėjimo prietaisų skydelį, be jokių protingų tvarkaraščių (kuriuos galite pridėti ateityje arba įgyvendinti patys!).
  2. Prietaisų skydelis veikia vietoje iš jūsų nešiojamojo kompiuterio, kad būtų lengviau prieinamas, jis gali būti priglobtas populiariose platformose, tokiose kaip „Heroku“.
  3. Mes naudojome labai paprastą fotoaparato modulį, kurį galima pakeisti daug sudėtingesniu moduliu, kad būtų užtikrinta geresnė vaizdo kokybė ir galima pridėti ryšio kanalą su savo augintiniu (naudojant garsiakalbį).

Ateities planai

Jei turėtume laiko ir biudžeto toliau plėtoti šią sistemą, turėjome omenyje keletą idėjų ir galimą tvarkaraštį:

  1. Pridedama automatinė augintinių šėrimo planavimo sistema - 2–3 darbo dienos.
  2. Svetainės kūrimas, kad mūsų sistemos vartotojai galėtų sukurti tinkintą prietaisų skydelį, kuris yra priglobtas internete ir pasiekiamas iš bet kurio prijungto įrenginio - 1-2 mėnesiai darbo.
  3. Dirbdami prie pramoninės šios sistemos versijos, leidžiančios daugiau gyvūnų savininkų geriau valdyti ir bendrauti su savo augintiniais internete, susidomėjome draugais, kurie pamatė šios instrukcijos rezultatus. Taigi, jei turite laiko aistros perkelti projektą į kitą lygį - jūs turite visišką paramą!

Tikimės, kad jums patiko skaityti (ir, tikiuosi, kurti) šį projektą:)

Rekomenduojamas: