Indholdsfortegnelse:

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

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

Video: IDC2018IOT Connected Pet Food, Water and Monitor System: 7 trin
Video: Connected Pet Control System 2024, Juli
Anonim
Image
Image
IDC2018IOT Connected Pet Food, Water and Monitor System
IDC2018IOT Connected Pet Food, Water and Monitor System

Introduktion

Uanset om du er en studerende under pres, en hårdtarbejdende person eller bare er hjemmefra i mere end få timer om dagen. Som omsorgsfulde kæledyrsejere vil vi sikre, at vores elskede forbliver sunde, fodrede og selvfølgelig IKKE ligger på sofaen (din bastard!). Det er på tide at stoppe med at bede om tjenester eller endda betale for sådanne tjenester.

Med dette fede projekt har vi til formål at give dig muligheden for at gøre-det-selv (jeg har hørt, at det er en ting nu). Vi vil bygge en løsning til bedre overvågning af vores kæledyr og endda tage handling, mens vi er på kontoret, skolen eller bare hænger ud med vores venner eller betydelige andre.

Dette system giver dig mulighed for at fodre dit kæledyr eksternt, mens du kontrollerer mængden af mad, du hælder fra beholderen, fylder vandskålen, når den løber tom. Derudover kan vi nu overvåge skålens vandstand i realtid, måle madbeholderens indhold og vigtigst af alt se kæledyret live ved hjælp af et simpelt kameramodul.

Om os

Tomer Maimon, Gilad Ram og Alon Shprung. Tre lidenskabelige datalogistuderende ved IDC Herzeliya. Dette er vores første Instructables -projekt som en del af et IoT -værksted - vi håber, at du vil finde det interessant og sjovt at bygge!

Trin 1: Forstå arkitekturen:

Forståelse af arkitekturen
Forståelse af arkitekturen
Forståelse af arkitekturen
Forståelse af arkitekturen

Vi kan opdele dette system i to hoveddele:

  1. Indgående datakanaler:

    • Vandsensor - prøveudtagning af vandstandene inde i kæledyrsskålen, data overføres fra Node -MCU -enheden til Blynk -serveren og præsenteres til sidst via Pet Dashboard.
    • Ekkolodssensor - prøveudtagning af madbeholderens indhold, data overføres fra Arduino -enheden (med Ethernet -skjoldforlængelse) til Blynk -serveren og præsenteres til sidst via Pet Dashboard.
    • Pi kameramodul - prøver konstant rammer af kæledyrsområdet, Pi er vært for sin egen server, der leverer live -feed til kæledyrets dashboard.
  2. Kommandoforløb:

    • Feedknap (dashboard) - opdatering af en virtuel pinværdi gennem Blynk, den relevante funktion udløses på Arduino -tavlen, Servoen bevæger sig derefter for at lade mad passere gennem låget.
    • Give vand (instrumentbræt) - opdaterer aktivt en virtuel nålværdi gennem Blynk, den relevante funktion udløses på Node -MCU -kortet, relæet er tændt, vandpumpen begynder at streame vand til kæledyrets skål.
    • Pet Live Feed (Dashboard) - integreret i instrumentbrættet og præsentation af levende data via kolbe -serveren, der kører på Pi -enheden.

Trin 2: Liste over dele

Liste over dele
Liste over dele
Liste over dele
Liste over dele
Liste over dele
Liste over dele

