繁体   English   中英

python pyserial readline不起作用,但是屏幕有点起作用,在ubuntu 16中起作用

[英]python pyserial readline not working, but screen kinda does, worked in ubuntu 16

我有一个脚本来监视串行com端口:

纳米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

然后每次我按回车我都会得到初始数据:

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下,输出将是这样的,初始化一次,然后每秒获取一个新的统计信息行:

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

如果我按Enter键,我只会得到在屏幕上执行的重新初始化的输出。

我希望有人能帮我解决这个问题,我觉得我在圈里追逐死胡同。

该设备是Nonin Avant 9600:ASCII串行9600波特,具有8个数据位,1个起始位和2个停止位。 每行以CR / LF终止

对于任何发现此线程的人。 我尝试了几种不同的方法来从串行端口获取输出,但没有任何效果。 我正在使用我们的备用血氧仪进行测试。 我关闭了通常使用的血氧仪,现在串行通讯正常工作。 血氧饱和度仪似乎工作正常并在其屏幕上正确显示,因此我不会猜到它可能是引起串行通讯问题的设备。

同样奇怪的是,关闭设备后再打开设备会使我从串行端口中获取一些数据,但仅在开始时,我才一直在获取数据。 我几乎想知道这只是设备的设置还是怪异的东西,但是我看了一下手册,却什么也没看到。 希望我对电子学有所了解,可以很好地解决其他问题,但是没有明显烧毁或凸起的组件,所以我不知道下一步该怎么做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM