Kazalo:

IDC2018IOT Priključena hrana, voda in sistem za spremljanje hišnih ljubljenčkov: 7 korakov
IDC2018IOT Priključena hrana, voda in sistem za spremljanje hišnih ljubljenčkov: 7 korakov

Video: IDC2018IOT Priključena hrana, voda in sistem za spremljanje hišnih ljubljenčkov: 7 korakov

Video: IDC2018IOT Priključena hrana, voda in sistem za spremljanje hišnih ljubljenčkov: 7 korakov
Video: Монтаж канализации своими руками. Ошибки и решения. #24 2024, November
Anonim
Image
Image
IDC2018IOT Priključen sistem za prehrano, vodo in nadzor hišnih ljubljenčkov
IDC2018IOT Priključen sistem za prehrano, vodo in nadzor hišnih ljubljenčkov

Uvod

Ne glede na to, ali ste študent pod pritiskom, trdo delate ali preprosto niste doma več kot nekaj ur na dan. Kot skrbni lastniki hišnih ljubljenčkov želimo poskrbeti, da bodo naši ljubljeni ostali zdravi, nahranjeni in seveda NE ležijo na kavču (ti pankrt!). Čas je, da nehate prositi za storitve ali celo plačati za take storitve.

S tem kul projektom vam želimo omogočiti, da to storite sami (slišal sem, da je to zdaj nekaj). Zgradili bomo rešitev za boljše spremljanje naših hišnih ljubljenčkov in celo ukrepali, ko smo v pisarni, v šoli ali se samo družimo s prijatelji ali drugimi pomembnimi.

Ta sistem vam bo omogočil hranjenje vašega hišnega ljubljenčka na daljavo, hkrati pa nadzoroval količino hrane, ki jo izlijete iz posode, napolnite posodo z vodo, kadar koli teče prazna. Poleg tega lahko zdaj v realnem času spremljamo nivo vode v posodi, merimo vsebino posode za hrano in najpomembneje, da hišnega ljubljenčka v živo opazujemo s preprostim modulom kamere.

O nas

Tomer Maimon, Gilad Ram in Alon Shprung. Trije strastni študenti računalništva IDC Herzeliya. To je naš prvi projekt Instructables v okviru delavnice IoT - upamo, da vam bo gradnja zanimiva in zabavna!

1. korak: Razumevanje arhitekture:

Razumevanje arhitekture
Razumevanje arhitekture
Razumevanje arhitekture
Razumevanje arhitekture

Ta sistem lahko razdelimo na dva glavna dela:

  1. Dohodni podatkovni kanali:

    • Senzor vode - vzorčenje ravni vode v skledi za hišne ljubljenčke, podatki se prenašajo iz enote Node -MCU na strežnik Blynk in se na koncu predstavijo prek nadzorne plošče za hišne ljubljenčke.
    • Sonarni senzor - vzorčenje vsebine posode za hrano, podatki se prenašajo iz enote Arduino (z razširitvijo za zaščito Ethernet) na strežnik Blynk in se na koncu predstavijo prek nadzorne plošče za hišne ljubljenčke.
    • Modul kamere Pi - nenehno vzorči okvirje območja za hišne ljubljenčke, Pi gostuje na svojem strežniku, ki v živo posreduje nadzorno ploščo za hišne ljubljenčke.
  2. Ukazni tok:

    • Gumb za podajanje (nadzorna plošča) - posodobitev vrednosti navideznega zatiča prek Blynka, ustrezna funkcija se sproži na plošči Arduino, servo se nato premakne, da lahko hrana prehaja skozi pokrov.
    • Daj vodo (nadzorna plošča) - aktivno posodablja vrednost navideznega zatiča preko Blynka, ustrezna funkcija se sproži na plošči Node -MCU, rele se vklopi, vodna črpalka bo začela pretakati vodo v posodo hišnega ljubljenčka.
    • Pet Live Feed (Dashboard) - vgrajen v armaturno ploščo in predstavlja podatke v živo prek strežnika za bučke, ki deluje na napravi Pi.

2. korak: Seznam delov

Seznam delov
Seznam delov
Seznam delov
Seznam delov
Seznam delov
Seznam delov

