Inhaltsverzeichnis:

Intelligenter Futterautomat für Haustiere - Gunook
Intelligenter Futterautomat für Haustiere - Gunook

Video: Intelligenter Futterautomat für Haustiere - Gunook

Video: Intelligenter Futterautomat für Haustiere - Gunook
Video: Beste HAUSTIER FUTTERAUTOMATEN 2023 | Top 3 smarte Futterspender Vergleich 2024, November
Anonim
Image
Image
Intelligenter Futterautomat
Intelligenter Futterautomat

Hast Du ein Haustier?

  • Nein: adoptiere einen! (und kommen Sie zurück zu diesem instructable).
  • Ja: gute Arbeit!

Wäre es nicht toll, wenn Sie Ihren Liebsten ohne Absagen füttern und Wasser geben könnten, um pünktlich nach Hause zu kommen? Wir sagen, keine Sorge mehr.

In diesem Projekt haben wir einen ferngesteuerten (über das Internet) Lebensmittel- und Wasserspender hergestellt.

Über das Online-Dashboard können Sie Daten anzeigen und die Zapfsäulen steuern:

  • Sehen Sie sich die Futter- und Wasserstände in den Tanks an.
  • Sehen Sie sich die Futter- und Wasserstände in den Schüsseln an.
  • Frisst oder trinkt das Tier in diesem Moment?
  • Planen Sie Fütterungen (das Gerät gibt kein Futter aus, wenn genügend Futter in der Schüssel ist).
  • Geben Sie automatisch Wasser ab, wenn die Schüssel leer ist.
  • Essen/Wasser mit einem Knopfdruck ausgeben.
  • Erhalten Sie Push-Benachrichtigungen auf Ihr Telefon (per Telegram-App).

Wer sind wir?

Erstellt von Tom Kaufman und Katya Fichman, Informatikstudenten am IDC Herzliya.

Dieses Projekt wurde für einen IOT-Kurs entwickelt.

Lieferungen

Elektronik

  • 2 X ESP8266 (Wemos d1 mini).
  • Überbrückungsdrähte.
  • 2 X Steckbrett.
  • 4 X Ultraschallsensor.
  • 2 X Wägezelle.
  • 2 X Wägezellenverstärker (HX711).
  • Servo (180°).
  • Servo (kontinuierliche Drehung).
  • 2 x 6V-Netzteil.

