Inhaltsverzeichnis:
- Schritt 1: Erstellen eines Designs
- Schritt 2: Erstellen des Fusion 360-Modells
- Schritt 3: Einrichten des Pi
- Schritt 4: Software installieren
- Schritt 5: Einrichten eines Webservers
- Schritt 6: Steuerung von IO
Video: IoT-Leckereispender für Haustiere - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Ich habe zwei Katzen und es war ziemlich lästig, ihnen dreimal täglich Leckerlis geben zu müssen. Sie sahen mit ihren süßen Gesichtern und intensiven Blicken zu mir auf und rannten dann zu einer Kiste voller Katzengrün, miauten und bettelten um sie. Ich hatte entschieden, dass genug genug ist. Kein Aufstehen mehr, nur um einer Katze ein paar Leckerlis zu geben. Jetzt war die Zeit für einen Leckerbissen-Automaten, denn wie heißt es so schön: "Programmierer existieren, um komplizierte Dinge zu machen, um einfache Dinge weniger zu erledigen."
DFRobot hat dieses Projekt gesponsert.
Liste der Einzelteile:
- DFRobot Raspberry Pi 3
- DFRobot Raspberry Pi Kameramodul
- DFRobot Schrittmotor mit Planetengetriebe
- I2C-LCD 16x2
- Fassbuchse zum Terminal
- DRV8825 Schrittmotortreiber
- Kondensator 100 µF
- Arduino UNO & Genuino UNO
- Überbrückungsdrähte (allgemein)
Schritt 1: Erstellen eines Designs
Zuerst war die Wahl, wie ich meine neu gedachte Maschine steuern sollte. Bluetooth hätte eine zu geringe Reichweite gehabt, bei nur 9 Metern ohne Hindernisse. Mit diesen Informationen habe ich mich für WLAN entschieden. Aber wie steuere ich die Maschine jetzt über WLAN? Ein Raspberry Pi 3 verfügt über integrierte WiFi-Funktionen, sodass ich Flask verwenden kann, um eine Webseite zu hosten. Als nächstes ging es um das Thema Gehege und wie man Leckereien ausgibt. Ich entschied mich für ein rotierendes Raddesign, bei dem die Leckereien in kleine Abschnitte fallen, herumgedreht werden und dann auf eine Rampe fallen und zur Vorderseite der Maschine wandern.
Schritt 2: Erstellen des Fusion 360-Modells
Ich begann mit der Erstellung eines Basismodells für den Leckerlibehälter. Leckereien fallen in einen Mini-Trichter, wo sie dann in ein rotierendes Rad aufgenommen werden.
Als nächstes fügte ich dem Fusion-Design den Raspberry Pi 3 hinzu, zusammen mit der anderen Elektronik, einschließlich eines LCD- und Raspberry Pi-Kameramoduls. Ich habe auch einen Trichter gemacht, der zusätzliche Leckereien aufbewahren könnte.
Die Wände für den Leckerlispender sollen auf einer CNC-Fräse aus 1/4 Zoll Sperrholz geschnitten werden. Es besteht aus 7 Teilen, 4 Wänden, einem Boden und einem Ober- und Deckelteil, das sich öffnen und schließen lässt, um die Leckereien freizulegen.
Schließlich habe ich einen "ausgefallenen" Griff geschaffen, um den Deckel zu öffnen.
Schritt 3: Einrichten des Pi
DFRobot hat sich bei mir gemeldet und ihr Raspberry Pi 3 und ihr Raspberry Pi Kameramodul geschickt. Nachdem ich die Boxen geöffnet hatte, machte ich mich gleich an die Arbeit, indem ich die SD-Karte einrichtete. Zuerst ging ich auf die Raspberry Pi Downloads Seite und lud die neueste Version von Raspbian herunter. Ich habe dann die Datei entpackt und in ein geeignetes Verzeichnis gelegt. Sie können eine.img-Datei nicht einfach auf eine SD-Karte kopieren / einfügen, Sie müssen sie auf die Karte "brennen". Sie können ein Brennprogramm wie Etcher.io herunterladen, um das Betriebssystem-Image einfach zu übertragen. Nachdem die.img-Datei auf meiner SD-Karte war, steckte ich sie in den Raspberry Pi und gab ihm Strom. Nach etwa 50 Sekunden habe ich das Kabel abgezogen und die SD-Karte entfernt. Als nächstes legte ich die SD-Karte wieder in meinen PC und ging in das "Boot"-Verzeichnis. Ich habe Notepad geöffnet und als leere Datei namens "ssh" ohne Erweiterung gespeichert. Es gab auch eine Datei namens "wpa_supplicant.conf" und fügte diesen Text hinzu: network={ ssid= psk=} Dann habe ich die Karte gespeichert und ausgeworfen und wieder in den Raspberry Pi 3 gesteckt. Dies sollte jetzt ermöglichen die Verwendung von SSH und die Verbindung zum WLAN.
Schritt 4: Software installieren
Es gibt mehrere verschiedene Softwares, die Videos streamen können, wie VLC und Motion, aber ich habe mich aufgrund seiner geringen Latenz und einfachen Installation für den mjpeg-streamer entschieden. Führen Sie gemäß den Anweisungen auf der Site a:git clone https://github.com/jacksonliam/mjpg-streamer.git in einen Ordner aus und geben Sie dann Folgendes ein: sudo apt-get install cmake libjpeg8-dev Um die benötigten Bibliotheken zu installieren. Wechseln Sie Ihr Verzeichnis in den heruntergeladenen Ordner und geben Sie dann ein: make Gefolgt von: sudo make install Um die Software zu kompilieren. Geben Sie abschließend ein: export LD_LIBRARY_PATH=. Und um es auszuführen, geben Sie Folgendes ein:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Sie können auf den Stream zugreifen, indem Sie auf https:// Die lokale IP des Pi: 8080/stream gehen. html Um den Stream anzuzeigen.
Schritt 5: Einrichten eines Webservers
Um die Maschine extern per WiFi steuern zu können, brauchte ich einen Webserver. Ein Webserver stellt grundsätzlich Webseiten bereit, wenn dies in der Regel von einem Browser angefordert wird. Ich wollte etwas, das schnell und einfach einzurichten und zu verwenden ist und Apache vom Tisch nimmt. Ich wollte auch den Webserver mit Python verbinden, damit ich das Arduino Uno mit PySerial steuern kann. Diese Suche führte mich schließlich zu Flask, einer netten Python-Bibliothek, mit der Benutzer schnell einen Webserver erstellen können. Der vollständige Code ist dieser Projektseite beigefügt. Das Python-Skript richtet im Grunde 2 Webseiten ein, eine, die im Stammverzeichnis „/“gehostet wird, und eine andere, die unter „/dispense“gehostet wird. Die Indexseite hat ein HTML-Formular, das beim Senden eine Post-Anfrage an die Ausgabeseite sendet. Die Ausgabeseite prüft dann, ob der Postwert korrekt ist, und wenn dies der Fall ist, wird die Nachricht 'D\n' seriell an das Arduino Uno gesendet.
Schritt 6: Steuerung von IO
Ich habe mich für den DRV8825 entschieden, um meinen Schrittmotor anzutreiben, hauptsächlich weil er nur 2 IO-Pins benötigt und eine einstellbare Strombegrenzung hat. Ich habe versucht, einen L293D zu verwenden, aber er konnte die Last des Schrittmotors nicht bewältigen. Der DRV8825 wird gesteuert, indem der STEP-Pin über PWM gepulst wird, und die Richtung wird gesteuert, indem der DIR-Pin hoch oder niedrig gezogen wird. Der Schrittmotor, den ich verwende, hat einen Strom von 1,2 Ampere, daher habe ich die VREF-Spannung auf 0,6 V eingestellt. Als nächstes war das LCD. Ich wollte I2C verwenden, um die benötigte IO-Menge zu reduzieren und den Code zu vereinfachen. Um die Bibliothek zu installieren, suchen Sie einfach nach "LiquidCrystal_I2C" und installieren Sie es. Schließlich prüft das Arduino Uno, ob neue Informationen im seriellen Puffer vorhanden sind und ob es mit 'D' übereinstimmt. Wenn dies der Fall ist, bewegt der Uno den Schrittmotor um 180 Grad und dann um -72 Grad, um zu verhindern, dass sich Leckerlis festsetzen.
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): 3 Schritte
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): Manchmal korrigiert die Autokorrektur möglicherweise etwas, das Sie nicht korrigieren möchten, z. Textabkürzungen beginnen sich in Großbuchstaben zu setzen (imo korrigieren zum Beispiel zu IMO). So erzwingen Sie, dass die Korrektur eines Wortes oder einer Phrase beendet wird, ohne aut zu deaktivieren
Interessante Programmieranleitung für Designer - Bringen Sie Ihr Bild zum Laufen (Teil 2): 8 Schritte
Interessante Programmieranleitung für Designer – Bringen Sie Ihr Bild zum Laufen (Teil 2): Mathematik scheint für die meisten von Ihnen nutzlos zu sein. Die in unserem täglichen Leben am häufigsten verwendete ist einfach Addieren, Subtrahieren, Multiplizieren und Dividieren. Es ist jedoch ganz anders, wenn Sie mit Programm erstellen können. Je mehr Sie wissen, desto mehr wundervolle Ergebnisse werden Sie erhalten
Installieren des Windows-Subsystems für Linux (WSL): 3 Schritte
Installieren des Windows-Subsystems für Linux (WSL): Diese Anleitung soll Benutzern helfen, das Windows-Subsystem für Linux auf ihrem Windows 10-Computer zu installieren. Die spezifische Linux-Distribution, die dieser Befehlssatz verwendet, heißt Ubuntu. Schauen Sie hier für eine Übersicht über die verschiedenen Linux
DIY IoT-Lampe für die Hausautomation -- ESP8266-Tutorial: 13 Schritte (mit Bildern)
DIY IoT-Lampe für die Hausautomation || ESP8266-Tutorial: In diesem Tutorial werden wir eine mit dem Internet verbundene intelligente Lampe erstellen. Dies wird tief in das Internet der Dinge eintauchen und eine Welt der Heimautomatisierung eröffnen! Die Lampe ist über WLAN verbunden und verfügt über ein offenes Nachrichtenprotokoll. Das heißt, Sie können wählen