Innholdsfortegnelse:
- Trinn 1: Forstå arkitekturen:
- Trinn 2: Liste over deler
- Trinn 3: Kabling og plassering av ting sammen
- Trinn 4: Konfigurer Blynk
- Trinn 5: Konfigurer matbeholder, vannpumpe og levende kamera
- Trinn 6: Slik bruker du kontrollpanelet
- Trinn 7: Utfordringer, grenser og fremtidsplaner
Video: IDC2018IOT Connected Pet Food, Water and Monitor System: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Introduksjon
Enten du er en student under press, en hardtarbeidende person eller bare er borte fra hjemmet i mer enn noen få timer om dagen. Som omsorgsfulle kjæledyrseiere vil vi sørge for at våre kjære forblir sunne, matede og selvfølgelig IKKE liggende på sofaen (din jævel!). Det er på tide å slutte å be om tjenester, eller til og med betale for slike tjenester.
Med dette kule prosjektet tar vi sikte på å gi deg muligheten til å gjøre-det-selv (jeg hørte at det er en ting nå). Vi vil bygge en løsning for å overvåke kjæledyrene våre bedre, og til og med iverksette tiltak mens vi er på kontoret, skolen eller bare henger med våre venner eller viktige andre.
Dette systemet lar deg mate kjæledyret ditt eksternt mens du kontrollerer mengden mat du heller fra beholderen, fyll vannskålen når den går tom. I tillegg kan vi nå overvåke bollenes vannstand i sanntid, måle innholdet i matbeholderen og viktigst av alt se på kjæledyret live ved hjelp av en enkel kameramodul.
Om oss
Tomer Maimon, Gilad Ram og Alon Shprung. Tre lidenskapelige informatikkstudenter ved IDC Herzeliya. Dette er vårt første Instructables -prosjekt som en del av et IoT -verksted - vi håper du vil synes det er interessant og morsomt å bygge!
Trinn 1: Forstå arkitekturen:
Vi kan dele dette systemet i to hoveddeler:
-
Innkommende datakanaler:
- Vannsensor - prøvetaking av vannstandene inne i kjæledyrskålen, data overføres fra Node -MCU -enheten til Blynk -serveren og presenteres til slutt via Pet Dashboard.
- Ekkoloddsensor - prøvetaking av innholdet i matbeholderen, data overføres fra Arduino -enheten (med Ethernet -skjermforlengelse) til Blynk -serveren og presenteres til slutt via Pet Dashboard.
- Pi kameramodul - prøver hele tiden rammer av kjæledyrområdet, Pi er vert for sin egen server som leverer live feed til kjæledyrets dashbord.
-
Kommandoflyt:
- Feed Button (Dashboard) - oppdatering av en virtuell pin -verdi gjennom Blynk, den relevante funksjonen utløses på Arduino -kortet, og servoen beveger seg for å la mat passere gjennom lokket.
- Give Water (Dashboard) - oppdaterer aktivt en virtuell pin -verdi gjennom Blynk, den relevante funksjonen utløses på Node -MCU -kortet, reléet er slått til ON, vannpumpen begynner å strømme vann til kjæledyrets bolle.
- Pet Live Feed (Dashboard) - innebygd i dashbordet, og presenterer live data via kolbserveren som kjører på Pi -enheten.
Trinn 2: Liste over deler
For å begynne å jobbe med dette systemet trenger du følgende (eller lignende) deler:
-
Fysisk:
- Matbeholder: Vi brukte et industrielt 45 cm tosidig rør, som vi kjøpte i et hjemmevarehus. Det er viktig å ha 2 utganger. En for måling av innholdet, og andre utgang for åpen/lukk -mekanismen.
- Duct Tape: For å holde ting sammen;)
- Jumper Wires: Jo mer jo hyggeligere, alltid godt å ha litt ekstra hvis noe går galt.
- Ethernet -kabel: For å koble Arduino (med ethernet -skjerm) til internett.
- Hagekanne: Brukes som beholder for vann og vannpumpe.
- Kort vannrør: Koblet til pumpen og heller vann til kjæledyrets bolle.
-
Sensorer:
- WINGONEER vannnivåsensor: Mål vannstanden inne i kjæledyrets bolle.
- Ekkoloddsensor - Mål avstanden til matnivået fra det øvre lokket inne i beholderen.
- TONGLING Relé: Lar oss slå på/av vannpumpen som strømmer vann.
- Pi kameramodul: Koblet til en bringebær Pi -enhet, og strømmer bilder av kjæledyrområdet.
- Generisk servo: Låser og låser opp matbeholderen.
-
Elektroniske enheter / tavler:
- Arduino Uno: Kontrollerer implementeringen av matbeholderenheten.
- Arduino Ethernet Shield: Gir internettforbindelse til vårt bord.
- NodeMCU (ESP-8266): Kontrollerer vanneenheten, både for måling og skjenking av vann. Dette kortet har muligheten til å koble til via WiFi.
- Raspberry Pi 3 - vert for kameratjeneren og gir live feed til kjæledyrets dashbord.
- VicTsing 80 GPH nedsenkbar vannpumpe: Strømmer vann fra hageboksen til bollen, sammen med vannslangen.
Trinn 3: Kabling og plassering av ting sammen
Kabling
Før vi begynner, anbefales det å plassere Arduino / Node-MCU på et brødbrett for å gjøre det lettere å sette sammen alle ledningene og plassere det på et hvilket som helst fysisk sted. I tillegg anbefales det å bruke lange ledninger for å forhindre feil som følge av at kabelen løsnes. Vi ga deg et koblingsskjema for Node-MCU (Water Unit) og Arduino (Food Unit).
-
Food Unit (Arduino):
-
Ekkoloddsensor:
- GND (svart) = GND
- VCC (rød) = 5V
- Trig (lilla) = 3
- Ekko (blå) = 4
-
Servo:
- GND (svart) = GND
- VCC (rød) = 5V
- Signal (gul) = 9
-
-
Vann enhet (node):
-
Vannstandssensor:
- S (blå) = A0
- + (Rød) = 3v3
- - (Svart) = GND
-
Relé (elektrisk koblet til vannpumpen):
- IN (gul) = D1
- VCC (rød) = Vin
- GND (svart) = GND
-
-
Kameraenhet (Pi):
-
Kamerasensor:
- Koble til Pi -kameraporten (flusskabel)
- Hvis du ønsker å lære mer om Pi med kameramodul - Link
-
Montering av deler sammen
I denne delen er du velkommen til å tilpasse og modifisere dette prosjektet for å "gjøre det ditt". Men vi gir deg bilder og beskrivelse for å rekonstruere vår versjon av produktet.
-
Food Unit (Arduino): Beholderen er ganske rett frem, vi vil fokusere på å lage de to lokkene.
- Øvre lokk: Skjær 2 hull i lokket slik at ekkoloddsensoren kan passe inn (se vedlagte bilde).
- Nedre lokk + Mekanisme: Begynn med å ta en av plastfestene (følger med servosensoren) og konstruer en "Sledge Hammer" -form ved hjelp av duct tape / trepinner (vi brukte bare tape). Fest deretter servoen. Nå trenger vi 2 hull på selve lokket. Den første skal la servoen passe inn i mekanismen vi konstruerte i plassert på "innsiden" av lokket. Skjær et annet hull basert på siden av "hammerhodet" du laget. På denne måten, når servoen åpnes, vil halen på hammeren feie mat mot utgangen og forhindre at store biter blir sittende fast.
- Vann enhet (Node-MCU): Bare koble vannslangen til vannpumpen, plasser den nå i hageboksen (pass på at du IKKE plasserer feil del med reléet og elektriske ledninger inne i vannet).
- Kameraenhet: Alt du trenger å gjøre er å plassere Pi med kameramodulen på et sted du ønsker.
Trinn 4: Konfigurer Blynk
Alle de eksterne egenskapene i dette prosjektet er basert på Blynk. Denne tjenesten gir oss i utgangspunktet en gratis webserver og RESTful API for kommunikasjon med våre Arduino/Node-MCU-enheter over internett ved hjelp av HTTP-protokoll. Blynk lar oss definere virtuelle pins, som vil bli brukt som en adresse for å utføre spesifikke funksjoner relatert til å helle vann, mate og sampler de forskjellige sensorene (vi gjorde den delen for deg, alt du trenger å gjøre er å få ditt eget applikasjonstoken, som vil bli forklart neste).
Slik får du My Blynk Authentication Token
- Last ned Blynk -appen via AppStore / PlayStore for din mobile enhet.
- Registrer deg for denne tjenesten (den er gratis å bruke).
- Start et nytt prosjekt, sørg for å velge riktig enhet (i vårt tilfelle ESP8266).
- Etter opprettelsen vil en e -post med AUTHENTICATION TOKEN bli sendt - Lagre tokenet for neste trinn.
Merk: Blynk kan brukes fullt ut via appen, men vi bestemte oss for å implementere vårt eget tilpassede dashbord.
Til slutt, for å gå videre til neste trinn, bør du laste ned og installere Blynk -biblioteket - lenke (hopp til del 3)
Trinn 5: Konfigurer matbeholder, vannpumpe og levende kamera
På dette tidspunktet var vi ferdig med å sette sammen alle delene og fikk vårt blynkAuthAppToken (se trinn 3).
Vi ga deg all koden du trenger for å kjøre dette prosjektet. Alt du trenger å gjøre er å endre få variabler i koden, noe som vil gjøre det til ditt "eget" private system.
Først av alt, begynn med å laste ned Arduino IDE (hvis du ikke har gjort det ennå) - Link
Arduino matbeholder
- Sett opp IDE til Arduino -kortet: Verktøy -> Brett -> Arduino/Genuino Uno
-
Sørg for at du har disse bibliotekene installert: Skisse -> Inkluder bibliotek -> Administrer biblioteker
Stafett (Av Rafael)
-
Åpne PetFeeder.ino skissefil, konfigurer følgende params (se vedlagte bilde for hjelp):
auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
- Kompiler og last opp skissen til din Arduino -enhet.
Node-MCU vann enhet
-
Sett opp IDE til Node-MCU-kortet:
Se denne instruksjons første del for detaljert forklaring
-
Sørg for at du har disse bibliotekene installert: Skisse -> Inkluder bibliotek -> Administrer biblioteker
WiFi Manager (av tzapu)
-
Åpne PetFeeder.ino skissefil, konfigurer følgende params (se vedlagte bilde for hjelp):
- auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
- ssid = "YOUR_WIFI_SSID"; // I utgangspunktet er det navnet på WiFi -nettverket ditt
- pass = "YOUR_WIFI_PASSWORD"; // hvis du ikke har noe passord, bruk tom streng ""
- Kompiler og last opp skissen til Node-MCU-enheten din.
Pi Live Camera Module
- Koble til pi -kameramodulen
- Kjør "sudo raspi-config" og angi alternativet "kamera".
-
Test kameraet med kommandoen "raspistill" for å ta et bilde
r aspistill -o image.jpg
-
Sett Flask webkamera -server:
- Installer alle kravene ved hjelp av pip install -r requirements.txt
- Bruk python for å kjøre camera_server.py
- Sjekk det ut på 127.0.0.1:5000/video_feed
-
Sett Flask webserver til å kjøre ved oppstart:
-
Legg til følgende linje til /etc/rc.local (før exit linje):
python /camera_server.py
-
Trinn 6: Slik bruker du kontrollpanelet
Oppsett
Denne delen er ganske enkel, alt du trenger å gjøre er å sette inn "blynk app token" i "index.js" filen som følger:
const blynkToken = "YOUR_BLYNK_APP_TOKEN" // bruk samme token fra tidligere trinn.
Bruk
- Åpne dashbordet ved å dobbeltklikke på filen "index.html".
- Dashbordet vil prøve systemet automatisk hvert 10. minutt.
- Vann- og matbeholder -tiltak kan tas manuelt.
- "Gi vann" og "Feed" -knappene brukes til aktivt å forsyne kjæledyret ditt med mat og vann.
- Den nedre delen av dashbordet vil presentere strømmen fra kameramodulen hvis du fulgte de forrige trinninstruksjonene nøye.
Merk: Hvis du vil tilpasse antall ganger matbeholderen åpnes når du mater, åpner du "index.js" -filen og endrer "verdien" på neste linje fra "3" til et hvilket som helst nummer du ønsker:
hente (baseURL + '/update/V1? value = 3');
Trinn 7: Utfordringer, grenser og fremtidsplaner
Utfordringer
De største utfordringene for oss i dette prosjektet, var knyttet til å designe matbeholderens åpne/lukke -mekanisme og lage en stabil samtidig kode for kontroll og måling av matenheten. Jeg tror vi prøvde minst 4 forskjellige versjoner til vi var fornøyd. Den største bekymringen var mat som blokkerte utgangen. For å forhindre det valgte vi et Sledge-Hammer-design, på denne måten hver gang vi åpner beholderen, feier halen på "hammeren" maten mot utgangen. Videre gjorde bruk av et tosidig rør livet vårt mye enklere mens vi bygde matbeholderen. Et slikt objekt er perfekt for å plassere utgangsmekanismen på den ene siden, og en avstandssensor på den andre siden for å måle innholdet.
Grenser
I denne fasen av prosjektet er det få begrensninger for systemet:
- Det er ikke helt automatisert, noe som betyr at fôring og skjenking av vann gjøres manuelt via overvåkingsdashbordet uten noen smarte planleggere (som kan legges til i fremtiden eller implementeres av deg!).
- Dashbordet kjører lokalt fra din egen bærbare datamaskin, for å gjøre det mer tilgjengelig kan det være vert på populære plattformer som "Heroku".
- Vi brukte en veldig enkel kameramodul, som kan erstattes med en mye mer komplisert modul for å muliggjøre bedre bildekvalitet og mulig tillegg av kommunikasjonskanal med kjæledyret ditt (ved hjelp av en høyttaler).
Fremtidsplaner
Hvis vi hadde tid og budsjett til å fortsette å utvikle dette systemet, hadde vi noen få ideer og mulige planer i tankene:
- Legger til automatisk planleggingssystem for dyrefôring - 2 ~ 3 arbeidsdager.
- Å bygge et nettsted for å gjøre det mulig for brukerne av systemet vårt å lage tilpasset oversikt som er hostet online og tilgjengelig fra alle tilkoblede enheter - 1-2 måneders arbeid.
- Arbeid med en industriell versjon for dette systemet, slik at flere dyreeiere kan bedre kontrollere og kommunisere med kjæledyrene sine på nettet, vi hadde stor interesse fra venner som så utfallet av denne Instructable. Så hvis du har tidlyst til å ta prosjektet til neste nivå - har du full støtte!
Vi håper du likte å lese (og forhåpentligvis bygge!) Dette prosjektet:)
Anbefalt:
Automatisert Pet-Food Bowl Project: 13 trinn
Automated Pet-Food Bowl Project: Denne instruksjonsfilen vil skildre og forklare hvordan du bygger en automatisert, programmerbar dyrefôr med vedlagte matskåler. Jeg har lagt ved en video her som viser hvordan produktene fungerer og hvordan det ser ut
Pet Food Dispenser: 3 trinn
Pet Food Dispenser: Para los amantes de maskotas, este es un proyecto que les puede ser muy útil! En automatisering som kan tillate observasjon av alle deler av komedien, og det er nødvendig å lage et botanisk system
Contact Less and Corrosion Free Water Level Indicator og Motor Control .: 5 trinn
Contact Less and Corrosion Free Water Level Indicator and Motor Control .: HI, I denne instruksen skal vi se hvordan du får status for vanntank basert på vannivå (høy, middels, lav) for overheadtank ved bruk av tre forskjellige fargede lysdioder i en Berøringsfri måte ved hjelp av ultralydssensor og Arduino uno -kort
Aquarium Water Cooling System: 6 trinn
Aquarium Water Cooling System: I denne instruksjonsfilen vil jeg vise deg hvordan du lager kjølesystem for akvariet selv. Alt du trenger er grunnleggende kunnskap innen elektronikk, programmering og litt tid. Hvis du har spørsmål eller problemer, kan du kontakte meg på e -posten min: i
IoT Pet Monitor !: 6 trinn (med bilder)
IoT Pet Monitor !: Hold øye med dine kjære bbies og spill musikk eller be dem om å være stille mens du er borte! Denne opplæringen viser hvordan du bruker en Raspberry Pi -datamaskin til å overvåke lydvolumet i hjemmet ditt (via skyen) for å se om og når kjæledyret ditt er opprørt