Teile

  • Cornflakes-Spender (Amazon-Link).
  • Trichter des 3D-gedruckten Lebensmittelspenders (https://www.thingiverse.com/thing:3998805).
  • Servoaufsatz des 3D-gedruckten Lebensmittelspenders (https://www.thingiverse.com/thing:3269637).
  • Stand des 3D-gedruckten Lebensmittelspenders (für dieses Projekt entwickelt:
  • 3D-gedruckte Wägezellenbasis und -platte (für dieses Projekt entwickelt:
  • Wasserspender (Amazon-Link zu etwas Ähnlichem).
  • Draht (um den Knopf des Wasserspenders mit dem Servo zu verbinden).
  • 3 X Ultraschallsensor-Ständer.

Schritt 1: Wie funktioniert es?

Wie funktioniert es?
Wie funktioniert es?

Die ESP8266-Boards senden die Messwerte der Sensoren über Mosquitto (MQTT-Broker) an Node-RED.

Node-RED verarbeitet die Daten, führt entsprechende Aktionen aus (sendet auch Dosierbefehle über Mosquitto an die ESP8266-Boards) und zeigt Informationen auf dem Dashboard an.

Alle Berechnungen werden in Node-RED durchgeführt, so dass es einfach ist, dieses Projekt zu replizieren und die Verarbeitung der Daten gemäß Ihren Einstellungen und Vorlieben zu ändern, ohne sich mit der Codierung die Hände schmutzig zu machen.

Schritt 2: Software

Software
Software

Arduino-IDE

Herunterladen und installieren (Link:

Mücke

Herunterladen und installieren (Link:

Node.js

Herunterladen und installieren (Link:

Knoten-RED

Folgen Sie den Anweisungen:

ngrok

Download:

Telegramm

Installieren Sie die App auf Ihrem Smartphone.

Schritt 3: Schaltungslayout

Schaltungslayout
Schaltungslayout

* Beide Geräte haben identische Schaltungen

Wasserspender

  • Ultraschallsensor (für den Wassertank)

    • Masse - G
    • VCC - 5V
    • ECHO - D5
    • AUSLÖSER - D0
  • Ultraschallsensor (für den Abstand des Haustieres vom Napf)

    • Masse - G
    • VCC - 5V
    • ECHO - D6
    • AUSLÖSER - D7
  • Wägezelle

    • GRÜN - A+ (HX711)
    • WEISS - A- (HX711)
    • SCHWARZ - E- (HX711)
    • ROT - E+ (HX711)
  • HX711 (Wägezellenverstärker)

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

    • Masse - G
    • VCC - 5V

Lebensmittelspender

  • Ultraschallsensor (für den Lebensmitteltank)

    • Masse - G
    • VCC - 5V
    • ECHO - D5
    • AUSLÖSER - D0
  • Ultraschallsensor (für den Abstand des Haustieres vom Napf)

    • Masse - G
    • VCC - 5V
    • ECHO - D6
    • AUSLÖSER - D7
  • Wägezelle

    • GRÜN - A+ (HX711)
    • WEISS - A- (HX711)
    • SCHWARZ - E- (HX711)
    • ROT - E+ (HX711)
  • HX711 (Wägezellenverstärker)

    • Masse - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (kontinuierliche Drehung)

    • Masse - G
    • VCC - 5V
    • STEUERUNG - D8

Schritt 4: Handwerk

Handwerk
Handwerk
Handwerk
Handwerk
Handwerk
Handwerk

Wasserspender

  1. Kleben Sie das Servo oben auf das Unterteil des Spenders (wie auf dem Foto gezeigt).
  2. Bohren Sie ein kleines Loch in den Knopf des Wasserspenders.
  3. Verbinden Sie den Servokopf mit einem Draht mit dem Knopf (achten Sie darauf, dass der Servokopf auf Position 0 steht und stellen Sie sicher, dass der Draht fest sitzt).
  4. Kleben Sie einen Ultraschallsensor auf die Innenseite des Tanks, nahe der Oberseite (Sensor zeigt nach unten).
  5. Kleben Sie einen Ultraschallsensor unter den Wasserknopf nach außen (stellen Sie sicher, dass er hoch genug ist, damit die Wasserschale seine Messwerte nicht beeinflusst).

Futterspender

  1. Schrauben Sie das Servo an seinen Halter (3D-gedrucktes Teil).
  2. Kleben Sie den Trichter (3D-Druckteil) auf den Tankhalter (3D-Druckteil).
  3. Verbinden Sie den Tankhalter mit dem Ständer des Spenders (3D-gedrucktes Teil) und setzen Sie den Tank ein.
  4. Stecken Sie das sich drehende Teil (3D-gedruckt) an seinen Platz und durch das sich drehende Gummiteil des Spenders.
  5. Schrauben Sie das Servohalterteil an den Ständer des Spenders.
  6. Kleben Sie einen Ultraschallsensor auf die Innenseite des Tankdeckels (Sensor zeigt nach unten).
  7. Kleben Sie einen Ultraschallsensor an die Seite des Tankhalters, die zu der Stelle zeigt, an der Ihr Haustier frisst.

Wägezellen

Kleben Sie jede Wägezelle auf die 3D-gedruckte Basis und Platte (Pfeil der Wägezelle nach unten)

Schritt 5: Mücke

Mücke
Mücke

Öffnen Sie Mosquitto (Windows-Benutzer: gehen Sie zum Mosquitto-Ordner, öffnen Sie cmd und geben Sie ein: "mosquitto -v").

* Um die interne IP-Adresse des Computers zu erhalten, führen Sie cmd aus und geben Sie "ipconfig" ein.

Schritt 6: Arduino-IDE

Arduino-IDE
Arduino-IDE
Arduino-IDE
Arduino-IDE

Öffnen Sie die Arduino IDE und befolgen Sie den Teil "Install ESP8266 Add-on in Arduino IDE" in dieser Anleitung:

Gehen Sie zu Tools->Board und wählen Sie "LOLIN(WEMOS) D1 R2 & mini".

Gehen Sie zu Sketch->Include Library->Add. ZIP Library… und fügen Sie die 3 Bibliotheken in der Datei "Libraries.rar" hinzu.

Öffnen Sie die Skizze "HX711Calibration", laden Sie sie auf beide ESP8266 hoch, führen Sie sie aus und befolgen Sie die Anweisungen (am Anfang des Codes und im seriellen Monitor), um die Wägezellen zu kalibrieren (stellen Sie sicher, dass die Baudrate des seriellen Monitors auf eingestellt ist) 115200Baud).

* Notieren Sie sich den Kalibrierfaktor und die Nullpunktverschiebung (zur späteren Verwendung).

Öffnen Sie die Skizzen "FoodDispenser" und "WaterDispenser" durch die IDE und ändern Sie die folgenden Variablen mit Ihren Einstellungen (in der Datei "Settings.h"):

  • WIFI_SSID
  • WLAN PASSWORT
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* Tragen Sie in MQTT_SERVER die interne IP-Adresse aus dem Schritt "Mosquitto" ein.

Laden Sie die Skizzen auf Ihre beiden ESP8266 hoch (ein Code für jedes Board).

* Beachten Sie, dass wir die Bibliothek "AsyncMqttClient" und nicht die üblichere Bibliothek "pubsubclient" verwendet haben, da der esp8266 abstürzt, wenn er mit der Bibliothek "HX711" kombiniert wird.

* Wenn Sie Änderungen am Code vornehmen, stellen Sie sicher, dass Sie nicht die Funktionen "delay" und "yield" innerhalb der Callback-Funktionen verwenden, da dies zu Abstürzen führt.

Schritt 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Entpacken Sie die heruntergeladene Datei (über den Link im Schritt "Software").

Öffnen Sie "ngrok.exe" und führen Sie den Befehl "ngrok http 1880" aus.

* Sie können die nächstgelegene Region auswählen (au, eu, ap, us, jp, in, sa). Die Vorgabe ist wir.

Führen Sie zum Beispiel den Befehl aus: "ngrok http --region=eu 1880" (stellen Sie die Region auf Europa ein).

Jetzt sehen Sie Ihre Webadresse für die externe Verwendung (wir nennen diese Adresse YOUR_NGROK_ADDRESS).

Schritt 8: Knoten-RED

Knoten-RED
Knoten-RED
Knoten-RED
Knoten-RED
Knoten-RED
Knoten-RED

Öffnen Sie Node-RED (Windows-Benutzer: Öffnen Sie cmd und geben Sie "node-red" ein) und gehen Sie zu https://localhost:1880 (wenn es nicht funktioniert, suchen Sie nach der Adresse im cmd-Fenster, in der "Server now." steht läuft bei").

Öffnen Sie das Menü (in der oberen rechten Ecke) und klicken Sie auf "Palette verwalten".

Gehen Sie zur Registerkarte "Installieren", suchen und installieren Sie diese Module:

  • Knoten-Rot-Beitrag-Persist.
  • node-red-contrib-cron-plus.
  • node-red-contrib-ui-led.
  • Knoten-rot-Dashboard.
  • node-red-contrib-telegrambot.

Gehen Sie zum Menü->Importieren und laden Sie die Flow-Datei hoch (extrahieren Sie die angehängte RAR-Datei und laden Sie die JSON-Datei hoch).

Erläuterungen zum Ablauf finden Sie in den beigefügten Bildern.

Sie müssen diese Knoten mit Ihren Einstellungen ändern:

  • Aktualisieren Sie das Profil des Knotens "Telegram sender" mit dem Benutzernamen und Token Ihres Bots (verwenden Sie diese Anleitung:
  • Ändern Sie unten im Flow die Nutzlasten der Knoten "Ngrok Address" und "Telegram Chat Id" (erhalten Sie Ihre Chat-ID, indem Sie die Telegrammanleitung im obigen Link verwenden).
  • Im unteren Teil des Flows befinden sich Einstellungsknoten - ändern Sie sie nach Ihren Bedürfnissen:

    • Aktivieren Sie die Warnungen, dass das Haustier frisst/trinkt.
    • Definieren Sie die Entfernung zum Aktivieren des Essens-/Trinkalarms.
    • Definieren Sie die Datenverarbeitung von Schüsseln und Tanks.
    • Abgabezeiten ändern (für wie lange erfolgt die Abgabe – Automatikmodus und Tastendruck).
    • Überlaufschwellen-Prozentsatz des Futternapfs definieren (automatische Futterausgabe abbrechen, wenn genügend Futter im Napf vorhanden ist).

Stellen Sie den Flow bereit (oben rechts).

* Nur bei der ersten Bereitstellung sehen Sie im Debug-Fenster eine Warnung wegen fehlender Datei 'persistance.json'. Machen Sie sich keine Sorgen, da Sie im Moment Fütterungszeiten einstellen oder den automatischen Wasserschalter ändern, diese Datei initialisiert wird und Sie diese Warnung nicht mehr erhalten.

Sie können Ihr Dashboard unter https://NODE-RED_PC'S_INTERNAL_IP_ADDRESS:1880/ui (wenn Sie mit demselben LAN wie der Server verbunden sind) oder YOUR_NGROK_ADDRESS/ui (von überall) anzeigen.

Schritt 9: Einpacken

Einpacken
Einpacken

Wir hoffen, dass dieses Tutorial informativ und leicht zu lesen, zu verstehen und umzusetzen war.

Fühlen Sie sich frei, uns alles zu fragen.

Empfohlen: