Bluetooth ELM327ワイヤレスOBD-IIレシーバーを使用して、車両の OBD-II ポートからデータを取得しようとしています。私はエンジンに関する情報を収集しようとしているのではなく、車両内の電子機器の一部を収集しようとしています. デバイスにアクセスするための特定のコマンドが与えられ、ELM327 以外のさまざまなデバイスとソフトウェアを使用して成功しました。
CAN バスとデータ転送全般を扱った経験はあまりありません。このプロセスの重要な部分を省略している場合はご容赦ください。ただし、メッセージ ヘッダーやデータ バイトなどの CAN の基本は理解しています。
これまでのところ、Ford DET ツールを使用してデバイスからデータを収集してきました。8 バイトの CAN メッセージを送信し、データを受信することができました。生成された出力から適切なデータを解析するために必要なコマンドがたくさんあります。たとえば、コマンドを送信する場合
0x727 03 19 02 8F
ログファイルには次のように表示されます。
00184.3548 (Rx) 0x72F 10 0F 59 02 CA E1 00 00
00024.8556 (Rx) 0x72F 10 0F 59 02 CA E1 00 00 --- Request DTC Info: Report DTCs By Status Mask (StatusMask: 8F)
00189.4469 (Tx) 0x727 03 19 02 8F 00 00 00 00 --- Request DTC Info: Report DTCs By Status Mask (StatusMask: 8F)
00189.4549 (Rx) 0x72F 10 0F 59 02 CA E1 00 00
00189.4572 (Tx) 0x727 30 00 00 00 00 00 00 00
00189.4591 (Rx) 0x72F 21 0A E1 01 00 0A 9A 89
00189.4612 (Rx) 0x72F 22 13 0A 00 00 00 00 00 --- Pos Resp to Read DTCs By Status Mask (3 DTCs)
goSerialで ELM327 と通信すると、次のようになります。ELM327 デバイスの使用方法を説明するために、すべてのコマンドを含めました。
>ath1
OK
>ats1
OK
>atal
OK
>at sh 727 <-- set the message header to 0x727
OK
>03 19 02 8f
72F 03 7F 03 11
>
ご覧のとおり、最終行の結果出力は、Diagnostic Engineering ツールで表示された結果よりもはるかに短くなっています。デバイスを正しく構成していませんか?
基本的に、ELM327 の出力を Ford DET ツールの出力と一致させようとしています。これが非常に漠然とした質問であることは理解しています。
私の構成に関するその他の情報は次のとおりです。
- ボーレート: 38400 (車両の標準?)
- CAN バージョン: ISO 15765-4
すべてのコマンドは 0x727 で始まります。フロー制御は 0x727 と 0x7A7 で送信されます。
また、私はすでにELM327のドキュメントのほとんどを読んでいるので、それを解決策として残さないでください.