Я отлаживаю пакеты, отправленные с устройства с помощью pyserial. Пакеты имеют определенный шаблон терминатора, чтобы различать пакеты данных. Шаблон представляет собой большое число (0x3423fe67). Я могу получать байты и объединять их по мере их поступления с кодом ниже.
ser = serial.Serial(
ports="/dev/ttyUSB0",
baudrate=115200,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
y = b''
while True:
bytes = ser.inWaiting()
if bytes > 0:
x = ser.read(bytes)
y += binascii.hexify(x)
print(y)
Я вижу шаблон, который ищу, но как мне получить пакет и терминатор, когда я увижу терминатор. Я попытался проиндексировать объект bytes, но он возвращает странные значения. Все, что получено до терминатора, является частью пакета.