首页 > 解决方案 > 使用 python-obd 连接和查询汽车的问题

问题描述

我正在尝试使用 USB OBD-II 设备将我的 linux 与汽车连接,它连接到 OBD-II 设备但不连接到汽车。软件 OBD Auto Doctor https://www.obdautodoctor.com/连接得很好,看看调试模式下的 python-obd 在尝试连接和执行查询 (RPM) 时所说的内容:

```
>>> connection = obd.OBD()
[obd.obd] ======================= python-OBD (v0.7.1) =======================
[obd.obd] Using scan_serial to select port
[obd.obd] Available ports: ['/dev/ttyUSB0']
[obd.obd] Attempting to use port: /dev/ttyUSB0
[obd.elm327] Initializing ELM327: PORT=/dev/ttyUSB0 BAUD=auto PROTOCOL=auto
[obd.elm327] Response from baud 38400: '?\r\r>'
[obd.elm327] Choosing baud 38400
[obd.elm327] write: 'ATZ\r'
[obd.elm327] wait: 1 seconds
[obd.elm327] read: b'\r\rELM327 v1.5\r\r>'
[obd.elm327] write: 'ATE0\r'
[obd.elm327] read: b'ATE0\rOK'
[obd.elm327] write: 'ATH1\r'
[obd.elm327] read: b'OK'
[obd.elm327] write: 'ATL0\r'
[obd.elm327] read: b'OK'
[obd.elm327] write: 'AT RV\r'
[obd.elm327] read: b'13.9V\r\r>'
[obd.elm327] write: 'ATSP0\r'
[obd.elm327] read: b'OK'
[obd.elm327] write: '0100\r'
[obd.elm327] read: b'\r\r>'
[obd.elm327] write: 'ATDPN\r'
[obd.elm327] Failed to read port
[obd.elm327] read: b''
[obd.elm327] Failed to retrieve current protocol
[obd.elm327] Adapter connected, but the ignition is off
[obd.obd] Cannot load commands: No connection to car
[obd.obd] ===================================================================
>>> connection.status()
'OBD Connected'
>>> response = connection.query(obd.commands.RPM, force=True)
[obd.obd] Sending command: 010C: Engine RPM
[obd.elm327] write: '010C\r'
[obd.elm327] read: b'010C\r41 0C 0D 4D \r\r>'
[obd.OBDCommand] 010C: Engine RPM did not receive any acceptable messages
>>>
```

任何帮助将不胜感激。提前致谢

标签: pythonobd-ii

解决方案


将 obd 降级到 v0.6.1,这对我有用

我有同样的问题。我看到你正在使用 v0.7.1


推荐阅读