Obsah:

Smart Pet Feeder: 9 kroků
Smart Pet Feeder: 9 kroků

Video: Smart Pet Feeder: 9 kroků

Video: Smart Pet Feeder: 9 kroků
Video: Mom and baby rabbit feeding video #shorts #video #rabbit#short #cute 2024, Červenec
Anonim
Image
Image
Inteligentní krmítko pro domácí zvířata
Inteligentní krmítko pro domácí zvířata

Máte domácího mazlíčka?

  • Ne: adoptujte si jednoho! (a vraťte se k tomuto pokynu).
  • Ano: dobrá práce!

Nebylo by skvělé, kdybyste mohli krmit a podávat vodu svému blízkému, aniž byste rušili plány, abyste se včas dostali domů? Říkáme si už žádné starosti.

V tomto projektu jsme vyrobili dálkově ovládané (přes web) dávkovače jídla a vody.

Prostřednictvím online řídicího panelu můžete prohlížet data a ovládat výdejní stojany:

  • Podívejte se na hladiny jídla a vody v nádržích.
  • Prohlédněte si v miskách hladinu jídla a vody.
  • V tuto chvíli zvíře jí nebo pije?
  • Naplánujte krmení (zařízení nevydá jídlo, pokud je v misce dostatek jídla).
  • Automaticky dávkuje vodu, když je miska prázdná.
  • Jídlo/vodu vydejte stisknutím tlačítka.
  • Přijímejte oznámení push do svého telefonu (pomocí aplikace Telegram).

Kdo jsme?

Vytvořili Tom Kaufman a Katya Fichman, studenti informatiky v IDC Herzliya.

Tento projekt byl vytvořen pro kurz IOT.

Zásoby

Elektronika

  • 2 X ESP8266 (Wemos d1 mini).
  • Propojovací vodiče.
  • 2 X prkénko.
  • 4 X Ultrazvukový senzor.
  • 2 X Zatěžovací buňka.
  • 2 X zesilovač silových buněk (HX711).
  • Servo (180 °).
  • Servo (nepřetržité otáčení).
  • 2 x 6V napájecí zdroj.

