Innehållsförteckning:

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

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

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

Introduktion

Oavsett om du är en student under press, en hårt arbetande person eller helt enkelt hemifrån mer än några timmar om dagen. Som vårdande husdjursägare vill vi se till att våra älskade förblir friska, matade och naturligtvis INTE ligga i soffan (din jävel!). Det är dags att sluta be om förmåner, eller till och med betala för sådana tjänster.

Med detta coola projekt syftar vi till att ge dig möjligheten att göra-det-själv (jag hörde att det är en grej nu). Vi kommer att bygga en lösning för att övervaka våra husdjur bättre och till och med vidta åtgärder på kontoret, skolan eller bara umgås med våra vänner eller betydande andra.

Detta system gör att du kan mata ditt husdjur på distans medan du kontrollerar mängden mat du häller ut ur behållaren, fyller vattenskålen när den är tom. Dessutom kan vi nu övervaka skålens vattennivåer i realtid, mäta innehållet i matbehållaren och framför allt titta på husdjuret live med hjälp av en enkel kameramodul.

Om oss

Tomer Maimon, Gilad Ram och Alon Shprung. Tre passionerade datavetenskapstudenter vid IDC Herzeliya. Detta är vårt första Instructables -projekt som en del av en IoT -workshop - vi hoppas att du kommer att tycka att det är intressant och roligt att bygga!

Steg 1: Förstå arkitekturen:

Förstå arkitekturen
Förstå arkitekturen
Förstå arkitekturen
Förstå arkitekturen

Vi kan dela upp detta system i två huvuddelar:

  1. Inkommande datakanaler:

    • Vattensensor - provtagning av vattennivåerna inuti husdjursskålen, data överförs från Node -MCU -enheten till Blynk -servern och presenteras slutligen via Pet Dashboard.
    • Ekolodsensor - provtagning av matbehållarens innehåll, data överförs från Arduino -enheten (med Ethernet -sköldförlängning) till Blynk -servern och presenteras slutligen via Pet Dashboard.
    • Pi kameramodul - provar ständigt bildrutor av husdjursområdet, Pi är värd för sin egen server som levererar live -flödet till husdjurets instrumentpanel.
  2. Kommandoflöde:

    • Feed Button (Dashboard) - uppdatering av ett virtuellt pinvärde via Blynk, den relevanta funktionen utlöses på Arduino -kortet, Servo rör sig sedan för att tillåta mat att passera genom locket.
    • Give Water (Dashboard) - uppdaterar aktivt ett virtuellt pinvärde via Blynk, den relevanta funktionen utlöses på Node -MCU -kortet, reläet slås till ON, vattenpumpen börjar strömma vatten till husdjurets skål.
    • Pet Live Feed (Dashboard) - inbäddad i instrumentpanelen och presenterar live -data via kolvservern som körs på Pi -enheten.

Steg 2: Lista över delar

Lista över delar
Lista över delar
Lista över delar
Lista över delar
Lista över delar
Lista över delar

För att börja arbeta med detta system behöver du följande (eller liknande) delar:

  1. Fysisk:

    • Matbehållare: Vi använde ett industriellt 45 cm dubbelsidigt rör, som vi köpte i ett hemvaruhus. Det är viktigt att ha 2 utgångar. En för mätning av innehållet, och andra utgång för öppna/stänga mekanismen.
    • Kanaltape: Att hålla ihop saker;)
    • Jumper Wires: Ju mer desto roligare, alltid bra att ha lite extra om något går fel.
    • Ethernet -kabel: För anslutning av vår Arduino (med ethernet -skärm) till internet.
    • Trädgårdsburk: Används som behållare för vatten och vattenpump.
    • Kort vattenrör: Ansluten till pumpen och häller vatten i husdjursskålen.
  2. Sensorer:

    • WINGONEER vattennivåsensor: Mät vattennivåerna inuti husdjursskålen.
    • Ekolodsgivare - Mät avståndet mellan livsmedelsnivån och det övre locket inuti behållaren.
    • TONGLING Relä: Tillåter oss att slå på/av vattenpumpen som strömmar vatten.
    • Pi Kameramodul: Ansluten till en hallon Pi -enhet och strömmar bilder av husdjursområdet.
    • Generisk servo: låser och låser upp matbehållaren.
  3. Elektroniska enheter / kort:

    • Arduino Uno: Kontrollerar implementeringen av livsmedelsbehållaren.
    • Arduino Ethernet Shield: Ger internetanslutning till vårt kort.
    • NodeMCU (ESP-8266): Kontrollerar vattenenhet, både för mätning och hällning av vatten. Detta kort har möjlighet att ansluta via WiFi.
    • Raspberry Pi 3 - värd för kameraservern och levererar live -feed till husdjurens instrumentpanel.
    • VicTsing 80 GPH nedsänkbar vattenpump: Strömmar vatten från trädgårdsburk till skålen, tillsammans med vattenslangen.

Steg 3: Anslutning och placering av saker tillsammans