For at begynde at arbejde på dette system skal du bruge følgende (eller lignende) dele:

  1. Fysisk:

    • Madbeholder: Vi brugte et industrielt 45 cm tosidet rør, som vi købte i et hjemmevarehus. Det er vigtigt at have 2 udgange. En til måling af indholdet og anden udgang til åben/luk mekanisme.
    • Kanaltape: For at holde tingene sammen;)
    • Jumper Wires: Jo flere desto bedre, altid godt at have lidt ekstra, hvis noget går galt.
    • Ethernet -kabel: Til tilslutning af vores Arduino (med ethernet -skjold) til internettet.
    • Havearbejde: Kan bruges som beholder til vand og vandpumpe.
    • Kort vandrør: Tilsluttet pumpen og hælder vand i kæledyrets skål.
  2. Sensorer:

    • WINGONEER vandstandssensor: Mål vandstanden inde i kæledyrets skål.
    • Ekkolodssensor - Mål afstanden af madniveauet fra det øverste låg inde i beholderen.
    • TONGLING Relæ: Tillader os at tænde/slukke for vandpumpen, der strømmer vand.
    • Pi -kameramodul: Tilsluttet en hindbær Pi -enhed og streamer billeder af kæledyrsområdet.
    • Generisk servo: Låser og låser madbeholderen op.
  3. Elektroniske enheder / tavler:

    • Arduino Uno: Kontrollerer implementeringen af madbeholderenheden.
    • Arduino Ethernet Shield: Giver internetforbindelse til vores kort.
    • NodeMCU (ESP-8266): Styrer vandenheden, både til måling og hældning af vand. Dette kort har mulighed for at oprette forbindelse via WiFi.
    • Raspberry Pi 3 - vært for kameraserveren og leverer live feed til kæledyrets dashboard.
    • VicTsing 80 GPH nedsænket vandpumpe: Strømmer vand fra havedunken til skålen sammen med vandrøret.

Trin 3: Kabelføring og placering af ting sammen

Kabelføring og placering af ting sammen
Kabelføring og placering af ting sammen
Kabelføring og placering af ting sammen
Kabelføring og placering af ting sammen
Kabelføring og placering af ting sammen
Kabelføring og placering af ting sammen

Ledninger

Inden vi begynder, anbefales det at placere Arduino / Node-MCU på et brødbræt for at gøre det lettere at sætte alle ledninger sammen og placere det på et hvilket som helst fysisk sted. Derudover anbefales det at bruge lange ledninger for at forhindre fejl i forbindelse med kabelføring. Vi forsynede dig med et ledningsdiagram for Node-MCU (Water Unit) og Arduino (Food Unit).

  1. Fødevareenhed (Arduino):

    • Ekkolod sensor:

      • GND (sort) = GND
      • VCC (rød) = 5V
      • Trig (lilla) = 3
      • Ekko (blå) = 4
    • Servo:

      • GND (sort) = GND
      • VCC (rød) = 5V
      • Signal (gul) = 9
  2. Vand enhed (knudepunkt):

    • Vandstandssensor:

      • S (blå) = A0
      • + (Rød) = 3v3
      • - (Sort) = GND
    • Relæ (elektrisk forbundet til vandpumpen):

      • IN (gul) = D1
      • VCC (rød) = Vin
      • GND (sort) = GND
  3. Kameraenhed (Pi):

    • Kamerasensor:

      • Tilslut til Pi's enkelt kameraport (flux -kabel)
      • Hvis du søger at lære mere om Pi med kameramodul - Link

Montering af dele sammen

I denne del er du velkommen til at tilpasse og ændre dette projekt for at "gøre det til dit". Men vi vil give dig billeder og beskrivelse for at rekonstruere vores version af produktet.

  1. Food Unit (Arduino): Beholderen er ret lige fremad, vi vil fokusere på at lave de to låg.

    • Øverste låg: Skær 2 huller i låget, så ekkolodssensoren kan passe ind (se vedhæftede billede).
    • Nedre låg + Mekanisme: Begynd med at tage en af plastikudstyrene (følger med servosensoren) og konstruer en "Sledge Hammer" -form ved hjælp af gaffatape / træpinde (vi brugte kun tape). Sæt det derefter på servoen. Nu har vi brug for 2 huller på selve låget. Den første skal tillade servoen at passe ind i den mekanisme, vi konstruerede i, placeret på "indersiden" af låget. Skær endnu et hul baseret på siden af "hammerhovedet", du har lavet. På denne måde, når servoen åbner, vil halen på hammeren feje mad mod udgangen og forhindre store stykker i at hænge sammen.
  2. Vandsenhed (Node-MCU): Tilslut simpelthen vandrøret til vandpumpen, placer det nu i havearbejdsbeholderen (sørg for, at du IKKE placerer den forkerte del med relæet og elektriske ledninger inde i vandet).
  3. Kameraenhed: Alt du skal gøre er at placere Pi med kameramodulet et sted efter eget valg.

