У меня есть скрипт, который отслеживает последовательный порт:
nano spo.py:
#!/usr/bin/env python3
import serial, time
ser = serial.Serial('/dev/ttyS0', 9600)
while 1:
serial_line = ser.readline()
print(serial_line)
time.sleep(60)
ser.close()
ctrl + x для сохранения и выхода
chmod +x spo.py
./spo.py
Этот скрипт работал под Ubuntu 16, эта система также могла быть более старой версией python.
под Ubuntu 18.04 Сейчас я не получаю последовательный вывод, если предположить, что из-за более новой Ubuntu или более новой версии python
РЕДАКТИРОВАТЬ, я нашел способ получить НЕКОТОРЫЕ выходные данные во время работы моего скрипта (во время работы скрипта я выключил и включил устройство пару раз):
b'NONIN AVANT 9600\r\n'
b'NONIN AVANT 9600\r\n'
b'NONIN AVANT 9600\r\n'
вышеупомянутый форматируется не так, как раньше:
NONIN AVANT 9600
если я использую экран, я получаю немного больше шума, только если нажимаю ввод
screen /dev/ttyS0 9600
, то каждый раз, когда япри нажатии enter я получаю исходные данные:
NONIN AVANT 9600
Patient:
Clinician:
09/01/04 12:52:32
SpO2= 96 HR= 62 F
при повторном нажатии на ввод я получаю больше, но он начинается вместо отображения следующей строки:
NONIN AVANT 9600
Patient:
Clinician:
09/01/04 12:53:55
SpO2= 97 HR= 65 F
в Ubuntu 16 onмоя старая установка, сделанная несколько лет назад, будет выглядеть примерно так:и затем каждую секунду получаю новую строку статистики:
NONIN AVANT 9600
Patient:
Clinician:
09/01/04 12:53:55
SpO2= 97 HR= 65 F
SpO2= 98 HR= 69 F
SpO2= 96 HR= 70 F
SpO2= 98 HR= 74 F
SpO2= 97 HR= 63 F
SpO2= 96 HR= 62 F
SpO2= 95 HR= 64 F
Я получаю только повторно инициализированный вывод, который я делаю на экране, если я нажимаю клавишу ввода.
Я надеюсь, что кто-то сможетпомогите мне разобраться в этом, я чувствую, что я иду круг за кругом в погоне за тупиками.
Устройство представляет собой Nonin Avant 9600: ASCII последовательный 9600 бод с 8 битами данных, 1 стартовым битом и 2 стопамибиты.Каждая строка заканчивается CR / LF