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

More than 5 years have passed since last update.


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

FB_IMG_13980879163977227.jpg


Torque Pro (OBD2/Car)

Screenshot_2014-04-20-14-34-20.png


手順


  • 取り付け方法

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

DSC_1933.JPG


  • 発進!

DSC_1949.JPG


  • 停車後

アプリを操作してログ取得を停止。

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

Screenshot_2014-04-20-14-38-04.png


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/

https://rawgit.com/w3c/automotive-bg/master/snapshots/vehicle_spec_snapshot20140425.html


参考


OBD 概要

http://ja.wikipedia.org/wiki/OBD

http://ja.wikipedia.org/wiki/%E8%87%AA%E5%8B%95%E8%BB%8A%E3%81%AE%E8%87%AA%E5%B7%B1%E8%A8%BA%E6%96%AD%E6%A9%9F%E8%83%BD


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

http://en.wikipedia.org/wiki/OBD-II_PIDs


CAN 概要

http://monoist.atmarkit.co.jp/mn/kw/can_basic.html


W3C Community and Business Groups

http://www.w3.org/community/autowebplatform/


あとがき

OBD2 のまとめをどこかに書きたかったので、 Qiita 向きじゃない気がしたけど勢いで書いてしまった。

プログラミングぽいことしてないし。。Orz