Sisällysluettelo:

IDC2018IOT yhdistetty lemmikkieläinten ruoka-, vesi- ja valvontajärjestelmä: 7 vaihetta
IDC2018IOT yhdistetty lemmikkieläinten ruoka-, vesi- ja valvontajärjestelmä: 7 vaihetta

Video: IDC2018IOT yhdistetty lemmikkieläinten ruoka-, vesi- ja valvontajärjestelmä: 7 vaihetta

Video: IDC2018IOT yhdistetty lemmikkieläinten ruoka-, vesi- ja valvontajärjestelmä: 7 vaihetta
Video: Barnahus hankkeen väkivalta ja traumawebinaari 2024, Marraskuu
Anonim
Image
Image
IDC2018IOT yhdistetty lemmikkieläinten ruoka-, vesi- ja valvontajärjestelmä
IDC2018IOT yhdistetty lemmikkieläinten ruoka-, vesi- ja valvontajärjestelmä

Johdanto

Olitpa opiskelija paineen alla, ahkera ihminen tai yksinkertaisesti poissa kotoa yli muutaman tunnin päivässä. Huolehtivina lemmikkien omistajina haluamme varmistaa, että rakkaamme pysyvät terveinä, ruokittuina ja tietysti EI makaa sohvalla (paskiainen!). On aika lopettaa palvelusten pyytäminen tai jopa maksaa tällaisista palveluista.

Tällä hienolla projektilla pyrimme tarjoamaan sinulle mahdollisuuden tehdä itse (kuulin, että se on nyt asia). Rakennamme ratkaisun lemmikkiemme parempaan seurantaan ja ryhdymme toimiin jopa toimistossa, koulussa tai vain kavereiden tai muiden tärkeiden ihmisten kanssa.

Tämän järjestelmän avulla voit ruokkia lemmikkisi etänä samalla, kun hallitset astiasta kaadettavan ruoan määrää, täytä vesisäiliö aina, kun se tyhjenee. Lisäksi voimme nyt seurata kulhon vedenpintaa reaaliajassa, mitata ruoka -astian sisältöä ja mikä tärkeintä katsella lemmikkiä suorana käyttämällä yksinkertaista kameramoduulia.

Meistä

Tomer Maimon, Gilad Ram ja Alon Shprung. Kolme intohimoista tietojenkäsittelytieteen opiskelijaa IDC Herzeliyasta. Tämä on ensimmäinen Instructables -projektimme osana IoT -työpajaa - toivomme, että rakentaminen on mielenkiintoista ja hauskaa!

Vaihe 1: Arkkitehtuurin ymmärtäminen:

Arkkitehtuurin ymmärtäminen
Arkkitehtuurin ymmärtäminen
Arkkitehtuurin ymmärtäminen
Arkkitehtuurin ymmärtäminen

Voimme jakaa tämän järjestelmän kahteen pääosaan:

  1. Saapuvat datakanavat:

    • Vesianturi - näytteenotto lemmikkikulhon sisältämistä vesitasoista, tiedot siirretään Node -MCU -yksiköstä Blynk -palvelimelle ja esitetään lopulta lemmikkieläinten kojelaudan kautta.
    • Kaikuluotain -anturi - näytteenotto elintarvikekontin sisällöstä, tiedot lähetetään Arduino -yksiköstä (Ethernet -suojauslaajennuksella) Blynk -palvelimelle ja esitetään lopulta lemmikkieläinten kojelaudan kautta.
    • Pi -kameramoduuli - jatkuvasti näytteitä lemmikkialueen kehyksistä, Pi isännöi omaa palvelinta, joka tarjoaa elävän syötteen lemmikkien kojelautaan.
  2. Komentojen kulku:

    • Syöttöpainike (kojelauta) - virtuaalisen nastan arvon päivittäminen Blynkin kautta, vastaava toiminto käynnistyy Arduino -kortilla, ja servo liikkuu, jotta ruoka pääsee kulkemaan kannen läpi.
    • Anna vettä (kojelauta) - päivittää aktiivisesti virtuaalisen nastan arvon Blynkin kautta, vastaava toiminto käynnistyy Node -MCU -kortilla, rele kytketään päälle, vesipumppu aloittaa veden virtaamisen lemmikin kulhoon.
    • Pet Live Feed (Dashboard) - upotettu kojelautaan ja esittää reaaliaikaista dataa Pi -laitteella toimivan pullo -palvelimen kautta.