Trin 4: Opsætning af Blynk

Opsætning Blynk
Opsætning Blynk
Opsætning Blynk
Opsætning Blynk

Alle fjernmulighederne i dette projekt er baseret på Blynk. Denne service giver os dybest set en gratis webserver og RESTful API til kommunikation med vores Arduino/Node-MCU-enheder over internettet ved hjælp af HTTP-protokol. Blynk giver os mulighed for at definere virtuelle pins, som vil blive brugt som en adresse til udførelse af specifikke funktioner i forbindelse med hældning af vand, fodring og prøveudtagning af de forskellige sensorer (vi gjorde den del for dig, alt hvad du skal gøre er at få dit eget applikationstoken, som forklares derefter).

Sådan får du mit Blynk -godkendelsestoken

  1. Download Blynk -appen via AppStore / PlayStore til din mobilenhed.
  2. Tilmeld dig denne service (den er gratis at bruge).
  3. Start et nyt projekt, sørg for at vælge den korrekte enhed (i vores tilfælde ESP8266).
  4. Efter oprettelse sendes en e -mail med AUTHENTICATION TOKEN - Gem token til næste trin.

Bemærk: Blynk kan bruges fuldt ud via appen, men vi besluttede at implementere vores eget tilpassede dashboard.

Endelig, for at gå videre til næste trin, skal du downloade og installere Blynk bibliotek - Link (spring til del 3)

Trin 5: Konfigurer madbeholder, vandpumpe og levende kamera

Konfigurer madbeholder, vandpumpe og levende kamera
Konfigurer madbeholder, vandpumpe og levende kamera
Konfigurer madbeholder, vandpumpe og levende kamera
Konfigurer madbeholder, vandpumpe og levende kamera

På dette tidspunkt var vi færdige med at samle alle delene sammen og fik vores blynkAuthAppToken (se trin 3).

Vi forsynede dig med al den kode, du har brug for for at køre dette projekt. Alt du skal gøre er at ændre få variabler i koden, hvilket vil gøre det til "dit eget" private system.

Først og fremmest skal du begynde med at downloade Arduino IDE (hvis du ikke har gjort det endnu) - Link

Arduino madbeholder

  1. Indstil IDE til Arduino -kortet: Værktøjer -> Board -> Arduino/Genuino Uno
  2. Sørg for, at du har disse biblioteker installeret: Skitse -> Inkluder bibliotek -> Administrer biblioteker

    Relæ (Af Rafael)

  3. Åbn PetFeeder.ino skitsefil, konfigurer følgende params (se vedhæftede billede for at få hjælp):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Kompilér og upload skitsen til din Arduino -enhed.

Node-MCU-vandenhed

  1. Konfigurer IDE til Node-MCU-kortet:

    Se denne instruktions første del for detaljeret forklaring

  2. Sørg for, at du har disse biblioteker installeret: Skitse -> Inkluder bibliotek -> Administrer biblioteker

    WiFi Manager (Ved tzapu)

  3. Åbn PetFeeder.ino skitsefil, konfigurer følgende params (se vedhæftede billede for at få hjælp):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // Grundlæggende er det navnet på dit WiFi -netværk
    • pass = "YOUR_WIFI_PASSWORD"; // hvis du ikke har nogen adgangskode, skal du bruge tom streng ""
  4. Kompilér og upload skitsen til din Node-MCU-enhed.

