majordomus:rs485-2-usb

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"}')
  • majordomus/rs485-2-usb.txt
  • Poslední úprava: 2024/11/24 13:04
  • autor: Petr Nosek