Koppla ihop och placera saker tillsammans
Koppla ihop och placera saker tillsammans
Koppla ihop och placera saker tillsammans
Koppla ihop och placera saker tillsammans
Koppla ihop och placera saker tillsammans
Koppla ihop och placera saker tillsammans

Kabeldragning

Innan vi börjar rekommenderas att du placerar Arduino / Node-MCU på en brödbräda för att göra det lättare att sätta ihop alla trådar och placera den på vilken fysisk plats som helst. Dessutom rekommenderas att använda långa ledningar för att förhindra fel som uppstår genom att kabeln lossnar. Vi gav dig ett kopplingsschema för Node-MCU (Water Unit) och Arduino (Food Unit).

  1. Food Unit (Arduino):

    • Ekolodsgivare:

      • GND (svart) = GND
      • VCC (röd) = 5V
      • Trig (lila) = 3
      • Eko (blått) = 4
    • Servo:

      • GND (svart) = GND
      • VCC (röd) = 5V
      • Signal (gul) = 9
  2. Vatten enhet (nod):

    • Vattennivåsensor:

      • S (blå) = A0
      • + (Röd) = 3v3
      • - (Svart) = GND
    • Relä (elektriskt anslutet till vattenpumpen):

      • IN (gul) = D1
      • VCC (röd) = Vin
      • GND (svart) = GND
  3. Kameraenhet (Pi):

    • Kamerasensor:

      • Anslut till Pi: s enda kameraport (flödeskabel)
      • Om du vill lära dig mer om Pi med kameramodul - Länk

Montering av delar tillsammans

I den här delen är du välkommen att anpassa och modifiera detta projekt för att "göra det till ditt". Men vi kommer att ge dig bilder och beskrivning för att rekonstruera vår version av produkten.

  1. Food Unit (Arduino): Behållaren är ganska rak framåt, vi kommer att fokusera på att skapa de två locken.

    • Övre lock: Skär 2 hål i locket så att ekolodsgivaren passar in (se bifogad bild).
    • Nedre lock + mekanism: Börja med att ta en av plastfästena (levereras med servosensorn) och konstruera en "Sledge Hammer" -form med hjälp av tejp / träpinnar (vi använde endast tejp). Fäst sedan servon. Nu behöver vi 2 hål på själva locket. Den första bör låta servon passa in i mekanismen vi konstruerade i placerad på "insidan" av locket. Skär ett annat hål baserat på sidan av "hammarhuvudet" du skapade. På detta sätt, när servon öppnas, kommer svansen på hammaren att sopa mat mot utgången och förhindra att stora bitar fastnar.
  2. Vattenenhet (Node-MCU): Anslut helt enkelt vattenslangen till vattenpumpen, placera den nu i trädgårdsskålen (se till att du INTE placerar fel del med reläet och elektriska ledningar inuti vattnet).
  3. Kameraenhet: Allt du behöver göra är att placera Pi med kameramodulen på en plats du väljer.

Steg 4: Konfigurera Blynk

Installera Blynk
Installera Blynk
Installera Blynk
Installera Blynk

Alla fjärrfunktioner i detta projekt är baserade på Blynk. Denna tjänst ger oss i princip en gratis webbserver och RESTful API för kommunikation med våra Arduino/Node-MCU-enheter över internet med hjälp av HTTP-protokoll. Blynk låter oss definiera virtuella stift, som kommer att användas som en adress för att utföra specifika funktioner relaterade till hälla vatten, matning och provtagning av de olika sensorerna (vi gjorde den delen åt dig, allt du behöver göra är att skaffa din egen applikationstoken, som kommer att förklaras härnäst).

Hur får jag min Blynk -autentiseringstoken

  1. Ladda ner Blynk -appen via AppStore / PlayStore för din mobila enhet.
  2. Registrera dig för denna tjänst (den är gratis att använda).
  3. Starta ett nytt projekt, se till att välja rätt enhet (i vårt fall ESP8266).
  4. Efter skapandet kommer ett e -postmeddelande med AUTHENTICATION TOKEN att skickas - Spara token för nästa steg.

Obs: Blynk kan användas fullt ut via appen, men vi bestämde oss för att implementera vår egen anpassade instrumentpanel.

Slutligen, för att gå vidare till nästa steg, bör du ladda ner och installera Blynk -biblioteket - Länk (hoppa till del 3)

Steg 5: Konfigurera matbehållare, vattenpump och livekamera

Konfigurera matbehållare, vattenpump och levande kamera
Konfigurera matbehållare, vattenpump och levande kamera
Konfigurera matbehållare, vattenpump och levande kamera
Konfigurera matbehållare, vattenpump och levande kamera

Vid det här laget avslutade vi montering av alla delar och fick vårt blynkAuthAppToken (se steg 3).

Vi gav dig all koden du behöver för att köra detta projekt. Allt du behöver göra är att ändra några variabler i koden, vilket gör det till ditt "privata" privata system.

Börja först med att ladda ner Arduino IDE (om du inte har gjort det ännu) - Länk

