I. Lernziele
II. Teile und Module
III. Aufbau der Hardware
IV. Download der Smartphone-App
V. FAQ und Eckdaten der WLAN UDP App und zum Beispielcode

In USA kaufen In UK kaufen In DE kaufen In IT kaufen In FR kaufen In ES kaufen In JP kaufen


I. Lernziele

In dieser Lektion werden wir Ihnen zeigen, wie Sie die mobile App des Pie Robot Car verwenden, um das Roboterauto über das UDP-Protokoll zu steuern. Der Raspberry Pi wird ein Python-Programm ausführen, um UDP-Pakete von der APP zu erhalten.

Sie werden lernen, wie man mit Python Daten (UDP-Pakete) von einer mobilen App abruft.

Falls Sie sich für die C++ Programmierung interessieren, finden Sie unter folgendem Link passenden C++ Code und eine Anleitung:
https://osoyoo.com/de/2020/11/08/osoyoo-pie-v2-0-car-lesson-4-use-mobile-app-to-control-car-with-udpc-language/

 



II. Teile und Module

Nr. Abbildung Modul Menge Zubehör Link
1 Ultraschallmodul 1 4x M1,4*8 Schraube
4x M1,4 Mutter
Zum Kaufen hier klicken
2 Micro-Servomotor 1 2x M2,2*8 selbstschneidende Schraube
1x M2*4 selbstschneidende Schraube
Zum Kaufen hier klicken
3 Halterung für Ultraschallsensor 1 4x M1,4*8 Schraube
4x M1.4 Mutter
1x M2*4 selbstschneidende Schraube
Zum Kaufen hier klicken
4 5-Kanal-Linienfolgemodul 1 2x M2,5 Plastikschraube
2x M2,5 Plastikmutter
2x M2,5 Plastikdistanzschraube
Zum Kaufen hier klicken
5 7 Pin 25cm Buchse-zu-Buchse-Kabel 1 Zum Kaufen hier klicken
6 20cm 20 Pin Buchse-zu-Buchse-Steckkabel mehrere
7 Kreuzschlitzschraubendreher 1 Zum Kaufen hier klicken


III. Aufbau der Hardware

Nutzen Sie die Ultraschall-Sensorkonfiguration des Pie Robot Car wie in Lektion 3 beschrieben. Des Weiteren wird das 5-Kanal-Linienfolgemodul benötigt. Falls noch nicht geschehen, führen Sie bitte den Aufbau gemäß Lektion 2 durch.

 



VI. Download der Smartphone-App

Osoyoo WIFI Robot APP Suchen Sie nach “OSOYOO WIFI UDP Robot APP” in
Google Play oder dem App Store (Apple)

Schritt 1: Download der OSOYOO WIFI UDP Robot Car control APP

Auf Ihrem Smartphone wählen Sie je nach Hersteller den Google Play oder App Store. Suchen Sie bitte die Schlüsselwörter “OSOYOO WIFI UDP Robot Car”. Die richtige App hat ein orangefarbenes Symbol:

Schritt 2: Stellen Sie sicher, dass Sie bereits in Lektion 1 rpi.gpio und die adafruit-pca9685-Bibliothek installiert haben.

Schritt 3: Geben Sie den folgenden Befehl ein, um den Beispielcode herunterzuladen:

wget http://osoyoo.com/driver/picar/picar-udp-control.py


Schritt 4: Geben Sie folgenden Befehl ein, um den Beispielcode auszuführen (Python 2):

python picar-udp-control.py

Falls Sie Python3 verwenden, geben Sie ein:

python3 picar-udp-control.py

Nachdem obiges Python-Programm gestartet wurde, wartet Ihr Pie Robot Car auf einen Befehl von Ihrer Smartphone App.

Schritt 5:

Verbinden Sie Ihr Smartphone mit dem gleichen WLAN- Netzwerk, identische SSID, das auch Ihr Raspberry Pi verwendet. Öffnen Sie die App, klicken Sie auf Einstellungen(Settings), geben Sie hier die IP-Adresse Ihres Raspberry Pi ein und stellen Sie die Port Nummer auf 8888 :

Jetzt können Sie die Richtungs-Buttons < > ^ v drücken, um das Auto zu bewegen. Verwenden Sie den Pausen-Button ||, um das Auto anzuhalten.

Wenn Sie auf den Button “Hindernisvermeidung (Obstacle)” klicken, fährt das Auto automatisch um Hindernisse herum, die Funktionsweise ist genau wie in Lektion 3 beschrieben.

Wenn Sie auf den Linienverfolger-Button (Tracking) klicken, fährt das Auto als Linienverfolger genau so wie in Lektion 2 erläutert.

Hinweis: Die Button F1~F6 sind für weitere Entwicklungsfunktionen in der Zukunft vorbehalten.

V. FAQ und Eckdaten der WLAN UDP App und zum Beispielcode

Q: Wie lässt sich die Geschwindigkeit des Roboterautos einstellen?
A: Wenn Sie die Geschwindigkeit des Roboters ändern möchten, ändern Sie bitte die Werte folgender Parameter in Zeile 19-21 der Datei picar-udp-control.py:

high_speed = 4000  # Max pulse length out of 4096
mid_speed = 2000  # Max pulse length out of 4096
low_speed = 1000  # Max pulse length out of 4096

Q: Was passiert, wenn Sie verschiedene Buttons in der OSOYOO WiFi UDP Robot Car APP drücken?
A: Wenn Sie einen Button der App drücken, sendet die App eine Nachricht mit einem Buchstaben über das UDP-Protokoll an das Zielgerät Raspberry Pi.

Button UDP Nachricht
F1 F
F2 G
F3 H
F4 I
F5 J
F6 K
A
B
R
L
square E
obstacle O
tracking T

Q: Wie behandelt das Raspberry Pi Python-Programm den UDP-Befehl?
A:
Zeile 290 bis 318 while loop empfängt UDP-Daten von der APP und gibt sie an cur_status, die Ticker-Funktion in den Zeilen 266 bis 280 verarbeitet den cur_status:

def ticker():	
    if cur_status=='R':
    	turnRight(high_speed,0)
    if cur_status=='L':
    	turnLeft(0,high_speed)
    if cur_status=='A':
    	forward(mid_speed,mid_speed)
    if cur_status=='B':
    	backward(mid_speed,mid_speed)
    if cur_status=='E':
    	stopcar()
    if cur_status=='T':
    	line_tracking()
    if cur_status=='O':
    	obstacle_avoid()

Wenn zum Beispiel der Button ▲ in der App gedrückt wird und cur_status den Wert A hat, ruft die Funktion ticker() die Funktion forward(mid_speed,mid_speed) auf, damit das Auto vorwärts fährt.