Jeg prøver at læse en kontinuerlig strøm af data fra min enhed (laserhøjdemåler). Enheden er tilsluttet UART Rx-stiften på hindbær Pi 3B +. Alt fungerer fint med denne pythonkode:
import timeimport serialtry: ser = serial.Serial (port = '/ dev / serial0' , baudrate = 115200, paritet = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, bytesize = serial.EIGHTBITS, timeout = 1) undtagen IOError: print ("mislykkedes ved indstilling af port \ n"), mens 1: x = ser.readline ( ) print (x)
Men efter tilfældig mængde vellykkede læsninger får jeg denne fejl:
Traceback (seneste opkald sidst): File "/ usr / lib / python3 / dist-packages / serial / serialposix.py ", linje 490, i læs 'enhed rapporterer beredskab til at læse, men returnerede ingen data' serial.serialutil.SerialException: enhed rapporterer beredskab til at læse, men returnerede ingen data (enhed afbrudt eller flere adgang på port?) Under håndtering af ovennævnte undtagelse opstod der en anden undtagelse: Traceback (seneste opkald sidst): Fil "/home/pi/readSerial.py", linje 25, i <module> x = ser.readline () File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 497, in read raise SerialException ('read failed: {}'. Format (e)) serial .serialutil.SerialException: læsning mislykkedes: enhed rapporterer beredskab til at læse, men returnerede ingen data (enhed frakoblet eller multiple adgang på port?)
Når jeg kører den samme kode igen, fungerer alt igen, i en kort periode (tilfældigt fra 1 til 30'ere). Jeg har brug for at læse data fra sensoren i få timer. Kan nogen hjælpe mig med at forstå problemet eller finde en løsning? Jeg er helt vild. Tak.