Минимальный пример PySerial RFC2217: копирование данных, полученных из последовательного порта, в stdout

Также см. тот же пример для локального последовательного порта: Минимальный пример PySerial: копирование данных, полученных из последовательного порта, в stdout

Этот пример подключается к удалённому последовательному порту RFC2217 на 10.1.2.3 порт 1234. Он не отправляет данные в последовательный порт, а только копирует данные, полученные из последовательного порта, в stdout.

pyserial_rfc2217_copy.py
#!/usr/bin/env python3
import serial
with serial.serial_for_url("rfc2217://10.1.2.3:1234", baudrate=115200) as ser:
    try:
        while True:
            response = ser.read()
            if response:
                print(response.decode("iso-8859-1"), end="")
    finally:
        ser.close()
pyserial_rfc2217_copy.py
#!/usr/bin/env python3
import serial
with serial.serial_for_url("rfc2217://10.1.2.3:1234", baudrate=115200) as ser:
    try:
        while True:
            response = ser.read()
            if response:
                print(response.decode("iso-8859-1"), end="")
    finally:
        ser.close()

Используя декодирование iso-8859-1, мы обеспечиваем, что даже бинарные байты будут декодированы каким-либо образом и не вызовут исключение.


Check out similar posts by category: Embedded Python