Za začetek dela na tem sistemu boste potrebovali naslednje (ali podobne) dele:

  1. Fizično:

    • Posoda za hrano: Uporabili smo industrijsko 45 cm dvostransko cev, ki smo jo kupili v veleblagovnici za dom. Pomembno je, da imate 2 izhoda. Eden za merjenje vsebine in drugi izhod za mehanizem odpiranja/zapiranja.
    • Lepilni trak: Za ohranjanje stvari skupaj;)
    • Jumper Wires: Bolj ko je veselje, vedno je dobro imeti nekaj dodatnega, če gre kaj narobe.
    • Ethernetni kabel: Za povezavo našega Arduina (z ethernetnim ščitom) na internet.
    • Vrtna pločevinka: Uporablja se kot posoda za vodo in vodno črpalko.
    • Kratka cev za vodo: priključena na črpalko in nalije vodo v posodo hišnega ljubljenčka.
  2. Senzorji:

    • Senzor nivoja vode WINGONEER: Izmerite nivo vode v posodi hišnega ljubljenčka.
    • Sonarni senzor - Izmerite razdaljo nivoja hrane od zgornjega pokrova v posodi.
    • TONGLING Rele: Omogoča vklop/izklop vodne črpalke, ki pretaka vodo.
    • Modul kamere Pi: povezan z malinovo Pi napravo in pretaka slike območja hišnih ljubljenčkov.
    • Splošni servo: Zaklene in odklene posodo za hrano.
  3. Elektronske naprave / plošče:

    • Arduino Uno: Nadzira izvajanje enote posode za hrano.
    • Arduino Ethernet Shield: Omogoča internetno povezavo z našo ploščo.
    • NodeMCU (ESP-8266): Nadzira vodno enoto, tako za merjenje kot za izlivanje vode. Ta plošča ima možnost povezave prek WiFi.
    • Raspberry Pi 3 - gosti strežnik kamere in v živo posreduje na nadzorno ploščo hišnih ljubljenčkov.
    • Potopna vodna črpalka VicTsing 80 GPH: pretaka vodo iz vrtnarske pločevinke v posodo skupaj z vodovodno cevjo.

3. korak: Ožičenje in povezovanje stvari skupaj

Ožičenje in povezovanje stvari skupaj
Ožičenje in povezovanje stvari skupaj
Ožičenje in povezovanje stvari skupaj
Ožičenje in povezovanje stvari skupaj
Ožičenje in povezovanje stvari skupaj
Ožičenje in povezovanje stvari skupaj

Ožičenje

Preden začnemo, je priporočljivo, da Arduino / Node-MCU postavite na mizo, da olajšate sestavljanje vseh žic in njihovo namestitev na katero koli fizično mesto. Poleg tega je priporočljivo uporabljati dolge žice, da preprečite napake, ki izhajajo iz odklopa kabla. Posredili smo vam shemo ožičenja za Node-MCU (vodna enota) in Arduino (enota za hrano).

  1. Enota za hrano (Arduino):

    • Sonarni senzor:

      • GND (črna) = GND
      • VCC (rdeča) = 5V
      • Trig (vijolična) = 3
      • Odmev (modra) = 4
    • Servo:

      • GND (črna) = GND
      • VCC (rdeča) = 5V
      • Signal (rumen) = 9
  2. Vodna enota (vozlišče):

    • Senzor nivoja vode:

      • S (modra) = A0
      • + (Rdeča) = 3v3
      • - (črna) = GND
    • Rele (električno povezan z vodno črpalko):

      • IN (rumena) = D1
      • VCC (rdeča) = Vin
      • GND (črna) = GND
  3. Enota kamere (Pi):

    • Senzor kamere:

      • Priključite na Pi -jeva vrata za eno kamero (pretočni kabel)
      • Če želite izvedeti več o Pi z modulom kamere - Povezava

Sestavljanje delov skupaj

V tem delu ste dobrodošli, da ta projekt prilagodite in spremenite tako, da bo "vaš". Ponudili pa vam bomo slike in opis za rekonstrukcijo naše različice izdelka.

  1. Enota za hrano (Arduino): Posoda je precej naravnost, osredotočili se bomo na izdelavo obeh pokrovov.

    • Zgornji pokrov: V pokrovu izrežite 2 luknji, da se senzor sonarja prilega (glejte sliko v prilogi).
    • Spodnji pokrov + mehanizem: Začnite z vgradnjo enega od plastičnih nastavkov (priloženih servo senzorju) in z lepilnim trakom / lesenimi palicami (uporabili smo le trak). Nato pritrdite servo. Zdaj potrebujemo 2 luknji na samem pokrovu. Prvi mora omogočiti, da se servo vstavi v s. Mehanizem, ki smo ga izdelali, na "notranjo stran" pokrova. Izrežite še eno luknjo glede na stran "glave kladiva", ki ste jo izdelali. Na ta način bo vsakič, ko se servo odpre, rep kladiva pometel hrano proti izhodu in preprečil, da bi se veliki kosi zlepili skupaj.
  2. Vodna enota (vozlišče-MCU): preprosto priključite cev za vodo na vodno črpalko, zdaj jo postavite v vrtno pločevinko (pazite, da napajalnega dela z relejem in električnimi žicami ne postavite v vodo).
  3. Enota kamere: Vse, kar morate storiti, je, da modul Pi s kamero postavite na izbrano mesto.

