====== 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"}')