ぴょこりんブログ

裏垢です。

こねくてっどもーたーさいくる

この記事は、カレーのち ぴょこりんクラスタ Advent Calendar 2018のために書きました。

この記事を参考にしたり真似たりすることにより、あなたに諸々の不利益が生じたとしても僕は知りません。
(一応公道を走る乗り物ネタなので、IoTってたいへん。)

今日ご紹介のおもちゃ

これ知ってます?自動車に詳しい方なんかだと知ってるかもしれないですね。 f:id:cappsLk:20181206203342j:plain

何やら書いてあるOBD2って文字はOn-Board Diagnostics (2nd generation)の略で、自動車に組み込まれた諸々のマイコンと通信するための規格。 名前の通り、自動車のメンテ、診断のためのもので、これに準拠した専用の器機のコネクタをダッシュボード下に隠されたアレに挿して使う感じです。

話を戻すと、画像のコイツはそのダッシュボード下のアレに差し込んで、bluetooth経由でスマホなどを用いてマイコンと通信しちゃおう系アイテムです。Amazonとかで買えます。1000円前後で買えます。

android向けのアプリは結構あり*1

  • エラーコードの確認
  • センサデータの取得

などが出来たりします。センサーデータ取りたいよね。

バイクで取れるのか

『バイクにもこの端子ついてるのかな、前乗ってたバイクは隅から隅まで眺めたけどそれっぽいの無かったよなぁ』なんて思ったりするわけです。

豆知識1『バイクのOBD搭載義務化』

平成28年度の二輪車排ガス規制(新型車は2016年10月1日から、継続生産車に関しては2017年9月1日から適用)により、バイクのOBD搭載が義務化。 www.bikejin.jp   そういえばこのちょっと前くらいの時期、めっちゃ生産終了車が出てた気がします。 一昨年このブログでFTRが生産終了したことに言及しましたが、まぁつまりそういうことですね。

ということは・・・僕が今乗っているバイク(yzf-r3)は2018年2月に納車した新車なので、高い確度でOBD的なサムシングが搭載されていそうです。

確認してみる

こんな端子がありました。車のOBDⅡとは明らかに端子が違う。 f:id:cappsLk:20181119003503j:plain

豆知識2『バイク向けOBDの端子は各社結構違う』

10fac.com

この記事で言及されてるEURO4はほぼ平成28年度排ガス規制と読み替えても差し支えない。

うちのバイクから出てる端子がOBDかどうかよくわからんけれど、とりあえずYAMAHA向けの変換ケーブルっぽいものを購入。セカイモンでようやく見つけました・・・。 到着まで随分待たされた上に関税とか諸々で6000円くらい飛んだ気がする。

じゃーん! f:id:cappsLk:20181119003500j:plain

写真撮り忘れましたがちゃんと[ちょっと前の写真に写ってるバイクから生えてるやつ]⇔[6000円(上の写真)]⇔[青いやつ(最初の写真)]とつながりました。ハードウェアの準備はばっちりです!

データ触ってみる

スマホbluetooth接続、あとはtorqueというソフトがデータ取得からcsv出力までやってくれる。バックグラウンドだとサボるっぽくて、スマホをナビとして使うとログが取れなくて悲しい。常用するなら専用にandroid端末用意した方が良いかなぁという気持ち。

OBDⅡで色々なデータが取れるのだけれど、PID (Parameter IDs) を指定してあげることによって、取るものを指定する。torqueは課金するとPIDの指定もできるようになる。各社秘密のPIDもあるのかもしれないけれど、基本は標準的なPIDが定義されてるっぽい。

OBD-II PIDs - Wikipedia

可視化の例

ほんとはバッテリーの電圧とかエンジン温度とか見たさがあったんだけど、デフォルトでは取ってなかった。一体何をデフォルトで取っているのか。

f:id:cappsLk:20181206221648p:plain デフォルト何も取ってなくて草。

課金してPIDs指定して色々とれるようにしたんだけど外が寒くて追実験する気力ががが。 (スマホから取得された)GPS情報とかGPSから算出された速度とかG(3軸)が取れていたのでとりあえず可視化。googlemapにアレしてスクショ取ったけどこれ僕のおうちわかっちゃうやんってことで却下。頭とお尻削ると良いのかな。

横軸が時間(秒)縦軸がGの値、速度が0でない(=走っている)ところを背景灰色にした。 f:id:cappsLk:20181206214022p:plain

G(z)はいい具合に重力加速度っぽいし、G(x)、G(z)もいい具合にバイクに取り付けられた僕のスマホの傾き具合により加わった重力って感じだ。torque経由したものの全然OBD2経由のデータ取ってないやん全部スマホ由来やんって虚無になってきたけどまぁいいや。なんとなく停止前にG(y)が減少する傾向にある気がするのはブレーキによるものかな。

今後やりたいこと

1. ちゃんとPIDを指定してデータ取りたい。

  • バッテリー電圧を見て、どれくらいでフル充電になるのか、どれくらい放置するとバッテリーあがりするのか定量評価したい
  • エンジンの温度の変化とか、季節変動等含めてそのあたりもみてみたい
  • オイル交換時期の目安がわかったりする位になると嬉しい

2. アップロード機能とかもあるので収集を自動化したい。

  • あがったら勝手にグラフにしてtwitterかchatbotに投げる的な

3. ツーリングのサマリーをつくりたい

  • 位置、時間などを突き合わせてこの時間ここで写真とったとかツイをしたとか集約させてニヤニヤしたい  
     
    そんな感じで。以上。

*1:iphoneは知らん。