我正在研究一个应用程序,我需要计算从点A到点B(乘汽车)的距离。Android OBD-II如何清除行驶距离(PID0131)?
我问Elm Electronics(芯片组制造商),他们说没有标准的OBD-II PID来从里程表返回里程数,尽管汽车制造商可能会提供PID。由于这种方式不是标准的,我找到了另一种方式。
PID 0131(代码清除后的距离),正在返回一些我认为可能有用的东西。如果我能够清除它在点A和读取它的价值点B,然后我完成:)
我想了很多猜猜什么是“代码清除”的意思,但我不知道是什么它的意思是?和我的另一个重要问题,如何清除代码或重置此PID?
任何建议,将不胜感激。谢谢。
更新
我只是两辆车进行测试。
- 在奔驰汽车没有OBD-II指挥工程。我无法获得任何数据:(
- 我在Persona汽车(本地马来西亚)得到了正确的回复,但0x0131 PID总是返回7F01,即使通过几公里后仍然是16608KM。我尝试通过发送04命令重置它(as埃里克在他的回答中建议),但是,没有什么明确的:)我仍然得到了7F01作为回应。
我的库可用于任何正在查找OBD-II lib from here的人。
所以,我打算做的是,因为我能够获得速度(v),那么我可以根据d = v * t
公式计算距离。
这里有一个提示,该代码可与任何OBD2阅读器或通过断开电瓶车被清除。基本上,你的方法不起作用。 –
@ElliottFrisch感谢您的快速回复。我实际上使用蓝牙ELM327这是一个阅读器,并连接到我的应用程序。我可以发送代码并获得结果。但我想知道是否可以通过命令重置(清除代码)? – Hesam
根据[this](http://www.elmelectronics.com/ELM327/AT_Commands.pdf)是的。它是'Z'。 –