При считывании значений с датчиков качества воздуха UART получаемый массив байтов состоит из байтов и обычных символов (букв).Действительно, кажется, что он автоматически конвертирует каждый символ ASCII в формат ASCII, а не записывает их как байты.
Например, предполагаемая полученная линия (проверено на оборудовании сторонних производителей):
b '\ xff \ x1d \ x2c \ x01 \ x43 ' (пробелы добавлены для ясности)
принимается как:
b '\ xff \ x1d , \ x01 C ' (пробелы добавлены для ясности)
Код ниже: (python 3.5)
import serial
ser = serial.Serial(port='/dev/ttyS0', baudrate = 9600) #useless part excluded, conection working
ASK = b'\xff\x02\x13 ....... \x03'
while True:
ser.write(ASK)
print(ser.read())
Работа над модулем CM3 Lite от Raspberry с Raspbian lite.