「OBD-II(OBD2)」でネット検索するとたくさんのページがヒットします。簡単に言うと「OBD-II(OBD2)」は「自動車の自己診断機能」のことで、車に取り付けることでOBD-II規格に従って車のデータを見ることが出来るようになりますが、車種によってみることが出来る情報が違います。今回は、トヨタ ヴォクシー(ZRR70W、H.24年式)にOBD-IIアダプターを取り付け、スマホアプリとBluetoothで接続し、どんなデータが取得できるか調べてみたところ、38種類のデータが取得できることが分かりました。


トヨタ ヴォクシーのOBD-II 通信プロトコルの確認方法

 トヨタ ヴォクシーに(取扱説明書にはやめるように書いてありますが)OBD-IIアダプターを取り付け、まずは通信できるか、プロトコルの指定がいるかどうか調べました。 詳細はELM327DS.pdfAndroidスマホとOBD2アダプターを使って車の内部情報を取得するのに「obd2-lib」を活用」に記載がありますが、通信開始時には初期化コマンドでプロトコルを指定する必要があります。まず、初期化コマンドとして、

  • AT Z
  • AT PC
  • AT SP 0
  • AT DP

を試しました。AT Zはオールリセット、 AT PCはプロトコル クローズで今、設定されているプロトコルを終了、AT SP 0で プロトコル 0をセット、プロトコル 0は「Automatic」という意味で自動判別になります。 結果、AT SP 0 コマンドに対して、OK が、設定されたプロトコルを返すコマンドAT DP に対してAUTO が返ってきたため、プロトコルは「0 - Automactic」で行けそうです。

トヨタ ヴォクシーのOBD-II サービス01対応状況確認結果

 次に、OBD-IIのサービス01で定義されているPID(パラメータID)のうち、全ての項目に応答があるわけではないようですので、そのうちのどれに反応があるか(サポートされているか)を確かめます。「OBD-II PIDs」に詳細は書かれていますが、コマンド01 00をOBD2アダプターに送信すると、PID 01(16進)から20(16進)までのコードのうち、どれを対応しているのか、ビットごとに対応されてる場合は1が、されていない場合は0でセットされた応答が返ってきます。実際に、トヨタ ヴォクシーからの応答を確認すると、BE3FA813でした。ビットごとに分解すると

1011 1110 0011 1111 1010 1000 0001 0011

 になります。「OBD-II_PIDs」の「Service_01_-_Show_current_data」に当てはめ、対応していないものをグレーで塗ると、以下のようになりました。

PID
(Hex)
PID
(Dec)
Description説明単位
11Monitor status since DTCs cleared. (Includes malfunction indicator lamp (MIL), status and number of DTCs, components tests, DTC readiness checks)DTCがクリアされてからのステータス
22DTC that caused freeze frame to be stored.フリーズフレームデータが格納された原因となったDTCコード
33Fuel system statusエンジン制御システムの状態
44Calculated engine load計算されたエンジン負荷%
55Engine coolant temperatureエンジン冷却水温度°C
66Short term fuel trim—Bank 1短期燃料補正値(バンク1)%
77Long term fuel trim—Bank 1長期燃料補正値(バンク1)%
88Short term fuel trim—Bank 2短期燃料補正値(バンク1)%
99Long term fuel trim—Bank 2長期燃料補正値(バンク2)%
0A10Fuel pressure (gauge pressure)燃圧kPa
0B11Intake manifold absolute pressure吸気管圧(絶対値)kPa
0C12Engine speedエンジン回転数rpm
0D13Vehicle speed車両速度km/h
0E14Timing advance点火時期° BTDC
0F15Intake air temperature吸気温°C
1016Mass air flow sensor (MAF) air flow rate吸入空気量(質量流量)g/s
1117Throttle positionスロットル開度%
1218Commanded secondary air status2次空気ステータス(指示値)
1319Oxygen sensors present (in 2 banks)O2センサー現在値(2バンク分をまとめて)
1420Oxygen Sensor 1
A: Voltage
B: Short term fuel trim
O2センサー 1
A: 電圧
B: 補正量
V
%
1521Oxygen Sensor 2
A: Voltage
B: Short term fuel trim
O2センサー 2
A: 電圧
B: 補正量
V
%
1622Oxygen Sensor 3
A: Voltage
B: Short term fuel trim
O2センサー 3
A: 電圧
B: 補正量
V
%
1723Oxygen Sensor 4
A: Voltage
B: Short term fuel trim
O2センサー 4
A: 電圧
B: 補正量
V
%
1824Oxygen Sensor 5
A: Voltage
B: Short term fuel trim
O2センサー 5
A: 電圧
B: 補正量
V
%
1925Oxygen Sensor 6
A: Voltage
B: Short term fuel trim
O2センサー 6
A: 電圧
B: 補正量
V
%
1A26Oxygen Sensor 7
A: Voltage
B: Short term fuel trim
O2センサー 7
A: 電圧
B: 補正量
V
%
1B27Oxygen Sensor 8
A: Voltage
B: Short term fuel trim
O2センサー 8
A: 電圧
B: 補正量
V
%
1C28OBD standards this vehicle conforms to対応しているOBDの型
1D29Oxygen sensors present (in 4 banks)O2センサー現在値(4バンク分をまとめて)
1E30Auxiliary input status補助入力の状態
1F31Run time since engine startエンジン運転開始からの経過時間s
2032PIDs supported [\$21 - \$40]\$21 から \$40のPIDの対応

