2016-08-08 11 views
1

ich mit der Konsole serielle Daten auf meinem Raspberry Pi lese:Lesen Serien Python

stty -F /dev/ttyUSB0 1:0:9a7:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 
cat < /dev/ttyUSB0 & 
echo -n -e '\x2F\x3F\x21\x0D\x0A' > /dev/ttyUSB0 

Und ich bin immer Daten Zeile für Zeile:

/ISk5MT174-0001 
0.9.1(210832) 
0.9.2(1160808) 
0.0.0(00339226) 
0.2.0(1.03) 
C.1.6(FDF5) 
1.8.1(0004250.946*kWh) 
1.8.2(0003664.811*kWh) 
2.8.1(0004897.813*kWh) 
2.8.2(0000397.465*kWh) 
F.F.0(0000000) 
! 

Jetzt versuche ich, dies zu tun mit python: nur bekommen „Schreibdaten“ und keine Antwort von meinem USB0 Gerät

import serial 

SERIALPORT = "/dev/ttyUSB0" 
BAUDRATE = 300 

ser = serial.Serial(SERIALPORT, BAUDRATE) 

print("write data") 
ser.write("\x2F\x3F\x21\x0D\x0A") 

time.sleep(0.5) 
numberOfLine = 0 

while True: 
    response = ser.readline() 
    print("read data: " + response) 

    numberOfLine = numberOfLine + 1 
    if (numberOfLine >= 5): 
    break 

ser.close() 

Aber ich.

Irgendwelche Vorschläge?

Mit freundlichen Grüßen

+1

wissen Sie, dass '\ x0D \ x0A' und' \ r \ n' dasselbe sind? –

+0

Sie haben Recht, ich habe es geändert, funktioniert aber immer noch nicht. danke – Chuck

Antwort

1

Ich bin Ihr Gerät zu raten ist das gleiche wie hier diskutiert: https://www.loxforum.com/forum/faqs-tutorials-howto-s/3121-mini-howto-z%C3%A4hlerauslesung-iskra-mt174-mit-ir-schreib-lesekopf-und-raspberry

Wenn ja, müssen Sie wissen, dass standardmäßig pyserial öffnet Ports mit 8 Datenbits und keine Parität. (siehe: https://pythonhosted.org/pyserial/pyserial_api.html -> __init__)

Also, zumindest Sie wollen:

ser = serial.Serial(SERIALPORT, BAUDRATE, SEVENBITS, PARITY_EVEN) 

Vielleicht andere Flags gesetzt, müssen Sie auch, aber ich lese nicht stty :) To sehen, was das Zahlenkette Mittel, den ersten stty-Befehl ausführen und dann laufen:

stty -F /dev/ttyUSB0 -a 

Es wird gibt die Einstellungen in lesbarer Form, das könnte wieder ein Stück näher an eine Lösung.

Viel Glück!

+0

danke! 7 Bits und die gerade Parität machten den Job! – Chuck

+0

du bist willkommen, serielle Kommunikation ist immer ein bisschen mystisch zu vielen Menschen :) (ja, ich bin alt) – madeddie