Vaihe 2: Osaluettelo

Osaluettelo
Osaluettelo
Osaluettelo
Osaluettelo
Osaluettelo
Osaluettelo

Jotta voit aloittaa tämän järjestelmän käsittelyn, tarvitset seuraavat (tai vastaavat) osat:

  1. Fyysinen:

    • Ruoka-astia: Käytimme teollista 45 cm: n kaksipuolista putkea, jonka ostimme kodin tavaratalosta. On tärkeää, että sinulla on 2 uloskäyntiä. Yksi sisällön mittaamiseen ja toinen avaus-/sulkumekanismin ulostulo.
    • Kanavateippi: pitää asiat yhdessä;)
    • Hyppyjohdot: Mitä enemmän, sitä hauskempaa, aina hyvä saada ylimääräistä, jos jokin menee pieleen.
    • Ethernet -kaapeli: Arduinon (Ethernet -suojalla) yhdistämiseen Internetiin.
    • Puutarhatölkki: Käytetään veden ja vesipumpun säiliönä.
    • Lyhyt vesiputki: Yhdistetty pumppuun ja kaataa vettä lemmikin kulhoon.
  2. Anturit:

    • WINGONEER -vesitason anturi: Mittaa vedenkorkeudet lemmikin kulhosta.
    • Kaikuluotain - Mittaa ruoan tason etäisyys säiliön sisällä olevasta yläkannesta.
    • TONGLING -rele: Mahdollistaa veden virtauksen kytkemisen päälle/pois päältä.
    • Pi -kameramoduuli: Yhdistetty vadelma Pi -laitteeseen ja suoratoistaa kuvia lemmikkialueelta.
    • Yleinen servo: Lukitsee ja avaa elintarvikesäiliön.
  3. Elektroniset laitteet / levyt:

    • Arduino Uno: Ohjaa elintarvikepakkausyksikön toteutusta.
    • Arduino Ethernet Shield: Tarjoaa Internet -yhteyden aluksellemme.
    • NodeMCU (ESP-8266): Ohjaa vesilaitetta sekä veden mittaamiseen että kaatamiseen. Tällä kortilla on mahdollisuus muodostaa yhteys WiFi -yhteyden kautta.
    • Raspberry Pi 3 - isännöi kamerapalvelinta ja tarjoaa elävää syötettä lemmikkien kojelautaan.
    • VicTsing 80 GPH upotettava vesipumppu: Virtaa vettä puutarhatölkistä kulhoon vesiputken kanssa.

Vaihe 3: Johdotus ja tavaroiden sijoittaminen yhteen

Asioiden yhdistäminen ja sijoittaminen yhteen
Asioiden yhdistäminen ja sijoittaminen yhteen
Asioiden yhdistäminen ja sijoittaminen yhteen
Asioiden yhdistäminen ja sijoittaminen yhteen
Asioiden yhdistäminen ja sijoittaminen yhteen
Asioiden yhdistäminen ja sijoittaminen yhteen

Johdotus

