私は、車とのインターフェース用の Java ベースのアプリケーションを作成中です。ハードウェアについては、Amazon から入手できる wifi ELM 327 モジュールの 1 つを使用しています (これは正確には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
>
…
これまでに見つけた 3 桁の PID の完全なリストは、031、0B2、0C2、0D2、101、332、および 341 です。これらはそれぞれ、上記のようにモード 01 で送信されます。
これらの PID に関するドキュメントはありますか? それとも、私が見ているものを誤解していますか?