Arduino matbehållare

  1. Konfigurera IDE till Arduino -kortet: Verktyg -> Board -> Arduino/Genuino Uno
  2. Se till att du har dessa bibliotek installerade: Skiss -> Inkludera bibliotek -> Hantera bibliotek

    Relä (av Rafael)

  3. Öppna PetFeeder.ino skissfil, konfigurera följande parametrar (se bifogad bild för hjälp):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Kompilera och ladda upp skissen till din Arduino -enhet.

Node-MCU-vattenenhet

  1. Konfigurera IDE till Node-MCU-kortet:

    Se denna instruktions första del för detaljerad förklaring

  2. Se till att du har dessa bibliotek installerade: Skiss -> Inkludera bibliotek -> Hantera bibliotek

    WiFi Manager (av tzapu)

  3. Öppna PetFeeder.ino skissfil, konfigurera följande parametrar (se bifogad bild för hjälp):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // I princip är det namnet på ditt WiFi -nätverk
    • pass = "YOUR_WIFI_PASSWORD"; // om du inte har något lösenord, använd tom sträng ""
  4. Kompilera och ladda upp skissen till din Node-MCU-enhet.

Pi Live Camera Module

  1. Anslut pi -kameramodul
  2. Kör "sudo raspi-config" och aktivera alternativet "kamera".
  3. Testa kameran med kommandot "raspistill" för att ta en bild

    r aspistill -o image.jpg

  4. Ställ in Flask webbkameraserver:

    • Installera alla krav med pip install -r krav.txt
    • Använd python för att köra camera_server.py
    • Kolla in det på 127.0.0.1:5000/video_feed
  5. Ställ in Flask -webbservern så att den körs vid start:

    • Lägg till följande rad till /etc/rc.local (före utgångsrad):

      python /camera_server.py

Steg 6: Så här använder du kontrollpanelen

Så här använder du kontrollpanelen
Så här använder du kontrollpanelen

Uppstart

Den här delen är ganska enkel, allt du behöver göra är att infoga "blynk app token" i "index.js" -filen enligt följande:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // använda samma token från tidigare steg.

Användande

  1. Öppna instrumentpanelen genom att dubbelklicka på filen "index.html".
  2. Instrumentpanelen provar systemet automatiskt var 10: e minut.
  3. Åtgärder för vatten och matbehållare kan vidtas manuellt.
  4. Knapparna "Ge vatten" och "Mata" används för att aktivt förse ditt husdjur med mat och vatten.
  5. Den nedre delen av instrumentbrädan kommer att presentera live -flödet från kameramodulen om du noggrant följde de föregående steginstruktionerna.

Obs! Om du vill anpassa antalet gånger matbehållaren öppnas när du matar, öppnar du "index.js" -filen och ändrar "värdet" på nästa rad från "3" till valfritt nummer:

hämta (baseURL + '/update/V1? value = 3');

Steg 7: Utmaningar, gränser och framtidsplaner

Utmaningar

De främsta utmaningarna för oss i detta projekt var relaterade till att designa matbehållarens öppna/stänga mekanism och skapa en stabil samtidig kod för kontroll och mätning av livsmedelsenheten. Jag tror att vi försökte minst 4 olika versioner tills vi var nöjda. Det största bekymret var mat som blockerade utgången. För att förhindra det valde vi en Sledge-Hammer-design, på detta sätt när vi öppnar behållaren sveper svansen på "hammaren" mat mot utgången. Dessutom gjorde ett tvåsidigt rör vårt liv mycket enklare när vi byggde matbehållaren. Ett sådant föremål är perfekt för att placera utmatningsmekanismen på ena sidan och en avståndssensor på den andra sidan för att mäta dess innehåll.

Gränser

I denna fas av projektet finns det få begränsningar för systemet:

  1. Det är inte helt automatiserat, vilket innebär att matning och hällning av vatten görs manuellt via övervakningsdashbordet utan några smarta schemaläggare (som kan läggas till i framtiden eller implementeras av dig!).
  2. Instrumentpanelen körs lokalt från din egen bärbara dator, för att göra den mer tillgänglig kan den hållas på populära plattformar som "Heroku".
  3. Vi använde en mycket enkel kameramodul, som kan ersättas med en mycket mer komplicerad modul för att möjliggöra bättre bildkvalitet och möjlig tillägg av kommunikationskanal med ditt husdjur (med hjälp av en högtalare).

Framtida planer

Om vi hade tid och budget för att fortsätta utveckla detta system, hade vi några idéer och möjliga scheman i åtanke:

  1. Lägger till automatiskt schemaläggningssystem för husdjursfoder - 2 ~ 3 dagars arbete.
  2. Bygga en webbplats för att göra det möjligt för användare av vårt system att skapa anpassad instrumentpanel som är värd online och tillgänglig från alla anslutna enheter - 1-2 månaders arbete.
  3. Arbeta med en industriell version för detta system, som gör det möjligt för fler husdjursägare att bättre kontrollera och kommunicera med sina husdjur online, vi hade ett stort intresse från vänner som såg resultatet av denna instruerbara. Så, om du har tidspassionen att ta projektet till nästa nivå - du har fullt stöd!

Vi hoppas att du tyckte om att läsa (och förhoppningsvis bygga!) Detta projekt:)

Rekommenderad: