我正在开发一个应用程序,我需要计算从 A 点到 B 点(乘汽车)的距离。
我问过Elm Electronics(芯片组制造商),他们说没有标准的 OBD-II PID 从里程表返回里程,尽管汽车制造商可能会提供 PID。由于这种方式不是标准的,所以我找到了另一种方式。
PID 0131(自代码清除后的距离)正在返回一些我认为可能有用的东西。如果我能够在 A 点清除它并在 B 点读取它的值,那么我就完成了:)
我想了很多猜测“代码已清除”是什么意思,但我不明白这是什么意思?还有我的另一个重要问题,如何清除代码或重置此 PID?
任何建议将不胜感激。谢谢。
更新
我刚刚在两辆汽车上进行了测试。
- 在奔驰车上没有 OBD-II 命令有效。我无法获得任何数据:(
- 我在 Persona car (Local Malaysia) 上得到了正确的回复,但是即使经过几公里,0x0131 PID 总是返回 7F01,即 16608KM。我试图通过发送 04 命令来重置它(正如 Eric 在他的回答中所建议的那样),但是,没有什么清楚的:) 我仍然得到 7F01 作为响应。
我的图书馆可用于从此处寻找 OBD-II 库的任何人。
所以,我打算做的是,因为我能够获得速度(v),所以我能够根据d = v * t
公式计算距离。