====== RS485-2-USB ======
====== Skript pro otestování komunikace v Pythonu ======
Nejprve je potřeba nainstalovat knihovnu pyserial.
sudo apt install python3-pip
python -m pip install pyserial
Kód v Pythonu pro vyčtení aktuálního stavu majordoma. Nejprve se připojí přes sériovou linku, pošle příkazy pro vyčtení dat a vypíše výstup.
#!/usr/bin/env python3
import serial
import sys
from serial import Serial
ser = serial.Serial("/dev/ttyUSB0", baudrate=115200, bytesize=8, parity='N', stopbits=1)
if ser.is_open:
print("port open success")
else:
print("port open failed")
#ser.write(bytearray('{"dst":"1NP-kuchyn", "msg":"status"}\r\n','ascii'))
ser.write(b'{"dst":"1NP-kuchyn", "msg":"status"}\r\n')
print(ser.readline())
ser.write(b'{"dst":"1NP-kuchyn", "msg":"data"}\r\n')
print(ser.readline())
#while True:
#bs = ser.readline()
#print(bs)
#print(ser.readline())
ser.close()
#sio.write(str('{"dst":"1NP-kuchyn", "msg":"status"}\r\n'))
#sio.flush() # it is buffering. required to get the data out *now*
#hello = sio.readline()
#print(hello == str("hello\n"))
#while True:
# ser.write('{"dst":"1NP-kuchyn", "msg":"status"}')
# rcv = ser.read(10)
# ser.write("You sent:" + repr(rcv))
# ser.write('{"dst":"1NP-kuchyn", "msg":"status"}')