Ennen kuin aloitamme, on suositeltavaa sijoittaa Arduino / Node-MCU leipälevylle, jotta kaikki johdot on helpompi koota yhteen ja sijoittaa mihin tahansa fyysiseen paikkaan. Lisäksi on suositeltavaa käyttää pitkiä johtoja, jotta estetään kaapelin irtoamisesta johtuvat virheet. Toimitimme sinulle kytkentäkaavion Node-MCU: lle (vesiyksikkö) ja Arduinolle (ruokayksikkö).

  1. Ruokayksikkö (Arduino):

    • Kaikuluotain:

      • GND (musta) = GND
      • VCC (punainen) = 5V
      • Trig (violetti) = 3
      • Kaiku (sininen) = 4
    • Servo:

      • GND (musta) = GND
      • VCC (punainen) = 5V
      • Signaali (keltainen) = 9
  2. Vesiyksikkö (solmu):

    • Veden tasoanturi:

      • S (sininen) = A0
      • + (Punainen) = 3v3
      • - (musta) = GND
    • Rele (sähköjohdotettu vesipumppuun):

      • IN (keltainen) = D1
      • VCC (punainen) = Vin
      • GND (musta) = GND
  3. Kamerayksikkö (Pi):

    • Kameran anturi:

      • Yhdistä Pi: n yhden kameran porttiin (flux -kaapeli)
      • Jos haluat oppia lisää Pi kameramoduulilla - Link

Osien kokoaminen yhdessä

Tässä osassa voit muokata ja muokata tätä projektia "tehdäksesi siitä sinun". Mutta me tarjoamme sinulle kuvia ja kuvauksia, jotta voimme rekonstruoida tuotteemme version.

  1. Ruokayksikkö (Arduino): Säiliö on melko suoraan eteenpäin, keskitymme kahden kannen valmistamiseen.

    • Yläkansi: Leikkaa kanteen 2 reikää, jotta luotainanturi mahtuu paikalleen (katso oheinen kuva).
    • Alempi kansi + mekanismi: Aloita ottamalla yksi muovikiinnikkeistä (servoanturin mukana) ja rakenna "Sledge Hammer" -muoto käyttämällä teippiä / puisia tikkuja (käytimme vain teippiä). Kiinnitä seuraavaksi servo. Nyt tarvitsemme kaksi reikää kanteen. Ensimmäisen pitäisi antaa servon mahtua s.t mekanismiin, johon rakensimme, sijoitettuna kannen "sisäpuolelle". Leikkaa toinen reikä luomasi "vasarapään" sivun perusteella. Tällä tavalla, aina kun servo avautuu, vasaran pyrstö pyyhkäisee ruokaa uloskäyntiä kohti ja estää suuria kappaleita juuttumasta yhteen.
  2. Vesiyksikkö (Node-MCU): Liitä vesiputki vesipumppuun ja aseta se nyt puutarhanhoitoastiaan (varmista, ettet aseta väärää osaa releen ja sähköjohtojen kanssa veden sisään).
  3. Kamerayksikkö: Sinun tarvitsee vain asettaa Pi kameralla -moduuli haluamaasi paikkaan.

Vaihe 4: Asenna Blynk

Asenna Blynk
Asenna Blynk
Asenna Blynk
Asenna Blynk

Kaikki tämän projektin etäominaisuudet perustuvat Blynkiin. Tämä palvelu tarjoaa pohjimmiltaan ilmaisen Web-palvelimen ja RESTful-sovellusliittymän kommunikointiin Arduino/Node-MCU-laitteidemme kanssa Internetin kautta HTTP-protokollaa käyttäen. Blynk antaa meille mahdollisuuden määritellä virtuaalisia nastoja, joita käytetään osoitteena veden kaatamiseen, eri antureiden syöttämiseen ja näytteenottoon liittyvien tiettyjen toimintojen suorittamiseen (teimme tämän osan puolestasi, sinun tarvitsee vain hankkia oma sovellusmerkki, joka selitetään seuraavassa).

Kuinka saada Blynk -todennustunnukseni

  1. Lataa Blynk -sovellus mobiililaitteellesi AppStoren / PlayStoren kautta.
  2. Rekisteröidy tähän palveluun (se on ilmainen).
  3. Aloita uusi projekti, varmista, että valitset oikean laitteen (tässä tapauksessa ESP8266).
  4. Luomisen jälkeen lähetetään sähköposti, jossa on AUTHENTICATION TOKEN - Tallenna tunniste seuraavia vaiheita varten.