Pi Live Camera -modul

  1. Tilslut pi -kameramodul
  2. Kør "sudo raspi-config" og indstil funktionen "kamera".
  3. Test kameraet ved hjælp af kommandoen "raspistill" for at tage et billede

    r aspistill -o image.jpg

  4. Indstil kolbe webkamera server:

    • Installer alle krav ved hjælp af pip install -r requirements.txt
    • Brug python til at køre camera_server.py
    • Tjek det ud på 127.0.0.1:5000/video_feed
  5. Indstil Flask -webserveren til at køre ved opstart:

    • Tilføj følgende linje til /etc/rc.local (før exitlinje):

      python /camera_server.py

Trin 6: Sådan bruges kontrolpanelet

Sådan bruges kontrolpanelet
Sådan bruges kontrolpanelet

Opsætning

Denne del er ret simpel, alt du skal gøre er at indsætte "blynk app token" i "index.js" filen som følger:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // brug det samme token fra tidligere trin.

Anvendelse

  1. Åbn instrumentbrættet ved at dobbeltklikke på filen "index.html".
  2. Instrumentbrættet prøver automatisk systemet hvert 10. minut.
  3. Vand- og madbeholderforanstaltninger kan tages manuelt.
  4. Knapperne "Giv vand" og "Foder" bruges til aktivt at forsyne dit kæledyr med mad og vand.
  5. Den nederste del af instrumentbrættet viser live -feedet fra kameramodulet, hvis du nøje fulgte de foregående trininstruktioner.

Bemærk: Hvis du vil tilpasse antallet af gange madbeholderen åbner, når du fodrer, skal du åbne filen "index.js" og ændre "værdien" på den næste linje fra "3" til et hvilket som helst nummer efter eget valg:

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

Trin 7: Udfordringer, grænser og fremtidsplaner

Udfordringer

De største udfordringer for os i dette projekt var relateret til at designe madbeholderens åbne/lukke mekanisme og skabe en stabil samtidig kode til styring og måling af fødevareenheden. Jeg tror, vi prøvede mindst 4 forskellige versioner, indtil vi var tilfredse. Den største bekymring var mad, der blokerede udgangen. For at forhindre det valgte vi et Sledge-Hammer-design, på denne måde, når vi åbner beholderen, fejer halen af "hammeren" mad mod udgangen. Desuden gjorde brug af et tosidet rør vores liv meget enklere, mens vi byggede madbeholderen. Et sådant objekt er perfekt til at placere udgangsmekanismen på den ene side og en afstandssensor på den anden side til måling af dens indhold.

Grænser

I denne projektfase er der få begrænsninger for systemet:

  1. Det er ikke fuldt automatiseret, hvilket betyder, at fodring og hældning af vand sker manuelt via overvågningsdashboardet uden nogen smarte planlæggere (som kan tilføjes i fremtiden eller implementeres af dig!).
  2. Instrumentbrættet kører lokalt fra din egen bærbare computer, for at gøre det mere tilgængeligt kan det hostes på populære platforme som "Heroku".
  3. Vi brugte et meget enkelt kameramodul, som kan erstattes med et meget mere kompliceret modul for at muliggøre bedre billedkvalitet og mulig tilføjelse af kommunikationskanal med dit kæledyr (ved hjælp af en højttaler).

Fremtidsplaner

Hvis vi havde tid og budget til at fortsætte med at udvikle dette system, havde vi nogle få ideer og mulig tidsplan i tankerne:

  1. Tilføjelse af automatisk planlægningssystem til fodring af kæledyr - 2 ~ 3 dages arbejde.
  2. Opbygning af et websted, der gør det muligt for brugere af vores system at oprette tilpasset dashboard, der hostes online og er tilgængeligt fra enhver tilsluttet enhed - 1-2 måneders arbejde.
  3. Arbejde på en industriel version til dette system, der gør det muligt for flere dyreejere at bedre kontrollere og kommunikere med deres kæledyr online, vi havde stor interesse fra venner, der så resultatet af denne Instructable. Så hvis du har tidspassionen til at tage projektet til det næste niveau - har du fuld støtte!

Vi håber du nød at læse (og forhåbentlig bygge!) Dette projekt:)

Anbefalede: