エンジン回転数の取得とリアルタイムでの数値表示が出来たので、次のステップは複数項目(PID)での同時取得と表示ですが、まずはこの先ELM327を介して取得してみたい車両情報の項目を決めたいと思います。以前PIDのサポート状況を調べるコマンドを使って、私の車でサポートしている項目も調べてあるので、この中から選んでいきます。
WRX OBD2で車両情報を取得する その12 正しいエンジン回転数取得の様子
前回はELM327から返信されるアスキーコードの扱いに苦労しましたが、なんとか最終的に正しいエンジン回転数の取得が出来そうな感じにまで修正しました。あとは繰り返しの「CR」送信で、毎回同じデータデバイスに同じデータ(アスキーコード)が格納されるかどうかです。今回は実際に車両での確認を行います。
WRX OBD2で車両情報を取得する その11 アスキーコードを数値に変換
前回、ELM327から返信されるエンジン回転数について16進数の2バイトで表されるとしましたが、実際にはアスキーコード(文字列)で返信されているので、この文字列を読み取った上で数値として扱える様に変換する必要がある事が分かりました。当初はPLCで用意されている変換命令を使えばいいか、くらいの認識でいましたが、よくよく考えると少し面倒な事になりそうです。
WRX OBD2で車両情報を取得する その10 その他のPIDとエンジン回転数の取得
前回「0100」コマンドで車両がサポートしているPID(01~20の範囲)を調べましたが、今回はそれ以外の範囲にあるPIDのサポート状況を「0120」~「01C0」コマンドを使って調べてみました。また「010C」コマンドで現在のエンジン回転数を実際にPLCから要求し、車両から正しく読み取れるかのテストも行いました。
WRX OBD2で車両情報を取得する その9 OBD2のPIDを調べる
前回、ELM327を車両のOBD2コネクターに接続して通信が行える事を確認しました。同時に車両側でサポートされているPID(水温や回転数などの項目)を調べる為の「0100」コマンドを使って、その内容も取得する事が出来ました。取得した内容はそのままでは意味不明なので、今回はその内容の解読を行います。
WRX OBD2で車両情報を取得する その8 ELM327を車両OBD2に接続する
前回まででELM327とPLC間の通信確認が完了しました。車両側でサポートされている項目(PID)を調べる為のコマンド「0100」も用意したので、今回は実際にELM327を車両のOBD2コネクターに接続してみます。ただしまずはELM327自体が車両と通信出来るのかの確認から行う必要があります。その上で今回、車両と通信を行って「0100」の結果まで得られれば良いのですが。