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
Post a Comment