最後のPID 20(16進)が1ということで、次の21~40(16進)のPID対応があるということになります。コマンド01 20をOBD2アダプターに送信すると、PID 21から40(16進)までの項目のうちどれを対応しているのか、が分かります。リクエストしてみると、9005B015でした。同様に対応いるものを白抜き、していないものをグレーで塗ると

PID
(Hex)
PID
(Dec)
Description説明単位
21 33 Distance traveled with malfunction indicator lamp (MIL) on 故障ランプがついてからの走行距離 km
22 34Fuel Rail Pressure (relative to manifold vacuum) 燃料パイプ圧力(吸気管圧力に対する相対圧) kPa
23 35Fuel Rail Gauge Pressure (diesel, or gasoline direct injection) 燃料パイプ圧力(ディーゼルもしくはガソリン直噴) kPa
2436Oxygen Sensor 1
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Voltage
O2センサー1
空燃比(ラムダ)
電圧
ratio
V
2537Oxygen Sensor 2
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Voltage
O2センサー2
空燃比(ラムダ)
電圧
ratio
V
2638Oxygen Sensor 3
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Voltage
O2センサー3
空燃比(ラムダ)
電圧
ratio
V
2739Oxygen Sensor 4
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Voltage
O2センサー4
空燃比(ラムダ)
電圧
ratio
V
2840Oxygen Sensor 5
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Voltage
O2センサー5
空燃比(ラムダ)
電圧
ratio
V
2941Oxygen Sensor 6
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Voltage
O2センサー6
空燃比(ラムダ)
電圧
ratio
V
2A42Oxygen Sensor 7
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Voltage
O2センサー7
空燃比(ラムダ)
電圧
ratio
V
2B43Oxygen Sensor 8
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Voltage
O2センサー8
空燃比(ラムダ)
電圧
ratio
V
2C44Commanded EGREGR指示値%
2D45EGR ErrorEGR誤差%
2E46Commanded evaporative purgeエバポ率指示値%
2F47Fuel Tank Level Input燃料タンク内燃料量%
3048Warm-ups since codes clearedコード消去後の暖機
3149Distance traveled since codes clearedコード消去後の走行距離km
3250Evap. System Vapor Pressureエバポシステムのべーパー圧力Pa
3351Absolute Barometric Pressure気圧(絶対値)kPa
3452Oxygen Sensor 1
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Current
O2センサー1
空燃比(ラムダ)
電流
ratio
mA
3553Oxygen Sensor 2
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Current
O2センサー2
空燃比(ラムダ)
電流
ratio
mA
3654Oxygen Sensor 3
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Current
O2センサー3
空燃比(ラムダ)
電流
ratio
mA
3755Oxygen Sensor 4
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Current
O2センサー4
空燃比(ラムダ)
電流
ratio
mA
3856Oxygen Sensor 5
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Current
O2センサー5
空燃比(ラムダ)
電流
ratio
mA
3957Oxygen Sensor 6
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Current
O2センサー6
空燃比(ラムダ)
電流
ratio
mA
3A58Oxygen Sensor 7
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Current
O2センサー7
空燃比(ラムダ)
電流
ratio
mA
3B59Oxygen Sensor 8
AB: Air-Fuel Equivalence Ratio (lambda,λ)
CD: Current
O2センサー8
空燃比(ラムダ)
電流
ratio
mA
3C60Catalyst Temperature: Bank 1, Sensor 1触媒温度
(バンク1センサー1)
°C
3D61Catalyst Temperature: Bank 2, Sensor 1触媒温度
(バンク2センサー1)
°C
3E62Catalyst Temperature: Bank 1, Sensor 2触媒温度
(バンク1センサー2)
°C
3F63Catalyst Temperature: Bank 2, Sensor 2触媒温度
(バンク1センサー2)
°C
4064PIDs supported [\$41 - \$60] PID \$40から\$61のPIDの対応有無