4. korak: Namestite Blynk

Nastavitev Blynk
Nastavitev Blynk
Nastavitev Blynk
Nastavitev Blynk

Vse oddaljene zmogljivosti v tem projektu temeljijo na Blynku. Ta storitev nam v bistvu ponuja brezplačen spletni strežnik in RESTful API za komunikacijo z našimi napravami Arduino/Node-MCU po internetu prek protokola HTTP. Blynk nam omogoča, da določimo virtualne zatiče, ki bodo uporabljeni kot naslov za izvajanje posebnih funkcij, povezanih z vlivanjem vode, hranjenjem in vzorčenjem različnih senzorjev (ta del smo naredili namesto vas, vse kar morate storiti je, da dobite svoj žeton aplikacije, ki bo razložen v nadaljevanju).

Kako pridobiti moj žeton za preverjanje pristnosti Blynk

  1. Prenesite aplikacijo Blynk prek AppStore / PlayStore za svojo mobilno napravo.
  2. Prijavite se za to storitev (brezplačna je za uporabo).
  3. Začnite nov projekt, izberite pravo napravo (v našem primeru ESP8266).
  4. Po ustvarjanju bo poslano e -poštno sporočilo z žetonom AUTHENTICATION TOKEN - Shranite žeton za naslednje korake.

Opomba: Blynk lahko v celoti uporabljate prek aplikacije, vendar smo se odločili za uporabo lastne prilagojene nadzorne plošče.

Nazadnje, če želite nadaljevati z naslednjim korakom, prenesite in namestite knjižnico Blynk - Povezava (preskočite na 3. del)

5. korak: Konfigurirajte posodo za hrano, vodno črpalko in kamero v živo

Konfigurirajte posodo za hrano, vodno črpalko in kamero v živo
Konfigurirajte posodo za hrano, vodno črpalko in kamero v živo
Konfigurirajte posodo za hrano, vodno črpalko in kamero v živo
Konfigurirajte posodo za hrano, vodno črpalko in kamero v živo

Na tej točki smo zaključili sestavljanje vseh delov skupaj in dobili naš blynkAuthAppToken (glej korak 3).

Zagotovili smo vam vso kodo, ki jo potrebujete za izvajanje tega projekta, vse kar morate storiti je, da spremenite nekaj spremenljivk v kodi, zaradi česar bo postal "vaš" zasebni sistem.

Najprej začnite s prenosom Arduino IDE (če tega še niste storili) - Povezava

Arduino posoda za hrano

  1. Nastavite IDE na ploščo Arduino: Orodja -> Plošča -> Arduino/Genuino Uno
  2. Prepričajte se, da imate nameščene te knjižnice: Sketch -> Include Library -> Manage Libraries

    Rele (avtor Rafael)

  3. Odprite datoteko skic PetFeeder.ino, konfigurirajte naslednje parametre (za pomoč glejte priloženo sliko):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Sestavite in naložite skico v svojo napravo Arduino.

Node-MCU Vodna enota

  1. Nastavite IDE na ploščo Node-MCU:

    Za podrobnejšo razlago si oglejte prvi del tega navodila

  2. Prepričajte se, da imate nameščene te knjižnice: Sketch -> Include Library -> Manage Libraries

    Upravitelj WiFi (avtor tzapu)

  3. Odprite datoteko skic PetFeeder.ino, konfigurirajte naslednje parametre (za pomoč glejte priloženo sliko):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // V bistvu je to ime vašega omrežja WiFi
    • pass = "YOUR_WIFI_PASSWORD"; // če nimate gesla, uporabite prazen niz ""
  4. Skicirajte in naložite skico v napravo Node-MCU.

