我正在编写一个基于 java 的应用程序来与汽车交互。对于硬件,我使用的是亚马逊提供的 wifi ELM 327 模块之一(准确地说是:http ://www.amazon.com/gp/product/B00FQ7O88M/ref=oh_details_o00_s00_i00 )。为了测试它是否正常工作,我为我的 iPhone 选择了 DashCommand 应用程序。
为了稍微了解用于与模块接口的协议,我记录了一个会话的网络流量(通过 wireshark),我在其中开车,而 DashCommand 应用程序记录了它的常用指标(用于测试的汽车是2009 年讴歌 TSX)。
最初的大部分流量是我在 ELM 327 和 OBD II 文档中所读到的内容所期望的。然而,一旦我开始,DashCommand 最终使用了我似乎无法弄清楚的 PID。我看到的一个例子是:
...
Request: 01 0B2
Response: 01 0B2
18 DA F1 11 03 41 0B 1B
18 DA F1 1D 03 41 0 B 1C
>
Request: 01 0C2
Response: 01 0C2
18 DA F1 1D 04 41 0C 0C A0
18 DA F1 11 04 4 1 0C 0C A0
>
Request: 01 0D2
Response: 01 0D2
18 DA F1 11 03 41 0D 00
18 DA F1 1D 03 41 0 D 00
>
Request: 01 101
Response: 01 0D2
01 101
18 DA F1 11 04 41 10 01 3E
>
Request: 01 332
Response: 01 332
18 DA F1 D1 03 41 33 62
18 DA F1 11 03 41 3 3 62
>
…
到目前为止,我发现的三位数 PID 的完整列表是:031、0B2、0C2、0D2、101、332 和 341。如上所示,它们中的每一个都以模式 01 发送。
是否有关于这些 PID 的任何文档?还是我误解了我所看到的?