Huomaa: Blynk voidaan käyttää täysin sovelluksen kautta, mutta päätimme ottaa käyttöön oman räätälöidyn kojelaudan.

Lopuksi, jotta voit siirtyä seuraavaan vaiheeseen, sinun on ladattava ja asennettava Blynk -kirjasto - linkki (siirry osaan 3)

Vaihe 5: Määritä ruoka -astia, vesipumppu ja reaaliaikainen kamera

Määritä ruoka -astia, vesipumppu ja live -kamera
Määritä ruoka -astia, vesipumppu ja live -kamera
Määritä ruoka -astia, vesipumppu ja live -kamera
Määritä ruoka -astia, vesipumppu ja live -kamera

Tässä vaiheessa kokoimme kaikki osat yhteen ja saimme blynkAuthAppToken (katso vaihe 3).

Annoimme sinulle kaiken koodin, jota tarvitset tämän projektin suorittamiseen. Sinun tarvitsee vain muuttaa muutamia muuttujia koodissa, mikä tekee siitä "oman" yksityisen järjestelmän.

Aloita ensin lataamalla Arduino IDE (jos et ole vielä tehnyt sitä) - Linkki

Arduino -ruoka -astia

  1. Määritä IDE Arduino -kortille: Työkalut -> Taulu -> Arduino/Genuino Uno
  2. Varmista, että sinulla on asennettuna seuraavat kirjastot: Luonnos -> Sisällytä kirjasto -> Hallitse kirjastoja

    Viesti (Rafael)

  3. Avaa PetFeeder.ino -luonnostiedosto, määritä seuraavat parametrit (katso apua liitteenä olevasta kuvasta):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Kokoa ja lähetä luonnos Arduino -laitteellesi.

Node-MCU-vesiyksikkö

  1. Määritä IDE Node-MCU-kortille:

    Katso tämän ohjeen ensimmäisestä osasta yksityiskohtainen selitys

  2. Varmista, että sinulla on asennettuna seuraavat kirjastot: Luonnos -> Sisällytä kirjasto -> Hallitse kirjastoja

    WiFi Manager (Tekijä tzapu)

  3. Avaa PetFeeder.ino -luonnostiedosto, määritä seuraavat parametrit (katso apua liitteenä olevasta kuvasta):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "OMA_WIFI_SSID"; // Pohjimmiltaan se on WiFi -verkon nimi
    • pass = "OMA_WIFI_SALASANA"; // jos sinulla ei ole salasanaa, käytä tyhjää merkkijonoa ""
  4. Kokoa ja lähetä luonnos Node-MCU-laitteeseesi.

Pi Live -moduuli

  1. Liitä pi -kameramoduuli
  2. Suorita "sudo raspi-config" ja aseta "kamera" -vaihtoehto käyttöön.
  3. Testaa kamera käyttämällä raspistill -komentoa kuvan ottamiseksi

    r aspistill -o image.jpg

  4. Aseta Flask -verkkokamerapalvelin:

    • Asenna kaikki vaatimukset käyttämällä pip install -r vaatimukset.txt -tiedostoa
    • Käytä pythonia kameran_palvelin.py suorittamiseen
    • Tarkista se osoitteessa 127.0.0.1:5000/video_feed
  5. Aseta Flask -verkkopalvelin toimimaan käynnistyksen yhteydessä:

    • Lisää seuraava rivi hakemistoon /etc/rc.local (ennen poistumisriviä):

      python /camera_server.py

Vaihe 6: Ohjauspaneelin käyttäminen

Ohjauspaneelin käyttäminen
Ohjauspaneelin käyttäminen

Perustaa

Tämä osa on melko yksinkertainen, sinun tarvitsee vain lisätä "blynk -sovelluksen tunnus" "index.js" -tiedostoon seuraavasti:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // käytä samaa tunnusta edellisistä vaiheista.

