Read Serial Python -


i reading serial data on raspberry pi console:

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 

and getting data line line:

/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) ! 

now trying python:

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() 

but "write data" , no response usb0 device.

any suggestions?

kind regards

i'm guessing device same discussed here: https://www.loxforum.com/forum/faqs-tutorials-howto-s/3121-mini-howto-z%c3%a4hlerauslesung-iskra-mt174-mit-ir-schreib-lesekopf-und-raspberry

if so, need know default, pyserial opens ports 8 databits , no parity. (see: https://pythonhosted.org/pyserial/pyserial_api.html -> __init__)

so, @ least want to:

ser = serial.serial(serialport, baudrate, sevenbits, parity_even) 

perhaps need set other flags, don't read stty :) see string of numbers means, run first stty command , run:

stty -f /dev/ttyusb0 -a 

it'll output settings in human readable form, might bring closer solution.

good luck!


Comments