Modul kamere Pi Live

  1. Priključite modul pi kamere
  2. Zaženite "sudo raspi-config" in omogočite možnost "camera".
  3. Preizkusite kamero z ukazom "raspistill", da posnamete sliko

    r aspistill -o image.jpg

  4. Nastavite strežnik spletnih kamer Flask:

    • Vse zahteve namestite s pip install -r requirements.txt
    • Uporabite python za zagon camera_server.py
    • Preverite na 127.0.0.1:5000/video_feed
  5. Nastavite spletni strežnik Flask za zagon ob zagonu:

    • V /etc/rc.local (pred izhodno vrstico) dodajte naslednjo vrstico:

      python /camera_server.py

6. korak: Kako uporabljati nadzorno ploščo

Kako uporabljati nadzorno ploščo
Kako uporabljati nadzorno ploščo

Nastaviti

Ta del je dokaj preprost, vse kar morate storiti je, da datoteko "blynk app token" vstavite v datoteko "index.js", kot sledi:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // uporabite isti žeton iz prejšnjih korakov.

Uporaba

  1. Odprite nadzorno ploščo tako, da dvokliknete datoteko "index.html".
  2. Armaturna plošča bo samodejno vzorčila sistem vsakih 10 minut.
  3. Ukrepe za posodo za vodo in hrano je mogoče sprejeti ročno.
  4. Gumbi "Daj vodo" in "Krmi" se uporabljajo za aktivno oskrbo vašega ljubljenčka s hrano in vodo.
  5. Spodnji del armaturne plošče bo predstavil vir v živo iz modula kamere, če ste natančno upoštevali navodila prejšnjega koraka.

Opomba: Če želite prilagoditi, kolikokrat se posoda za hrano odpre, ko se hranite, odprite datoteko "index.js" in spremenite "vrednost" v naslednji vrstici s "3" na poljubno število po vaši izbiri:

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

7. korak: Izzivi, omejitve in prihodnji načrti

Izzivi

Glavni izzivi za nas v tem projektu so bili povezani z oblikovanjem mehanizma za odpiranje/zapiranje posode za hrano in ustvarjanjem stabilne sočasne kode za nadzor in merjenje enote hrane. Verjamem, da smo poskusili vsaj 4 različne različice, dokler nismo bili zadovoljni. Glavna skrb je bila hrana, ki je blokirala izhod. Da bi to preprečili, smo izbrali zasnovo kladiva, tako da vsakič, ko odpremo posodo, rep "kladiva" pomete hrano proti izhodu. Poleg tega nam je uporaba dvostranske cevi močno olajšala življenje pri gradnji posode za hrano. Tak predmet je kot nalašč za namestitev izstopnega mehanizma na eni strani in senzorja razdalje na drugi strani za merjenje njegove vsebine.

Meje

V tej fazi projekta obstaja nekaj omejitev sistema:

  1. Ni popolnoma avtomatiziran, kar pomeni, da se dovajanje in polivanje vode izvaja ročno prek nadzorne nadzorne plošče brez pametnih načrtovalcev (ki bi jih lahko v prihodnosti dodali ali jih implementirali!).
  2. Armaturna plošča deluje lokalno z vašega prenosnika, zato jo lahko naredite dostopnejšo na priljubljenih platformah, kot je "Heroku".
  3. Uporabili smo zelo enostaven modul kamere, ki ga je mogoče zamenjati z veliko bolj zapletenim modulom, ki omogoča boljšo kakovost slike in možno dodajanje komunikacijskega kanala z vašim hišnim ljubljenčkom (z uporabo zvočnika).

Načrti za prihodnost

Če bi imeli čas in proračun za nadaljnji razvoj tega sistema, bi imeli v mislih nekaj idej in možen urnik:

  1. Dodajanje samodejnega sistema razporejanja hranjenja hišnih ljubljenčkov - 2 ~ 3 dni dela.
  2. Izdelava spletnega mesta, ki uporabnikom našega sistema omogoča ustvarjanje prilagojene nadzorne plošče, ki gostuje na spletu in je dostopna iz katere koli povezane naprave - 1-2 meseca dela.
  3. Delo na industrijski različici tega sistema, ki je več lastnikom hišnih ljubljenčkov omogočilo boljši nadzor in komunikacijo z njihovimi hišnimi ljubljenčki na spletu, smo imeli veliko zanimanje prijateljev, ki so videli rezultat tega navodila. Torej, če imate čas strast, da projekt popeljete na naslednjo stopnjo - imate popolno podporo!

Upamo, da ste uživali v branju (in upamo, da boste gradili!) Ta projekt:)

Priporočena: