我正在使用BluetoothSerial将Android手机连接到ELM327 OBD加密狗。我使用蓝牙聊天应用程序确认在发送PID命令代码(如010C,0105等)时返回了相应的数据。
然而,虽然bluetoothSerial插件似乎可以很好地定位并连接到加密狗,但当我使用bluetoothSerial.write将命令代码发送到加密狗时,我只是从bluetoothSerial.subscribeRawData获得相同的命令代码反馈给我。我尝试使用bluetoothSerial.available来查看这些是否符合回复的大小,而且确实如此。
我无法找到这样的任何已知问题,所以我想知道是否有其他人可能遇到过此问题,或者知道为什么会这样。
答案 0 :(得分:2)
正如我在评论中所提到的(我创建了一个答案,因此对于遇到同样问题的其他人来说,它可以更好地搜索):
OBD-II要求您在每次请求后发送回车。
因此,您无需发送010D
来获取速度,而是需要发送010D\r
。
如果找到,下一个字符将被解释为内部配置或“AT”命令,并将在收到终止回车符时执行。 < / p>