I. Lernziele
II. Teile und Module
III. Aufbau der Hardware
IV. Softwareinstallation
V. Nutzung und Funktionsweise

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



I. Lernziele

Es gibt viele Möglichkeiten, das OSOYOO Robot Car über das Internet zu steuern. In diesem Projekt stellen wir eine beliebte Methode vor, die darin besteht, einen Webserver auf dem Raspberry Pi zu installieren. So können wir erreichen, dass unsere autonomes Auto eine Website ausliefert und so jeder Browser- oder jeder Smartphone-App genutzt werden kann, um Daten mit unserem Auto auszutauschen.



II. Teile und Module

Nr. Abbildung Modul Menge Zubehör Link
1 5-Kanal-Linienfolgemodul 1 2x M2,5 Plastikschrauben
2x M2,5 Plastikmuttern
2x M2,5 Plastikdistanzschrauben
Zum Kaufen hier klicken
2 7 Pin 25cm Buchse-zu-Buchse-Kabel 1 Zum Kaufen hier klicken
3 Kreuzschlitzschraubendreher 1 Zum Kaufen hier klicken


III. Aufbau der Hardware

Schritt 1: Bereiten Sie die Ultraschall-Sensorkonfiguration des Pie Robot Car wie in Lektion 2 beschrieben vor.

 



V. Softwareinstallation

Schritt 1 Laden Sie die Installations-Shell-Skriptdatei herunter, indem Sie den folgenden Befehl eingeben:

wget http://osoyoo.com/driver/picar/pi-webserver.sh

Geben Sie dann Folgendes ein:

bash pi-webserver.sh

Nach dem Ausführen der obigen Kommandos wird die Python-Flask-Bibliothek installiert und es werden automatisch ein Verzeichnis mit dem Namen pi-webserver sowie zwei Unterverzeichnisse erstellt. Die Namen der Unterverzeichnisse lauten static und templates. Die Verzeichnistruktur ist wie folgt:

Der Ordner pi-webserver speichert unsere Python-Code-Datei. Im Ordner static wird die CSS-Datei gespeichert und der Ordner templates speichert die HTML-Dateien. Falls Sie nicht wissen, wiw HTML- oder CSS-Dateien aussehen, spielt das für die aktuelle Lektion keine Rolle.

Schritt 2: Geben Sie den Befehl “hostname -I” ein, um die IP-Adresse Ihres Raspberry Pi zu ermitteln. Nachdem Sie den Befehl ausgeführt haben, sehen Sie folgendes Ergebnis:

Im obigen Beispielfalls ist 192.168.0.107 die IP-Adresse des Raspberry Pi/Pie Robot Car.

Schritt 3: Wir müssen die Python-Code-Datei jetzt bearbeiten und die IP-Adresse in der Programmdatei ändern.

Geben Sie folgenden Ausdruck ein, um in den Ordner pi-webserver zu gelangen:

cd pi-webserver


Bitte geben Sie den folgenden Befehl ein, um die Datei pi-webserver.py zu bearbeiten:

nano pi-webserver.py

Ersetzen Sie den Wert “192.168.0.107” durch die aktuelle IP-Adresse Ihres Raspberry Pi und klicken Sie dann auf “Strg” zusammen mit “x”, und dann auf Taste “Y”, um die Datei zu speichern. Zum Beenden drücken Sie dann auf “enter”, um den Editor zu verlassen.

Wenn Sie die Datei pi-webserver.py im nano-Editor öffnen, sehen den folgenden Python-Code:

import RPi.GPIO as GPIO
from flask import Flask, render_template, request
app = Flask(__name__)
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
pi_ip_address='10.0.0.89' # replace this ip value with your Raspberry Pi IP address, you can use ifconfig command to see the IP

#define actuators GPIOs
sensor1= 25 # No.1 sensor from right
sensor2= 9 # No.2 sensor from right
sensor3= 11 # middle sensor
sensor4= 8 # No.2 sensor from left
sensor5= 7 #No.1 sensor from left
#initialize GPIO status variables
Sts1 = 0
Sts2 = 0
Sts3 = 0
Sts4 = 0
Sts5 = 0

# Define sensor pins as output
GPIO.setup(sensor1, GPIO.IN)   
GPIO.setup(sensor2, GPIO.IN) 
GPIO.setup(sensor3, GPIO.IN) 
GPIO.setup(sensor4, GPIO.IN)   
GPIO.setup(sensor5, GPIO.IN) 

		
@app.route("/")
def index():
	# Read Sensors Status
	Sts1 = GPIO.input(sensor1)
	Sts2 = GPIO.input(sensor2)
	Sts3 = GPIO.input(sensor3)
	Sts4 = GPIO.input(sensor4)
	Sts5 = GPIO.input(sensor5)

	
	templateData = {
      'title' : 'IR tracking sensor Status!',
      'sensor_status_1'  : Sts1,
      'sensor_status_2'  : Sts2,
      'sensor_status_3'  : Sts3,
      'sensor_status_4'  : Sts4,
      'sensor_status_5'  : Sts5
      }
	return render_template('index.html', **templateData)

if __name__ == "__main__":
   app.run(host=pi_ip_address, port=80, debug=True)

 

Schritt 4: Starten Sie das Programm jetzt mit folgendem Befehl:

sudo python pi-webserver.py

V. Nutzung und Funktionsweise

Ihr Python Flask Webserver ist nun gestartet. Öffnen Sie auf Ihrem MAc, PC oder Mobiltelefon, das sich im gleichen WLAN-Netzwerk wie Ihr Raspberry Pi befinden sollte einen Browser. Tippen Sie die URL in die obere Adressleiste ein: http://eingetragenen_IP_adresse (im Beispielfall ist dies http://192.168.0.107). Sie werden im Browser jetzt jeweils einzeln den Status der individuellen Tracking-Sensoren sehen:

Der Sensorstatus wird alle 5 Sekunden aktualisiert. Wenn Sie also einen Liniensensor des Pie Robot Car über eine schwarze Linie halten, ändert sich der Sensorwert auf der obigen Webseite nach 5 Sekunden.