最後のPID 40(16進)が1ということで、さらに次の41~60(16進)のPID対応があるということになります。コマンド01 40をOBD2アダプターに送信すると、PID 41から60(16進)までの項目のうちどれを対応しているのか、が分かります。リクエストしてみると、7ADC0000でした。対応いるものを白抜き、していないものをグレーで塗ると

PID
(Hex)
PID
(Dec)
Description説明単位
4165Monitor status this drive cycle今回の走行でのモニターステータス
4266Control module voltageコントロールモジュールの電圧V
4367Absolute load value負荷(絶対値)%
4468Commanded Air-Fuel Equivalence Ratio (lambda,λ)空燃比指示値(ラムダ)ratio
4569Relative throttle positionスロットル開度(相対値)%
4670Ambient air temperature気温°C
4771Absolute throttle position Bスロットル開度B(絶対値)%
4872Absolute throttle position Cスロットル開度C(絶対値)%
4973Accelerator pedal position Dアクセル開度D(絶対値)%
4A74Accelerator pedal position Eアクセル開度E(絶対値)%
4B75Accelerator pedal position Fアクセル開度F(絶対値)%
4C76Commanded throttle actuatorスロットル開度指示値%
4D77Time run with MIL on故障ランプ点灯時間min
4E78Time since trouble codes cleared故障コード消去後経過時間min
4F79Maximum value for Fuel–Air equivalence ratio, oxygen sensor voltage, oxygen sensor current, and intake manifold absolute pressure空燃比、酸素センサー電圧、酸素センサー電流、吸気管圧力絶対値の最大値ratio, V, mA, kPa
5080Maximum value for air flow rate from mass air flow sensor質量流量センサーの吸入空気量最大値g/s
5181Fuel Type燃料種類
5282Ethanol fuel %アルコール燃料濃度%
5383Absolute Evap system Vapor Pressureエバポシステムの蒸気圧(絶対値)kPa
5484Evap system vapor pressureエバポシステムの蒸気圧Pa
5585Short term secondary oxygen sensor trim, A: bank 1, B: bank 3短期第2酸素センサー補正値(A:バンク1,B:バンク3)%
5686Long term secondary oxygen sensor trim, A: bank 1, B: bank 3長期第2酸素センサー補正値(A:バンク1,B:バンク3)%
5787Short term secondary oxygen sensor trim, A: bank 2, B: bank 4短期第2酸素センサー補正値(A:バンク2,B:バンク4)%
5888Long term secondary oxygen sensor trim, A: bank 2, B: bank 4長期第2酸素センサー補正値(A:バンク2,B:バンク4)%
5989Fuel rail absolute pressure燃料レール圧(絶対値)kPa
5A90Relative accelerator pedal positionアクセルペダル開度(相対値)%
5B91Hybrid battery pack remaining lifeハイブリッドバッテリーパック残存量%
5C92Engine oil temperatureエンジンオイル温°C
5D93Fuel injection timing燃料噴射タイミング°
5E94Engine fuel rate燃料噴射量L/h
5F95Emission requirements to which vehicle is designed
60 96 PIDs supported [\$61 - \$80] \$61 から \$80のPIDの対応

最後のPID 60(16進)が0ということで、以降のPIDの対応がないことが分かります。トヨタ ヴォクシーは38個のPIDに対応していることが分かりました。

何が分かるか?