Käyttö

  1. Avaa koontinäyttö kaksoisnapsauttamalla "index.html" -tiedostoa.
  2. Kojelauta ottaa näytteen järjestelmästä automaattisesti 10 minuutin välein.
  3. Vesi- ja ruoka -astiat voidaan mitata manuaalisesti.
  4. "Anna vettä" ja "Syötä" -painikkeita käytetään aktiivisesti ruokkimaan lemmikkisi ruokaa ja vettä.
  5. Kojelaudan alaosassa näkyy kameramoduulin live -syöte, jos noudatit edellisen vaiheen ohjeita huolellisesti.

Huomautus: Jos haluat muokata sitä, kuinka monta kertaa ruoka -astia avautuu syötettäessä, avaa "index.js" -tiedosto ja vaihda seuraavan rivin arvo "3" mihin tahansa valitsemaasi numeroon:

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

Vaihe 7: Haasteet, rajat ja tulevaisuuden suunnitelmat

Haasteet

Suurimmat haasteet tässä hankkeessa liittyivät ruoka -astian avaus-/sulkumekanismin suunnitteluun ja vakaan samanaikaisen koodin luomiseen ruokayksikön ohjaamiseen ja mittaamiseen. Uskon, että kokeilimme vähintään neljää eri versiota, kunnes olimme tyytyväisiä. Suurin huolenaihe oli ruoka, joka esti poistumisen. Tämän estämiseksi valitsimme Sledge-Hammer -mallin, tällä tavalla aina kun avaamme astian, "vasaran" häntä pyyhkäisee ruokaa uloskäyntiä kohti. Lisäksi kaksipuoleisen putken käyttö helpotti elämäämme paljon, kun rakennamme ruoka-astiaa. Tällainen esine on täydellinen sijoittamaan poistumismekanismi toiselle puolelle ja etäisyysanturi toiselle puolelle sen sisällön mittaamiseksi.

Rajoitukset

Tässä projektivaiheessa järjestelmässä on muutamia rajoituksia:

  1. Se ei ole täysin automatisoitu, mikä tarkoittaa, että veden syöttö ja kaataminen tapahtuu manuaalisesti valvontapaneelin kautta ilman älykkäitä ajastimia (jotka voidaan lisätä tulevaisuudessa tai toteuttaa itse!).
  2. Kojelauta toimii paikallisesti omalta kannettavalta tietokoneeltasi, jotta se olisi helpommin saatavilla, sitä voidaan isännöidä suosituilla alustoilla, kuten "Heroku".
  3. Käytimme hyvin yksinkertaista kameramoduulia, joka voidaan korvata paljon monimutkaisemmalla moduulilla paremman kuvanlaadun ja mahdollistavan viestintäkanavan lisäämisen lemmikkisi kanssa (kaiuttimen avulla).

Tulevaisuuden suunnitelmat

Jos meillä olisi aikaa ja budjettia jatkaa tämän järjestelmän kehittämistä, meillä oli muutamia ideoita ja mahdollinen aikataulu mielessä:

  1. Automaattisen aikataulujärjestelmän lisääminen lemmikkien ruokintaan - 2-3 päivää työtä.
  2. Verkkosivuston luominen, jotta järjestelmämme käyttäjät voivat luoda räätälöityjä hallintapaneeleja, joita isännöidään verkossa ja joihin pääsee miltä tahansa liitetyltä laitteelta - 1-2 kuukautta työtä.
  3. Työskentele tämän järjestelmän teollisen version parissa, jotta useammat lemmikinomistajat voivat hallita ja kommunikoida paremmin lemmikkiensä kanssa verkossa, meitä kiinnosti paljon ystävät, jotka näkivät tämän ohjeen tuloksen. Joten jos sinulla on aikaa intoa viedä projekti seuraavalle tasolle - sinulla on täysi tuki!

Toivomme, että nautit tämän projektin lukemisesta (ja toivottavasti rakentamisesta!):)

Suositeltava: