Ich versuche, einen kontinuierlichen Datenstrom von meinem Gerät (Laserhöhenmesser) zu lesen. Das Gerät ist mit dem UART Rx-Pin des Himbeer-Pi 3B + verbunden. Mit diesem Python-Code funktioniert alles einwandfrei:
import timeimport serialtry: ser = serial.Serial (port = '/ dev / serial0' , Baudrate = 115200, Parität = serial.PARITY_NONE, Stopbits = serial.STOPBITS_ONE, Bytesize = serial.EIGHTBITS, Timeout = 1) außer IOError: print ("Fehler beim Festlegen von Port \ n"), während 1: x = ser.readline ( ) print (x)
Nach einer zufälligen Anzahl erfolgreicher Lesevorgänge wird folgende Fehlermeldung angezeigt:
Traceback (letzter Aufruf zuletzt): Datei "/ usr / lib / python3 / dist-packages / serial / serialposix.py ", Zeile 490, in read 'Gerät meldet Lesebereitschaft, gibt aber keine Daten zurück' serial.serialutil.SerialException: Gerät meldet Lesebereitschaft, gibt jedoch keine Daten zurück (Gerät Nicht verbunden oder Mehrfachzugriff auf Port?) Während der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten: Traceback (letzter Aufruf zuletzt): Datei "/home/pi/readSerial.py", Zeile 25, in <module> x = ser.readline () Datei "/usr/lib/python3/dist-packages/serial/serialposix.py", Zeile 497, in read raise SerialException ('read failed: {}'. Format (e)) serial .serialutil.SerialException: Lesen fehlgeschlagen: Gerät meldet Lesebereitschaft, gibt jedoch keine Daten zurück (Gerät getrennt oder Mehrfachzugriff auf Port?)
Wenn ich denselben Code erneut ausführe, funktioniert alles wieder. für einen kurzen Zeitraum (zufällig von 1 bis 30s). Ich muss einige Stunden lang Daten vom Sensor lesen. Kann mir jemand helfen, das Problem zu verstehen oder eine Problemumgehung zu finden? Ich bin total verloren. Danke.