Inhaltsverzeichnis:
- Schritt 1: Einige Informationen über App.remoteme.org
- Schritt 2: Was wird benötigt:
- Schritt 3: Verbindungen
- Schritt 4: PCB
- Schritt 5: PCB-Ausgänge
- Schritt 6: Wie es funktionieren wird
- Schritt 7: Automontage - Räder
- Schritt 8: Power (AA-Akkus aufladen) Option 1/2
- Schritt 9: Stromversorgung (Li-Po 7,2 V Batterien) Option 2/2
- Schritt 10: Löten
- Schritt 11: Kamera
- Schritt 12: Autoteile zusammenfügen
- Schritt 13: App.remoteme.org-Konfiguration
- Schritt 14: RasbperryPi-Konfiguration
- Schritt 15: Überprüfen der Verbindungen
- Schritt 16: Python-Skript hinzufügen
- Schritt 17: Überprüfen, ob das Python-Skript erfolgreich hinzugefügt wurde
- Schritt 18: Webseite zum Control Car hinzufügen
- Schritt 19: Konfigurieren Sie das Webseitengerät, um Auto 1/2 zu steuern
- Schritt 20: Konfigurieren Sie das Webseitengerät, um das Auto 2/2 zu steuern
- Schritt 21: Öffnen Sie das Autokontrollzentrum
- Schritt 22: Kamerakonfiguration 1/2
- Schritt 23: Kamerakonfiguration 2/2
- Schritt 24: Fahren 1/2 "
- Schritt 25: Fahren 2/2 "
- Schritt 26: Wie funktioniert es?
- Schritt 27: Tablet, mobile Lenkung
- Schritt 28: Seite am Handy öffnen
- Schritt 29: Turn-Server hinzufügen
- Schritt 30: Mobile Lenkung
- Schritt 31: Zusammenfassung
Video: RasbperryPi-Auto mit FPV-Kamera. Steuerung per Webbrowser - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Wir werden ein Allradauto bauen - die Lenkung wird ähnlich wie in einem Panzer sein - um eine Seite der Räder zu drehen, wird sie sich mit einer anderen Geschwindigkeit als die andere drehen. Am Auto wird die Kamera auf einem speziellen Halter angebracht, wo wir die Kameraposition ändern können. Der Roboter wird über den Webbrowser (Chrom oder Firefox auf dem Desktop oder Firefox auf dem Mobiltelefon) gesteuert Kameraposition. Um die Kommunikation zu erleichtern, habe ich das app.remoteme.org-System verwendet neue Möglichkeiten usw.
Bevor Sie Ihre Platine mit Strom versorgen, überprüfen Sie bitte alle Anschlüsse
Schritt 1: Einige Informationen über App.remoteme.org
Das System besteht aus drei Teilen
- Webapplikation - wenn Sie Ihre Kontrollwebseiten hosten und die gesamte Kommunikation miteinander verknüpft
- rasbperryPi-Programm - Programm, das Videos sendet, verwalten Sie Ihre Python-Skripte
- Bibliotheken, in denen Sie Klassen- und Funktionsdefinitionen finden
Remoteme.org ist systemschnell Sie verknüpfen alle Ihre Geräte miteinander, Sie können dort Ihre Webseiten hosten, sehen Ihre verbundenen Geräte. Das Remoteme.org-System wurde entwickelt, um Ihnen beim Starten Ihrer Projekte zu helfen, ohne sich um die Protokollkommunikation zu kümmern. Die Hauptidee besteht darin, binäre Nachrichten zwischen verschiedenen Geräten wie Webseiten, RasbeprryPI, Arduino und Skripten zu senden.
Auf der anderen Seite gibt Ihnen Remoteme.org die volle Kontrolle über Ihre Dateien. Sie können es einfach ändern, indem Sie Ihre eigenen Funktionen schreiben
In diesem Tutorial zeige ich Ihnen, wie Sie ein fantastisches Projekt erstellen können, ohne Code zu schreiben.
Am Ende dieses Tutorials habe ich nützliche Links gesetzt, die Ihnen helfen, das remoteme.org-System zu verstehen.
Schritt 2: Was wird benötigt:
- Raspberry PI Zero W
- Dedizierte Kamera
- Adafruit 16-Kanal 12-Bit PWM/Servo-Treiber - I2C-Schnittstelle - PCA9685 oder sein Klon
- Zwei mit dem Kamerahalter kompatible Servomechanismen
- Kamerahalter
- Batterien - Im Tutorial zwei Anschlussmöglichkeiten
- H-Brücke TB6612FNG, zur Kontrolle des Radspeeres
- PCB-Adler-Dateien Es ist einfach, die Thermotransfermethode DC-DC zu erstellen
- Abwärtswandlermodul DC
- Roboterkoffer
Schritt 3: Verbindungen
Raspberry Pi-Steuerungsservomechanismus durch PWM-Modul und Motorgeschwindigkeit durch H-Brücke, die mit RasbperryPi-Pins verbunden ist.
Schritt 4: PCB
Sie können PCB-Adler-Dateien von hier herunterladen. Pfade sind fett, daher ist es einfach, sie mit der Thermotransfermethode zu erstellen
Schritt 5: PCB-Ausgänge
- PWM-Eingang für Antriebsmotoren Sollte mit dem 15. und 16. Pin des PWM-Moduls verbunden werden (überprüfen Sie das grüne Rechteck im Bild des PWM-Moduls)
- Leistungsaufnahme für Antriebsmotoren (prüfen Sie, mit welcher maximalen Spannung Ihre Motoren arbeiten können)
- Power für RasbperryPi und PWM-Modul – muss genau sein
- Antriebsmotorausgänge (es gibt zwei Ausgänge, da wir Antriebsmotoren paaren werden)
- Leistung der Servomechanismen – auch Sie müssen überprüfen, welche Spannung für sie gut ist
- Überbrücken Sie die aktuelle Leistung vom 5. Eingang, um auch Antriebsmotoren zu versorgen, sodass Sie nichts an Eingang 2 anschließen müssen
- Jumper, falls vorhanden RasbperryPi wird vom 3. Eingang mit Strom versorgt – bevor Sie den Jumper hier setzen, prüfen Sie, ob die Verbindungen in Ordnung sind – Sie möchten Ihren RPi nicht brennen
- Lassen Sie uns hier Kabel löten, da wir keine Logikwandler brauchen
Schritt 6: Wie es funktionieren wird
Bei RasbperryPi gibt es Python-Skript, das zwei Bibliotheken verwendet
- RPi. GPIO als GPIO importieren – für Pins 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM-Notation), die mit der H-Brücke verbunden sind
- Adafruit_PCA9685 für PWM-Modul importieren
Rpi-Pins sind wie folgt verbunden: 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) und Steuermodus der H-Brücke (vorwärts, rückwärts, Stopp, kurze Pause). Die H-Brücke benötigt auch zwei PWM-Signale, damit wir die Geschwindigkeit oder die Motordrehung steuern können. Da wir im Projekt bereits einen PWM-Controller (für Servos verwendet) haben, werden wir ihn auch verwenden, um PWM für die H-Brücke zu erzeugen.
Das PWM-Modul verwendet das I2C-Kommunikationsprotokoll. Ich habe Adafruit_PCA9685 verwendet, um aus der Box zu arbeiten. Bücherei
Schritt 7: Automontage - Räder
Wir beginnen damit, Antriebsmotoren mit dem Autogehäuse zu verbinden. Links-/Seitenmotoren sind miteinander verbunden, und beide Paare verbinden sich mit einem Stromkabel, das später mit der Platine verbunden wird. Wichtiger Hinweis beim Anschließen von Motoren müssen sich die Räder auf jeder Seite in die gleiche Richtung drehen.
Schritt 8: Power (AA-Akkus aufladen) Option 1/2
Ich werde zwei Möglichkeiten der Stromversorgung schreiben. Das erste Auto ist aus 10xAA-Akkus aufladen. Als letztes Bild habe ich rote Jumper gezeichnet, die gesetzt werden müssen.
Schritt 9: Stromversorgung (Li-Po 7,2 V Batterien) Option 2/2
Und die zweite Option ist ein 7,2 LI-PO-Akku. In diesem Fall haben wir 3 Spannungen – 5V für Rpi und Modul, 6V für Servos und direkt aus Batterien 7,2 Volt für Antriebsmotoren. Ich musste zwei Step-Down-Module verwenden
Variante 2 mit LI-PO ist besser:
- Batterien haben eine größere Kapazität – das Auto fährt länger
- Höhere Spannung für Antriebsmotoren – das Auto fährt schneller
- Es ist weniger wahrscheinlich, dass wir nach dem Beginn der Suche der Antriebsmotoren einen großen Spannungsabfall und einen RPI-Neustart haben.
Schritt 10: Löten
Ich habe auf der Platine einige Abstandshalter für das PWM-Modul angebracht. Es gibt nichts zu schreiben, schaut euch einfach die Bilder an, wie man alles zusammenlötet
Schritt 11: Kamera
Wir schließen die Kamera an, hier steht, wie man die Servomechanismen vor der Montage in den Kamerahalter zentriert, aber der kürzeste Weg besteht darin, die maximale Rotationsposition vorsichtig manuell zu überprüfen und die Servos in die Mittelposition zu bringen. Diese zentrierten Servomechanismen setzen wir in der Mittelposition in den Kamerahalter ein (Kamera zeigt wie auf dem Foto geradeaus)
Schritt 12: Autoteile zusammenfügen
Für PCB habe ich einen kleinen Plexiglastisch gemacht
Schritt 13: App.remoteme.org-Konfiguration
Ich habe das kostenlose app.remoteme.org-System verwendet, das Ihnen hilft, Verbindungen herzustellen, und es enthält bereits Skripte, die wir benötigen
An diesem instructable werde ich nur Schritt für Schritt zeigen, was getan werden sollte, um Autofahren zu machen (hier finden Sie weitere Details)
- Melden Sie sich nach der Anmeldung unter https://app.remoteme.org an Sie werden automatisch angemeldet
- Öffnen Sie den Token-Tab auf der linken Seite, klicken Sie dann auf "Neuer Token", geben Sie einen Namen ein und klicken Sie auf OK. Wir haben gerade einen neuen Token erstellt (Bild auf dem Bildschirm)
- In diesem Beispiel ist der Tokenwert: ~1_&p@+BNnZ@A+x8 (Ihrer wird anders sein;))
Schritt 14: RasbperryPi-Konfiguration
an der Putty-Konsole (hier, wie Sie unser RPi einrichten, schalten Sie die Kamera-I2c-Kommunikation ein)
git-Klon git://github.com/remoteme/remoteme.git
CD-Fernbedienung
python3.5 install.py
- Der Installateur stellt uns einige Fragen für alle Antworten, die wir mit [Y]es beantworten und mit [enter] bestätigen.
- Wenn die Installation nach einem Token fragt, fügen wir das Token ein (Umschalt + Einfügen), das aus der Anwendung kopiert wurde, und geben Sie ein
- der Name zum Beispiel Rpi
- Geräte-ID 1 Eingabe
- nach der Installation – Programm ausführen
./runme.sh
Schritt 15: Überprüfen der Verbindungen
Gehen wir zurück zu
Auf der Registerkarte Geräte sehen wir unser verbundenes RPi (grünes Linksymbol bedeutet, dass RPi gerade verbunden ist)
Schritt 16: Python-Skript hinzufügen
Jetzt werden wir Python-Skript hinzufügen, das bereits in den Vorlagen enthalten ist, sodass wir nichts programmieren müssen.
Öffnen Sie auf der Registerkarte "Geräte" das RasbperryPi-Menü und wählen Sie "Externes Skript hinzufügen".
Wenn ein neues Fenster erscheint, geben Sie Informationen wie im Bild oben an
Vergessen Sie nicht, die Vorlage "car4wd" auszuwählen. Nach diesen Schritten fügt remoteme.org unserem RasbperryPi ein Python-Skript hinzu und startet es neu
Schritt 17: Überprüfen, ob das Python-Skript erfolgreich hinzugefügt wurde
Auf der Registerkarte Geräte sollte ein neues Python-Skriptgerät hinzugefügt werden, dessen Geräte-ID ist 2. In diese Geräte-ID-Webseite werden Nachrichten an die Steuerung des Autos gesendet
Schritt 18: Webseite zum Control Car hinzufügen
Klicken Sie auf der Registerkarte "Geräte" auf "Neu" und dann auf "Webseite". Wir fügen einfach ein weiteres Gerät hinzu - Webseite, mit der wir unser Auto steuern. Und da wir auf der Webseite das Template "car4wdDesktop" verwendet haben, sind bereits Dateien fast einsatzbereit
Schritt 19: Konfigurieren Sie das Webseitengerät, um Auto 1/2 zu steuern
Erweitern Sie die Webseite auf der Geräteregisterkarte und klicken Sie auf index.html und dann auf Öffnen
Schritt 20: Konfigurieren Sie das Webseitengerät, um das Auto 2/2 zu steuern
Das Fenster erscheint, dann müssen wir die Geräte-ID unseres Python-Skripts angeben, wenn Geräte-ID 2 ist. Ändern wir die im Bild gezeigte Stelle
Schritt 21: Öffnen Sie das Autokontrollzentrum
Jetzt ist es an der Zeit, unsere Seite zu öffnen und zu sehen, wie sie funktioniert. Klicken Sie auf der Registerkarte "Geräte" auf index.html und dann auf "In neuem Tab öffnen", um eine Videovorschau zu erhalten Sie müssen den Chrome- oder Firefox-Browser verwenden. Andere Browser unterstützen webRTC nicht vollständig
Schritt 22: Kamerakonfiguration 1/2
Wenn wir die Maus im Videobereich bewegen, sollte die Kamera die Position ändern und genau wie in FPS-Spielen funktionieren. Es wird sich wahrscheinlich nicht richtig bewegen
Schritt 23: Kamerakonfiguration 2/2
Öffnen Sie script.js (Geräte-Registerkarte erweitern Sie die Webseite, klicken Sie dann auf script.js und öffnen Sie dann) und suchen Sie den Ort, den ich auf dem Bildschirm gezeigt habe
bei meinem Fall ist die Mittelposition 560 und 430 und der Bewegungsbereich beträgt für beide Achsen 200
Sie müssen mit diesen Zahlen experimentieren, damit Sie die Mitte der Kameraposition und reibungslose Bewegungen erhalten. Wenn Sie dieses Tutorial verwendet haben, kopieren Sie einfach die eingefügten Werte
Schritt 24: Fahren 1/2"
Wenn Sie den Pfeil nach oben auf der Tastatur gedrückt haben, sollten sich die Anzeigen ändern und das Auto sollte fahren. Wenn Sie den Pfeil nach oben drücken und das Auto dreht, müssen Sie an Stellen auf dem Bildschirm ein Minus hinzufügen / entfernen.
Nach diesem Vorgang sollte nach dem Drücken von "Auf"-Pfeilauto vorwärts und Abwärts-Pfeilauto rückwärts fahren.
Schritt 25: Fahren 2/2"
Jetzt abbiegen – drücken Sie den linken Pfeil, wenn das Auto nach rechts abbiegt Sie müssen die Kabel umdrehen (siehe Bild oben)
Wenn Sie diese Kabel löten, können Sie sie unter script.js ändern. Ändern Sie einfach die Reihenfolge der Sendegeschwindigkeit der Motoren, Vor:
pos=putByte(ret, pos, carController.getMotorMode(carController.getRightSideSpeed())); pos=putByte(ret, pos, Math.abs(carController.getRightSideSpeed()*255));
pos=putByte(ret, pos, carController.getMotorMode(-carController.getLeftSideSpeed()));
pos=putByte(ret, pos, Math.abs(carController.getLeftSideSpeed()*255));
nach:
pos=putByte(ret, pos, carController.getMotorMode(-carController.getLeftSideSpeed()));
pos=putByte(ret, pos, Math.abs(carController.getLeftSideSpeed()*255));
pos=putByte(ret, pos, carController.getMotorMode(carController.getRightSideSpeed()));
pos=putByte(ret, pos, Math.abs(carController.getRightSideSpeed()*255));
und jetzt müssen Sie mit Minuspunkten wie einen Schritt vorher spielen, damit es richtig funktioniert;). Wie Sie wahrscheinlich bemerkt haben, fährt das Auto nicht mit voller Geschwindigkeit, damit sich das Auto schneller bewegt, lassen Sie den Pfeil einfach schnell los, wenn es in der maximalen Position ist und drücke und halte es erneut
Schritt 26: Wie funktioniert es?
Die Webseite sendet Nachrichtennachrichten aus dem 9. Byte an das Python-Skript im folgenden Format:
- 1 Byte ein Byte ganzzahliger Wert 1
- 2 Byte Integer X Kameraposition
- 2 Byte Integer Y-Kameraposition
- 1 Byte Integer-Motormodus links (3= rückwärts, 1= vorwärts, 2=stopp)
- 1 Byte ganzzahlige linke Motordrehzahl
- 1 Byte Integer rechter Motormodus (3= rückwärts, 1= vorwärts, 2=stopp)
- 1 Byte Integer rechte Motordrehzahl
Das Senden der Nachricht erfolgt in der Datei script.js bei der Funktion "sendNow()"
bei RasbperryPi bekommt python.py diese Nachricht in der Funktion "onUserMessage"
Sie können es sich ansehen und ein wenig spielen, damit Sie wissen, was los ist.
Beschreibung der Klassenfunktionen hier
Schritt 27: Tablet, mobile Lenkung
Wir fügen eine neue Webseite genau wie früher hinzu, aber jetzt wählen wir die Vorlage "car4wdMobile"
Als Nächstes konfigurieren wir alles in script.js wie für die Webseite zur Desktopsteuerung. Das Nachrichtenformat ist genau das gleiche, sodass wir das Skript python.py nicht ändern müssen.
Schritt 28: Seite am Handy öffnen
Anstatt sich von Ihrem Handy aus bei Ihrem Konto anzumelden, scannen Sie einfach eine beliebige QR-URL.
Details zu QR hier
Wenn Ihre mobile Steuerung funktioniert, wenn RPi und Mobiltelefon im selben WLAN sind, aber nicht, wenn Sie das mobile Internet verwenden, müssen Sie den Turnserver hinzufügen, wie das geht, habe ich hier geschrieben
Schritt 29: Turn-Server hinzufügen
Manchmal (wenn Sie sich hinter NAT oder einigen Firewall-Einstellungen befinden) können Sie Ihren Roboter nicht von einem anderen Netzwerk aus verbinden, dann ist Ihr Roboter verbunden. Es ist kein großes Problem und dann müssen Sie den Turnserver hinzufügen.
Ich habe den Server der Firma XIRSYS getestet (er ist kostenlos für Entwickler) und werde zeigen, wie man den Turn-Server mit dem XIRSYS-System konfiguriert
registrieren:
global.xirsys.net/dashboard/signup
Klicken Sie dann auf "Plus", um die Anwendung hinzuzufügen
rechts unter "statische Abbiegeguthaben" Sie haben alle Daten die Sie benötigen. Kopieren Sie es in die Datei webrtc_streamer.conf, gehen Sie dazu zu
RaspberryPi Geräte erweitern
Klicken Sie auf die Datei webrtc_streamer.conf
klick öffnen
und Informationen hinzufügen
turn_server=turn_username=
turn_credential=
nach Beendigung der Bearbeitung Sie sollten so etwas wie auf dem Bildschirm haben.
Klicken Sie dann auf Speichern und starten Sie Ihr Rpi neu, indem Sie auf das Menü bei RasbperryPi-Gerät klicken und Neustart auswählen
Nach dem Neustart des RPi-Programms können Sie die Videovorschau auf Ihrem Mobiltelefon anzeigen, auch wenn Sie das mobile Internet verwenden.
Schritt 30: Mobile Lenkung
Bei Kreis 1 platzieren wir den linken Daumen, bei 2 rechts – müssen nicht genau an diesen Punkten sein – die Webseite setzt die Nullposition direkt nach dem Berühren des Bildschirms und durch Bewegen Ihrer Daumen (Linksfahren, rechte Kameraposition) können Sie steuern dein Auto
Schritt 31: Zusammenfassung
Ich hoffe, Ihnen hat dieses Tutorial gefallen, da ich zuvor in diesem Tutorial geschrieben habe, mehr Details darüber, wie es unter der Haube funktioniert.
einige Links:
remoteme.org - Homepage von remoteme.org dort finden Sie Dokumentationen und Tutorials
FB-Fanpage - Facebook-Fanpage neueste Informationen über remoteme.org
Youtube - einige Projektvideos, Tutorials
Danke schön, Maciek
Empfohlen:
So fügen Sie jedem Projekt eine WLAN-Steuerung hinzu -- ESP32-Anfängerleitfaden: 5 Schritte
So fügen Sie jedem Projekt eine WLAN-Steuerung hinzu || ESP32-Anfängerhandbuch: In diesem Projekt zeige ich Ihnen, wie einfach / schwierig es ist, einen ESP32 mit der Arduino IDE zu verwenden, um jedem Elektronikprojekt eine WiFi-Steuerung hinzuzufügen. Unterwegs zeige ich Ihnen, wie Sie mit dem ESP32 einen einfachen WLAN-Server erstellen und wie Sie
EINFACHER CARBOT -- ARDUINO -- BLUETOOTH-STEUERUNG -- TUTORIAL: 10 Schritte (mit Bildern)
EINFACHER CARBOT || ARDUINO || BLUETOOTH-STEUERUNG || TUTORIAL: IN DIESEM ANLEITUNG ZEIGE ICH, WIE MAN EINEN EINFACHEN BOT HERSTELLT, DER VON IHREM SMARTPHONE ÜBER BLUETOOTHPARTS GEBAUT WIRD:☻ARDUINO☻2X GETRIEBEMOTOREN☻HC-05 BLUETOOTH MODUL☻LAPTOP ODER PC ICH HABE EINE POWER BANK VERWENDET
SERVO-Steuerung lernen (auf einen Blick): 6 Schritte
SERVO-Steuerung lernen (auf einen Blick): In diesem Modul lernen Sie die Steuerung eines mit Arduino kompatiblen Mikro- oder Mini-Servos. Ein Servomotor wird im Allgemeinen in allen Automatisierungsprojekten verwendet, die bewegliche Teile haben. Es spielt eine sehr wichtige Rolle Rolle in der Robotik, die präzise Bewegung
Wie man Firefox zum nützlichsten Webbrowser macht, den es gibt: 8 Schritte
Wie man Firefox zum nützlichsten Webbrowser macht, den es gibt: Wenn Sie noch nicht davon überzeugt sind, dass Firefox besser ist als alles da draußen, finden Sie hier ein paar Tipps und Optimierungen, die Sie zum Umsteigen bringen werden. Wenn Sie Firefox verwenden, wussten Sie vielleicht noch nichts davon
So erstellen Sie einen Webbrowser in "Visual Basic": 11 Schritte
So erstellen Sie einen Webbrowser in "Visual Basic": Zuerst müssen Sie Microsoft Visual Basic herunterladen. Jede Form von Visual Basic ist gut, aber denken Sie daran, dass einige von ihnen Geld kosten. Ich verwende die kostenlose Version Visual Basic "Express Edition" aber wie gesagt, jede form tut gut. http://www.mic