我正在尝试从USB OBD接收数据,而我正在使用raspberry Pi3 ..这是我的简单代码:
import obd
connection = obd.OBD() # auto-connects to USB or RF port
cmd = obd.commands.RPM # select an OBD command (sensor)
response = connection.query(cmd) # send the command
print(response) # "2410 RPM"
当我开始运行代码时,我收到此错误:
: AttributeError: 'Serial' object has no attribute 'in_waiting'
我该如何解决这个问题?
答案 0 :(得分:2)
根据pyserial v3.0的文档,in_waiting
"已从inWaiting()
"更改为属性。这让我相信你的pyserial
库对于odb
库而言太旧了(即odb正在以你的版本无法处理的方式使用pyserial库;它没有&#39} ; t具有in_waiting
正在寻找的odb
属性,而不是使用较旧的inWaiting()
方法。
您可以使用以下方法检查您的pyserial版本:
>>> import serial
>>> serial.VERSION
'2.6'
如果您不是版本3.x,则需要升级pyserial
库。