an meinem Raspberry PI werden jede Sekunde Daten vom Microcontroller über den UART gesendet.
Leider hat der Raspberry PI keinen richtigen UART sondern nur eine "miniuart" Schnittstelle. Sprich die Baudrate kann je nach Belastung ein wenig schwanken. Um dies zu verhindern habe ich in der /boot/config.txt folgende Zeile eingetragen:
dtoverlay=pi3-miniuart-bt dadurch habe ich zwar keine interne Bluetooth Schnittstelle mehr aber das ganze läuft sehr viel stabiler.
Allerdings kommt es immer noch zu abbrüchen. Gibt es eine Möglichkeit, sobald es zu solch einem Abbruch kommt, damit das Script neu gestartet wird? mit diesem Skript überwache ich nämlich die Temperatur meines Gewächshauses. Wenn mal ein Wert fehlt ist es nicht so schlimm, da die Werte allerdings grafisch dargestellt werden, sollte sich das Script sich wieder neu starten. Hat jemand eine Idee?
vielen Dank im voraus
Code: Alles auswählen
#!/usr/bin/python3
import serial
import time
ser = serial.Serial("/dev/ttyAMA0")
ser.baudrate = 9600
def serial():
while True:
try:
daten = ser.readline()
print(daten.decode('utf8'))
except:
print("Irgendwas lief schief")
break;
serial()