我正在使用OBD2系统编写Android应用程序,我想同时向OBD PID
蓝牙适配器发送多个ELM327
。
示例:
010C/r
010D/r
这可能吗?我已经尝试过了,我只是得到了一个HEX响应,每当我尝试它时都会改变它的长度。所以我无法解释它。
目前我正在使用计时器通过使用正常工作的计时器每隔1.5秒将rpm的“010C”发送到一个线程。但我不能以超过1.5秒的更快间隔发送请求。
rpmTimer = new Timer();
rpmTimer.scheduleAtFixedRate(new TimerTask() {
public void run () {
connectedThread.write("010C\r".getBytes());
}
}, 500, 1500);
那么有没有人设法同时发送两个或更多的pid?
答案 0 :(得分:0)
我曾在OBD工作过一段时间,并遇到过类似的问题。据我所知,你不能同时发送多个PID。我通过创建一个PID队列来解决它,当我从前一个响应时,一个接一个地发送它们,并且在速度或类似情况下预测下一个值应该是多少。
不幸的是我再也无法访问存储库了,所以我无法确切地告诉你我是如何解决它的。
答案 1 :(得分:0)
试试010C0D\r
一次查询最多可以请求六个PID。