zuerst möchte ich sagen das ich Python-Neuling bin.
Zyklisch wird an ein Gerät ein "set+0x0D" Befehl zu Status abfrage gesendet. Dieser antwortet mit einem unbestimmt langen String entsprechend dem Status.
Nun möchte ich einzelne Bytes aus der seriellen Schnittstelle lesen und in einen String speichern bis Carriage Return empfangen wird.
Dann soll der ganze String ausgegeben werden. Die einzelnen Bytes auslesen klappt, aber nicht das Speichern in den String.
Code: Alles auswählen
import serial
import time
ser = serial.Serial("/dev/ttyAMA0", 115200, timeout=10)
if ser.isOpen()== False:
ser.open()
while 1:
print"SET an BT senden"
ser.write("set" + chr(0x0d))
while ser.inWaiting() > 0:
byte = ser.read(1)
if byte != chr(0x0d):
s = s + byte
elif byte == chr(0x0d):
print s
#Hier sollte s wieder gelöscht werden
time.sleep(9)