PySerial属性错误,带有'read_until'

问题描述 投票:0回答:1

我需要一些帮助来解决我的Python代码中的属性错误。

我正在使用通过/ dev / ttyUSB0连接到Raspberry Pi 2B]的串行设备。我的代码目标是连续从串行设备读取实时串行数据,并分离出用'@'符号而不是/ n或/ r。]

该项目仍处于初期阶段,但是通过快速研究,我完成了pyserial属性'read_until'可以很好地用作其骨干。这将允许我一次读取一个字节并在'@'符号处停止,然后在继续进行串行数据的下一部分之前处理数据。

出于某种原因,当我尝试使用'read_until'时声称我遇到了'Serial'对象不具有此功能的属性错误。下面是我正在使用的测试代码以及​​它吐出的错误:

import serial

gc = serial.Serial('/dev/ttyUSB0', baudrate = 230400)
print(gc.name)

def getCommand():
    gcData = gc.read_until('@', 1).decode('ascii')
    print(gcData)

getCommand()

gc.close()

这是此代码给我的输出:

>>>
/dev/ttyUSB0
Traceback (most recent call last):
  File "/home/pi/Python/GC/serialRead1.py", line 10, in <module>
    getCommand()
  File "/home/pi/Python/GC/serialRead1.py", line 7, in getCommand
    gcData = gc.read_until('@', 1).decode('ascii')
AttributeError: 'Serial' object has no attribute 'read_until'
>>>

令人沮丧的是,应该将'read_until'与串行库一起导入。也许我缺少一些非常简单的东西,但是如果我可以使用此属性,那将非常有帮助。关于“ read_until”的大多数其他问题都引用了“ telnetlib”,据我所知,它与PySerial具有的含义不同。

这里是网站的链接,我在该网站上找到了说明'read_until'应该属于PySerial的文档:https://pyserial.readthedocs.io/en/latest/pyserial_api.html

请您注意,我一般对编程都是陌生的。经验丰富的程序员(如您自己)使用的一些术语可能会让我感到头疼,因此我可能不知道如何执行您拥有的解决方案。在我全面了解编程和Python的过程中,请耐心等待。

非常感谢您的宝贵时间!

我需要一些帮助来解决我的Python代码中的属性错误。我正在使用通过/ dev / ttyUSB0连接到Raspberry Pi 2B的串行设备。我对此代码的目标是读取实时串行...

python pyserial raspberry-pi2
1个回答
0
投票

似乎您已安装PySerial 2.6版。此版本在2011中发布,而read_until方法在2015中添加。

安装最新版本(最发现的方法)的最简单方法是使用pip:

© www.soinside.com 2019 - 2024. All rights reserved.