OBD2 データ(車両情報)を csv で取得する方法


OBD2/OBDⅡ って何?

ざっくり言うと、元々の意味は「自動車の自己診断システム」、
転じて「車両情報」の意味でも使われる。車両情報とは、車速や、エンジン回転数など、車の中のネットワーク(CAN)を流れているデータのこと。

OBD2/OBDⅡ の歴史と今

OBD = On-board diagnostics
元々は車の故障診断のための仕組み。
1991年、US カリフォルニア州にて、州内で販売される新車に搭載が義務付けられた。
1996年、US 全土でも新車に搭載が義務付け。
2001年、EU でも排出ガス規制の一環で新車に搭載義務付け。
2006年、日本でも新車に搭載義務付け。

排気ガスの量など本来の目的のデータ以外にも、車速、エンジン回転数などが取得できる。
規定されているデータの種類(PID)は100種類超。プラス、各自動車メーカ独自拡張(どなたか詳しい方いらっしゃいますでしょうか?)。

今では車両情報を取得するための、車に接続する OBD2 コネクタ、OBD2コネクタから情報を取得するスマホアプリ、なども登場している。

CAN とは違うの?

異なる。
CAN (Controller Area Network) = プロトコル
OBD2 = CAN 上でやり取りされるデータ
#気が向いたらプロトコルの仕組み書く。

この記事でやること

  • OBD2 データ取得方法
  • OBD2 データのサンプル例示

OBD2 データ取得方法

取得環境

機材 使用Ver/詳細 備考
OBD2 の口が付いてる車種 -
OBD2 コネクター/スキャンツール ELM327 OBD2 Amazon で 1000~2000円
スマホ Android -
スマホアプリ Torque Pro (OBD2/Car) 425円

ELM327 OBD2

Torque Pro (OBD2/Car)

手順

  • 取り付け方法

大抵の車はドライバー席のハンドル下近くにある(らしい)。

  • 発進!

  • 停車後

アプリを操作してログ取得を停止。
アプリを操作してログをメール送信。 zip を解凍すれば csv が出てくる。

OBD2 データ取得サンプル

取得可能なデータは以下の and。

  • 車が出力可能なデータ
  • OBD2 コネクター/スキャンツールが出力可能なデータ
  • スマホアプリで取得可能なデータ

手元の環境ではもっとデータが取得出来ているが、表の横幅の都合上、適当に抜粋。

Device Time Longitude Latitude GPS Speed(km/h) Altitude(m) Fuel flow rate/minute(cc/min) CO₂ in g/km (Average)(g/km)
11/2/2013 21:28:41 139.7328588 35.67952733 35.64 60 28.14078903 252.3701019
11/2/2013 21:28:42 139.7328784 35.67944345 34.2 60.2 29.78537941 251.6822205
11/2/2013 21:28:43 139.7329019 35.67936183 33.839996 59.7 81.37682343 252.40625
11/2/2013 21:28:44 139.7329311 35.67928105 34.92 59.2 84.90965271 253.214798
11/2/2013 21:28:45 139.7329689 35.67919697 35.64 59.7 82.59503937 253.8924103
11/2/2013 21:28:46 139.7330095 35.67911344 36 59.8 90.57435608 254.700119
11/2/2013 21:28:47 139.7330672 35.67903379 36.36 59.9 98.91913605 255.5753479
11/2/2013 21:28:48 139.7331467 35.67896226 37.440002 60.2 101.8428574 256.3912048
11/2/2013 21:28:49 139.7332261 35.67888301 39.239998 60.5 89.90434265 256.8464966
11/2/2013 21:28:50 139.7333308 35.67882111 42.12 60.3 87.40699768 257.1639404

今後

車両情報は HTML/JavaScript から取得可能になる見込みです。

W3C で "Vehicle Information API" という名前で標準化活動がされています。

2014/04/25 1st draft がリリースされました。
http://www.w3.org/community/autowebplatform/2014/04/25/first-draft-of-vehicle-information-api-published-by-automotive-and-web-platform-business-group-2/

参考

OBD 概要

OBD2 で取得可能なデータ種類一覧(英語)

CAN 概要

W3C Community and Business Groups

あとがき

OBD2 のまとめをどこかに書きたかったので、 Qiita 向きじゃない気がしたけど勢いで書いてしまった。
プログラミングぽいことしてないし。。Orz