自動車関係のスマートフォンアプリを作っていて、スマホの各種センサーの精度を測ってみたいと思ったためです。手軽に車からデータを抜き出す手段として、OBD2端子にBluetooth端末を繋ぎ、スマートフォンとペアリングしてロギングすることにしました。
下記のQiitaが大変参考になりました。感謝を込めて。
この記事でやること
- 自動車に接続するOBD2-Bluetooth端末の紹介
- OBD2-Bluetooth端末を自動車に接続する
- OBD2-Bluetooth端末をAndroidとペアリングする
- Androidアプリで自動車のセンサーデータを見る
- 自動車のセンサーデータをCSV出力する
手順
使ったOBD2-Bluetooth端末
↓こんな感じのものを使います。Amazonで「OBD2 Bluetooth」と検索すると出てきます。どれもこれも胡散臭いですが、私が使った2つ(2,000円、5,000円)はどちらも使用できました。
車に接続する
実家の車に着けました。車種はトヨタ ルーミーです。ハンドル裏、ブレーキの上に特にカバーもなくOBD2端子がありました。
注意事項
このBluetooth端末を接続したまま車を5日間ほどエンジンかけず放置していたら、バッテリーが上がりました。元からバッテリーが古かったのもありますが、使わないときは外しておいた方が良いかもしれません。デバイスの説明書にも「長時間車を使わないときは外しておくこと」と記載がありました。そうバッテリーを消費するものではない気がしますが、思うよりは消費しやすいのかもしれません。
スマートフォンとペアリングする
そのままエンジンをかけるか、キーONすると、Bluetooth端末が動作し、スマホでBluetoothデバイスを探索するとペアリングできるようになります。
左:AndroidとBluetoothペアリング接続した様子(PIN1234と入れたらできた)
右:iPhone。Bluetoothデバイスは見つかるが、ペアリングできない
注意事項
しかし、Androidではペアリングできたものの、iPhoneではできませんでした。デバイスの購入時説明文にはiPhoneも対応と書いてあるにも関わらず、です。お手元にAndroid端末をご準備いただく方が良いと思います。
スマートフォンアプリを起動する
スマートフォンアプリを起動するのですが、アプリも動作が怪しいものが多いです。今回試したものを載せておきます。
見るだけでいい場合
Torque lite(無料)
https://play.google.com/store/apps/details?id=org.prowl.torquefree&hl=ja&gl=US
最初はアプリ上に何もないのですが、左下の歯車ボタンから表示器を追加することで色々配置することができます。
しかしこのアプリ、「 CSVでデータを出力できる」とアプリ説明文にありますが、実際にはスマートフォンで取得したデータしか出力できませんでした。設定も見当たらないんですがねえ
データを抽出したい場合
OBD2 Car Wizard Pro(旧DashMaker、360yen)
https://play.google.com/store/apps/details?id=slide.carFrenzy
いろいろなアプリを試した挙句、CSVデータ出力ができたのはこちらのアプリでした。オリジナルのダッシュボードを作れる、がメイン機能のアプリですが、優良版でCSV出力機能が開放されます。
Torque liteのようにロギング開始終了のボタンなどはなく、スマホのBluetoothをON/OFFすることで内部的に勝手にログを書き出します。ログの項目や周期はアプリ上のSetting > Data Loggingにあります
保存したデータは内部ストレージ > DashMaker > tripLogsに保存されています。Bluetoothを切り忘れるととんでもない量のログが出ますので要注意(私は600MBまでいきました)。あとはこれをUSBで抜き出すなり、メールで送るなりすればPCでも閲覧できます。
取得できる項目について
車速や加速度はスマートフォンのセンサーから取得したものもあります。車中のセンサーデータが取れそうですが、意外にもハンドル角度はありませんでした。
さいごに
Bluetoothデバイスがどれもうさん臭く、スマホアプリはできると書いてあることができない、となぜかこの界隈全体的に怪しげでございます。私の体験談が一助になれば幸いです。
もし無料でCSVデータ出力までできるスマホアプリをご存知の方は教えてください...!