import serial # Die Bibliothek Serial wird hinzugefügt
import time
Verbindungsinitialisierung = serial.Serial('/dev/ttyAMA0', 9600) # 9600 ist Baudrate und gibt an wie viele Bytes pro sekunde übertragen werden/ muss gleich sein bei Arduino
# /dev/ttyAMA0 oder USB0 ist die Quelle woher die Arduinodaten zu beziehen sind.
# Serial.serial ist ein Befehl der serial Bibliothek. Das erste serial steht für die Bibliothek der die Funktion entnommen wurde.
# In dieser Zeile wird zur Vereinfachung der Verbindungsaufbausbefehl einer Variablen zugeordnet.
# die Verbindung wird definiert
Verbindungsinitialisierung.open() # überflüssig in neuerer Version. Hier wird die Verbindung explizit geöffnet
time.sleep(5) # der Arduino resettet nach der Erstellung der seriellen Verbindung, daher muss kurz gewartet werden. time.sleep wartet den wert in sekunden
Verbindungsinitialisierung.write("test") # Der write Befehl wird genutzt, um Daten über die serielle schnittstelle zu senden. test ist nun der Inhalt der übermittelten Daten
# Hier wird Test gesendet. Anführungszeichen wie bei C, dass der deren Inhalt als Text gesendet wird. Stichwort Stringdefinierung
try: # Der Block der möglicherweise einen Fehler verursacht wird in try geschrieben. Bei Fehler wird except code ausgeführt und try code beendet
while True: # ist einfach eine while schleife wie while (1) falls keine Dauerschleife gewünscht ist kann einfach geschrieben werden while x = 1. keine klammern nötig
# Dauerschleife bis ein except auftritt
response = Verbindungsinitialisierung.readline() # Die Variable Response erhält als Wert die Auslesung des Inhalts der seriellen Schnittstelle
print(response) # print Der Inhalt der Klammer. Hier die Variable response wird in die Shell bzw. CMD geschrieben des Raspberry Pi
except KeyboardInterrupt: # Keybordinterrupt tritt auf sobald eine tastatureingabe gemacht wird.
# Mehrere Excepts und Handlungsanweisungen bei verschiedenen auftretenden Fehlern sind möglich. Fehlerliste ist definiert.
Verbindungsinitialisierung.close() # Verbindung wird geschlossen
# Bei Python ersetzt das Einrücken mit tabulator die geschweiften Klammern von C
# except bzw. exceptions = Fehler