Díly

  • Dávkovač kukuřičných vloček (odkaz na Amazon).
  • Trychtýř na výdejnu potravin 3D (https://www.thingiverse.com/thing:3998805).
  • 3D vytištěný servo nástavec výdejního stojanu (https://www.thingiverse.com/thing:3269637).
  • Stojan na výdejnu potravin ve 3D (navržený pro tento projekt:
  • Základna a deska siloměru s 3D tiskem (určené pro tento projekt:
  • Dávkovač vody (odkaz Amazonu na něco podobného).
  • Drát (pro připojení knoflíku dávkovače vody k servu).
  • 3 X Stojan ultrazvukového senzoru.

Krok 1: Jak to funguje?

Jak to funguje?
Jak to funguje?

Desky ESP8266 posílají hodnoty senzorů do Node-RED prostřednictvím Mosquitto (broker MQTT).

Node-RED zpracovává data, podle toho provádí akce (také odesílá příkazy výdeje na desky ESP8266 prostřednictvím Mosquitto) a zobrazuje informace na palubní desce.

Všechny výpočty jsou prováděny v Node-RED, takže by bylo snadné tento projekt replikovat a změnit zpracování dat podle vašich nastavení a preferencí, aniž byste si zašpinili ruce kódováním.

Krok 2: Softwarové vybavení

Softwarové zboží
Softwarové zboží

Arduino IDE

Stáhněte a nainstalujte (odkaz:

Komár

Stáhněte a nainstalujte (odkaz:

Node.js

Stáhněte a nainstalujte (odkaz:

Uzel-ČERVENÝ

Postupujte podle pokynů:

ngrok

Stažení:

Telegram

Nainstalujte si aplikaci do smartphonu.

Krok 3: Rozložení obvodu

Rozložení obvodu
Rozložení obvodu

* Obě zařízení mají identické obvody

Zásobník vody

  • Ultrazvukový senzor (pro vodní nádrž)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • SPOUŠTĚČ - D0
  • Ultrazvukový senzor (na vzdálenost zvířete od mísy)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • SPOUŠTĚČ - D7
  • Zatěžovací buňka
    • ZELENÁ - A+ (HX711)
    • BÍLÁ - A- (HX711)
    • ČERNÁ - E- (HX711)
    • ČERVENÁ - E+ (HX711)
  • HX711 (zesilovač siloměrů)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (180 °)

    • GND - G
    • VCC - 5V

Zásobník na potraviny

  • Ultrazvukový senzor (pro nádrž na potraviny)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • SPOUŠTĚČ - D0
  • Ultrazvukový senzor (na vzdálenost zvířete od mísy)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • SPOUŠTĚČ - D7
  • Zatěžovací buňka
    • ZELENÁ - A+ (HX711)
    • BÍLÁ - A- (HX711)
    • ČERNÁ - E- (HX711)
    • ČERVENÁ - E+ (HX711)
  • HX711 (zesilovač siloměrů)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (nepřetržité otáčení)

    • GND - G
    • VCC - 5V
    • OVLÁDÁNÍ - D8

Krok 4: Řemeslo

Řemeslo
Řemeslo
Řemeslo
Řemeslo
Řemeslo
Řemeslo

Zásobník vody

  1. Přilepte servo k horní části spodní části dávkovače (jak je znázorněno na fotografii).
  2. Do knoflíku dávkovače vody vyvrtejte malou díru.
  3. Připojte servo hlavu k knoflíku pomocí drátu (ujistěte se, že je servo hlava v poloze 0 a ujistěte se, že je vodič utažený).
  4. Přilepte jeden ultrazvukový snímač na vnitřní stranu nádrže poblíž jejího vrcholu (snímač směrem dolů).
  5. Přilepte jeden ultrazvukový senzor pod vodní knoflík směrem ven (ujistěte se, že je dostatečně vysoký, aby nádoba na vodu neovlivňovala jeho hodnoty).

Dávkovač jídla

  1. Našroubujte servo do držáku (3D vytištěná část).
  2. Přilepte trychtýř (3D vytištěná část) k držáku nádrže (3D tištěná část).
  3. Připojte držák nádrže ke stojanu výdejního stojanu (3D vytištěná část) a vložte nádrž na místo.
  4. Vložte rotující část (3D tisk) na své místo a skrz rotující gumovou část dávkovače.
  5. Našroubujte část držáku serva na stojan.
  6. Na vnitřní stranu víka nádrže přilepte jeden ultrazvukový senzor (snímač směrem dolů).
  7. Přilepte jeden ultrazvukový senzor na stranu držáku nádrže směrem k místu, kde bude váš mazlíček jíst.

Zatěžovací buňky

Nalepte každý siloměr na 3D vytištěnou základnu a desku (šipka siloměru směřuje dolů)

Krok 5: Mosquitto

Komár
Komár

Otevřete Mosquitto (uživatelé systému Windows: přejděte do složky Mosquitto, otevřete cmd a zadejte: "mosquitto -v").

* Chcete -li získat interní IP adresu počítače, spusťte cmd a zadejte „ipconfig“.

Krok 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Otevřete Arduino IDE a postupujte podle části „Nainstalovat doplněk ESP8266 do Arduino IDE“této příručky:

Přejděte na Nástroje-> Deska a vyberte „LOLIN (WEMOS) D1 R2 & mini“.

Přejděte na Sketch-> Include Library-> Add. ZIP Library… a přidejte 3 knihovny do souboru „Libraries.rar“.

Otevřete skicu „HX711Calibration“, nahrajte ji do obou ESP8266, spusťte ji a podle pokynů (na začátku kódu a v sériovém monitoru) proveďte kalibraci snímačů zatížení (ujistěte se, že přenosová rychlost sériového monitoru je nastavena na 115200 baudů).

* Zapište si kalibrační faktor a nulový offset (pro pozdější použití).

Otevřete „FoodDispenser“a „WaterDispenser“náčrty v IDE a pomocí nastavení změňte následující proměnné (v souboru „Settings.h“):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* V MQTT_SERVER zadejte interní IP adresu z kroku „Mosquitto“.

Nahrajte náčrty do svých dvou ESP8266 (jeden kód na každou desku).

* Všimněte si, že jsme použili knihovnu „AsyncMqttClient“, a nikoli běžnější knihovnu „pubsubclient“, protože esp8266 se v kombinaci s knihovnou „HX711“zhroutí.

* Pokud se rozhodnete provést změny v kódu, ujistěte se, že nepoužíváte funkce „zpoždění“a „výnos“uvnitř funkcí zpětného volání, protože to způsobí selhání.

Krok 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Rozbalte stažený soubor (z odkazu v kroku „Softwares“).

Otevřete „ngrok.exe“a spusťte příkaz „ngrok http 1880“.

* Můžete si vybrat oblast, která je vám nejblíže (au, eu, ap, us, jp, in, sa). Výchozí nastavení jsme my.

Například spuštěním příkazu: "ngrok http --region = eu 1880" (nastavit region na Evropu).

Nyní uvidíte svou webovou adresu pro externí použití (tuto adresu budeme označovat jako YOUR_NGROK_ADDRESS).

Krok 8: Node-RED

Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ
Uzel-ČERVENÝ

Otevřete Node-RED (uživatelé Windows: otevřete cmd a zadejte „node-red“) a přejděte na https:// localhost: 1880 (pokud to nefunguje, vyhledejte adresu v okně cmd, kde je napsáno „Server nyní běžící na ).

Otevřete nabídku (v pravém horním rohu) a stiskněte „Spravovat paletu“.

Přejděte na kartu „Instalovat“, vyhledejte a nainstalujte tyto moduly:

  • node-red-contrib-persist.
  • node-red-contrib-cron-plus.
  • node-red-contrib-ui-led.
  • uzel-červená-palubní deska.
  • node-red-contrib-telegrambot.

Přejděte do nabídky-> Importovat a nahrajte soubor toku (rozbalte připojený soubor RAR a nahrajte soubor json).

Vysvětlení toku najdete na přiložených obrázcích.

Tyto uzly budete muset upravit pomocí svého nastavení:

  • Aktualizujte profil uzlu „Telegram odesílatele“uživatelským jménem a tokenem vašeho robota (použijte tuto příručku:
  • Ve spodní části toku změňte užitečné zatížení uzlů „Adresa Ngrok“a „Telegram Chat Id“(získejte své ID chatu pomocí průvodce Telegramem v odkazu výše).
  • Ve spodní části toku jsou uzly nastavení - upravte je podle svých potřeb:

    • Aktivovat upozornění zvířete na jídlo/pití.
    • Definujte, jaká je vzdálenost pro aktivaci upozornění na jídlo/pití.
    • Definujte zpracování dat misek a tanků.
    • Upravte časy výdejů (na jak dlouho výdeje probíhají - automatický režim a stisknutí tlačítka).
    • Definujte procento prahu přetečení misky na jídlo (přerušte automatické dávkování jídla, pokud je v misce dostatek jídla).

Nasaďte tok (vpravo nahoře).

* Pouze při prvním nasazení se v okně ladění zobrazí upozornění na chybějící soubor „persistance.json“. Nedělejte si starosti, protože v tuto chvíli nastavíte časy krmení nebo změníte automatický přepínač vody, tento soubor se inicializuje a toto varování již nebudete mít.

Hlavní panel můžete zobrazit na adrese https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (pokud jste připojeni ke stejné síti LAN jako server) nebo YOUR_NGROK_ADDRESS/ui (odkudkoli).

Krok 9: Zabalte

Zabalit
Zabalit

Doufáme, že tento návod byl informativní a snadno čitelný, srozumitelný a implementovatelný.

Neváhejte se nás na cokoli zeptat.

Doporučuje: