Inhaltsverzeichnis:
- Schritt 1: Die Roboterelektronik
- Schritt 2: Einrichten des Pi
- Schritt 3: Bereiten Sie die Kamera vor
- Schritt 4: Software installieren
- Schritt 5: Controller
- Schritt 6: Der Code für den Roboter
- Schritt 7: Controller-Code
- Schritt 8: Ausführen des Raspberry SPy
Video: Raspberry SPy Roboter - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Dieses Projekt ermöglicht es Ihnen, einen Roboter über eine Webseite zu fahren und einen Livestream anzuzeigen. Es kann verwendet werden, um Haustiere auszuspionieren, sicherzustellen, dass nichts in Ihrem Ofen brennt, und sogar zum Beobachten von Vögeln! DFRobot lieferte den Raspberry Pi 3 und das Raspberry Pi Kameramodul.
Schritt 1: Die Roboterelektronik
Ich begann mit dem Zusammenbau des 2WD MiniQ Chassis-Kits von DFRobot. Ich schob die Räder auf die Motorwellen, steckte sie dann in Halterungen und befestigte sie am Chassis. Schließlich fügte ich die Metallstützen hinzu. Nun war es an der Zeit, das Mainboard zu bauen. Der L293d-Motortreiber wurde zusammen mit Drähten zu den GPIO-Pins des Raspberry Pi gelötet. Als nächstes lötete ich einen Stecker für den Akku, da dieser die Hauptstromversorgung liefert. Nachdem die Stromquelle hinzugefügt wurde, installierte ich einen 5V-Regler.
Schritt 2: 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. Ich habe auch eine Datei namens "wpa_supplicant.conf" hinzugefügt und diesen Text eingefügt:
Netzwerk = { ssid = psk = }
Dann habe ich die Karte gespeichert, ausgeworfen und wieder in den Raspberry Pi 3 gesteckt. Dies sollte nun die Verwendung von SSH und die Verbindung mit WiFi ermöglichen.
Schritt 3: Bereiten Sie die Kamera vor
Standardmäßig ist die Kamera auf dem Pi deaktiviert, daher müssen Sie den Terminaltyp sudo raspi-config öffnen, um das Menü aufzurufen. Gehen Sie zu "Schnittstellenoptionen" und aktivieren Sie dann die Kamera. Wählen Sie nun einfach „Fertig stellen“und stecken Sie das Flachbandkabel des Kameramoduls in den richtigen Bereich des Pi.
Schritt 4: Software installieren
Es gibt mehrere verschiedene Softwares, die Videos streamen können, wie z. B. 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 Website einen Git-Clone https://github.com/jacksonliam/mjpg-streamer.git in einen Ordner aus und geben Sie dann sudo apt-get install cmake libjpeg8-dev ein, um die benötigten Bibliotheken zu installieren. Wechseln Sie Ihr Verzeichnis in den heruntergeladenen Ordner und geben Sie dann make gefolgt von sudo make install ein, um die Software zu kompilieren. Geben Sie abschließend export LD_LIBRARY_PATH= ein. und zum Ausführen geben Sie./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" ein. Sie können auf den Stream zugreifen, indem Sie zu https://:8080/stream.html gehen, um den Stream anzuzeigen.
Schritt 5: Controller
Dann kam der Teil, wie man einen Raspberry Pi über WLAN steuert, weil Bluetooth zu wenig Reichweite hat. Ich entschied mich für die Verwendung eines Flask-Servers, der auf dem Raspberry PI läuft, und eines ESP8266 ESP12E-Moduls, um Daten an ihn zu senden. Der ESP8266 hat nur einen analogen Eingang, was bedeutet, dass ich den Joystick nicht direkt verwenden konnte, da er zwei analoge Eingänge benötigt. Die beste Option war der ADS1115, ein I2C-Gerät, das analoge Signale mit einer Auflösung von 16 Bit liest. Ich habe einfach SDA an 4 und SCL an 5 angeschlossen, zusammen mit VCC und GND. Die X-Achse des Joysticks ist mit A0 des ADS1115 verbunden, und die Y-Achse ist mit A1 verbunden. ABER, ich habe versehentlich den ADS1115 ausgebrannt, also musste ich auf das nächstbeste zurückgreifen: Knöpfe! Jetzt ist mein Setup ein ESP8266 Sparkfun Thing Dev Board mit 3 Tasten - vorwärts, rechts und links. Jedes Mal, wenn einer gedrückt wird, sendet er Daten, um die Räder in diese Richtung zu drehen.
Schritt 6: Der Code für den Roboter
Ich habe ein früheres Projekt erstellt, bei dem die GPIO-PWM-Bibliothek des Pi verwendet wurde, um Motoren über Json zu steuern, also habe ich den Code einfach umfunktioniert, um stattdessen Daten über eine Flask-App zu akzeptieren. Flask ist eine Python-Bibliothek, die Ihren Pi im Wesentlichen in einen Webserver verwandelt, der Daten senden und empfangen kann. Durch die Verwendung von PWM können die Motoren im Vergleich zum Panzerantrieb genauer gesteuert werden. Dies bedeutet auch, dass der Roboter mit variablen Geschwindigkeiten anstatt mit einer festen Geschwindigkeit fahren kann. Meine Kolben-App ist so konfiguriert, dass sie die PWM der Motoren ändert, sobald sie Daten von einer GET-Anforderung über http vom ESP12e empfängt. Es verwendet auch die Bibliothek subprocess. Popen, um das Webstreaming-Skript im Hintergrund auszuführen. Ich habe Code an die Projektseite angehängt, so dass nur ein Download erforderlich ist.
Schritt 7: Controller-Code
Der Code war ziemlich einfach, lesen Sie einfach die 3 Pins ab, führen Sie sie durch einige if-Anweisungen, um die Radrichtung zu bestimmen, und senden Sie diese Werte schließlich an den Raspberry Pi. Das ESP8266-Board-Additional für die Arduino-IDE wird mit der HTTPClient-Bibliothek geliefert, die Header verarbeitet und Daten sendet. Der Flask-Server muss Daten über einen POST-Aufruf empfangen, daher startet der Code eine Verbindung mit dem Raspberry Pi-Webserver, fügt dann einen Header zu den Daten hinzu, der angibt, dass es sich um JSON-codiert handelt, und sendet die Daten schließlich in Form eines JSON-Objekts. Ich habe eine Verzögerung von 40 ms hinzugefügt, um zu verhindern, dass der Raspberry Pi mit Daten überlastet wird.
Schritt 8: Ausführen des Raspberry SPy
Sie müssen lediglich sudo python.py eingeben! Sie sollten die Kamera aufleuchten sehen und wenn Sie zur Webadresse des Pi mit dem Port 8080 gehen, sollte der Stream sichtbar sein. Jetzt können Sie den Controller überall im Haus verwenden und auch einen Live-Feed haben.
Empfohlen:
Einen Roboter zur Hindernisvermeidung bauen – wikiHow
Wie man einen Hindernisvermeidungsroboter macht: Der Hindernisvermeidungsroboter ist ein einfacher Roboter, der von einem Arduino betrieben wird und was er tut, ist, dass er nur herumstreift und Hindernissen ausweicht. Er erkennt die Hindernisse mit einem HC-SR04 Ultraschallsensor, d. h. wenn der Roboter ein Objekt in der Nähe von
Einen intelligenten Roboter mit Arduino bauen – wikiHow
Wie man einen intelligenten Roboter mit Arduino macht: Hallo, ich bin Arduino-Hersteller und in diesem Tutorial werde ich Ihnen zeigen, wie man einen intelligenten Roboter mit Arduino macht, wenn Ihnen mein Tutorial gefallen hat, dann überlegen Sie, meinen Youtube-Kanal namens Arduino-Hersteller zu unterstützen
Einen humanoiden Roboter bauen – wikiHow
Wie man einen humanoiden Roboter baut: Hey Leute! Ich hoffe, Sie haben bereits meine vorherige anweisbare "Online-Wetterstation (NodeMCU)" und Sie sind bereit für einen neuen. Nach dem SMARS-Modellroboter, den wir beim letzten Mal zusammengebaut haben, geht es beim heutigen Projekt auch um das Lernen von Robotern und w
Roboter-Buggy bauen – wikiHow
Wie man einen Roboter-Buggy macht: Hallo !! In der heutigen Anleitung werde ich Ihnen beibringen, wie Sie Ihren eigenen Roboter-Buggy herstellen. Bevor wir auf die Spezifikationen und Dinge eingehen, die Sie dafür benötigen, ist ein Roboter-Buggy im Grunde ein programmierbares 3-Rad-Auto, das Sie steuern können
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter - Daumen Roboter - Servomotor - Quellcode: 26 Schritte (mit Bildern)
[Arduino-Roboter] Wie erstelle ich einen Motion-Capture-Roboter | Daumen Roboter | Servomotor | Quellcode: Thumbs Robot. Verwendet ein Potentiometer des Servomotors MG90S. Es macht sehr viel Spaß und ist einfach! Der Code ist sehr einfach. Es sind nur etwa 30 Zeilen. Es sieht aus wie ein Motion-Capture.Bitte hinterlassen Sie Fragen oder Feedback![Anleitung] Quellcode https://github.c