我正在使用BluetoothSerial将Android手机连接到ELM327 OBD加密狗。我已使用蓝牙聊天应用程序来确认发送PID命令代码(例如010C,0105等)时是否返回了适当的数据。

但是,虽然bluetoothSerial插件似乎可以很好地定位并连接到加密狗,但是当我使用bluetoothSerial.write将命令代码发送到加密狗时,我只是从bluetoothSerial.subscribeRawData获得了相同的命令代码。我尝试使用bluetoothSerial.available查看它们是否与答复的大小匹配,并且确实如此。

我无法找到类似这样的已知问题,所以我想知道是否有人可能遇到过这种情况,或者知道为什么会发生这种情况。

最佳答案

正如我在评论中提到的那样(我创建了一个答案,因此对于具有相同问题的其他人来说,搜索起来更好):

OBD-II要求您在每次请求后发送回车信。

因此,您无需发送010D来获取速度,而是需要发送010D\r



如果找到,则下一个字符将被解释为内部配置或“ AT”命令,并将在收到终止的回车符后执行。



资料来源:ELM327 Documentation

07-24 09:32