您尚未登录。

楼主 # 2024-03-17 12:03:19

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 238
积分: 299.5

如何使用 Pyserial 访问 OrangePi 3B 的串口

使用 orangepi-config 使能 UART2 后,,在 /dev 下可以看到 ttyS2,,但如下代码查询结果为空:

In [10]: from serial.tools.list_ports import comports

In [11]: comports()
Out[11]: []

查看 comports 实现如下:
pyserial_comports.jpg

逐句执行 comports 语句:

In [16]: glob('/dev/ttyS*')
Out[16]: ['/dev/ttyS9', '/dev/ttyS7', '/dev/ttyS2', '/dev/ttyS1']

In [17]: [SysFS(d) for d in _]
Out[17]:
[<serial.tools.list_ports_linux.SysFS at 0x7f88996830>,
 <serial.tools.list_ports_linux.SysFS at 0x7f88997550>,
 <serial.tools.list_ports_linux.SysFS at 0x7f889979d0>,
 <serial.tools.list_ports_linux.SysFS at 0x7f889a54e0>]

In [18]: [d.subsystem for d in _]
Out[18]: ['platform', 'platform', 'platform', 'platform']

可知 comports 是识别出了串口 ttyS2 的,,但又因为它的 subsystem 属性值为 platform,,又把它丢弃了。。

不知道这是 pyserial 的问题,,还是 OrangePi 系统的问题,,怎样修改才比较合理??

离线

#2 2024-03-17 13:35:22

sxlyq_666
会员
注册时间: 2023-09-07
已发帖子: 70
积分: 66

Re: 如何使用 Pyserial 访问 OrangePi 3B 的串口

你应该发表到 全志论坛去,这个问题与硬件相关。

离线

楼主 #3 2024-03-17 17:14:31

XIVN1987
会员
注册时间: 2019-08-30
已发帖子: 238
积分: 299.5

Re: 如何使用 Pyserial 访问 OrangePi 3B 的串口

搜了下,,发现这个问题四年前就有人提了,,可惜还没解决。。有人提了 pr,,但作者还未 merge

/dev/ttyS0 being filtered out by list_ports on Raspberry Pi

最近编辑记录 XIVN1987 (2024-03-17 17:14:55)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn