Slide 1

Slide 1 text

M5Stackで OBD2ことはじめ ポキオ

Slide 2

Slide 2 text

ポキオ? ● @pokiiio ● Android(とかSW何でも屋さん)園児にゃー ● 2児の父 ● https://pokiiio.github.io ● https://relativelayout.hatenablog.com ● https://upgti.hatenablog.com

Slide 3

Slide 3 text

クルマだいすき! Toyota Celica -> VW Golf -> VW Beatle Cabriolet -> VW up! GTI(いまここ)

Slide 4

Slide 4 text

祝!第1回!

Slide 5

Slide 5 text

手始めに… ● クルマと言えばOBD2だよね

Slide 6

Slide 6 text

OBD2ってなに? ● On-board Diagnosis ● 自動車各部に取り付けられたECU(Electrical Controll Unit)にプログラミングさ れている自己診断機能である。(Wikipediaより) ● もともと各社バラバラの規格(OBD1)だったが、OBD2で規格化され、メーカー問 わず同じ形状のコネクターと通信仕様になっている ● ただし、ベンダーユニークな実装も許されている

Slide 7

Slide 7 text

どんなコネクターなの? ● いくつかのピンは規格で決められている ● それ以外はメーカー独自で使わる ● ポイントはCAN(High/Low) ● CANによって速度・エンジン回転数や ブレーキの状態・故障診断の情報の転送に 使われている

Slide 8

Slide 8 text

CANがマイコンから読めたら最高じゃね? ● Amazonで色々売ってるし ● Arduino向けのライブラリもたくさんあるし ● これはイケるのでは・・・

Slide 9

Slide 9 text

安心と信頼のM5Stack ● ESP32ベースのマイコンボード ● ディスプレイ、バッテリーが内蔵されている ● かんたんなUI出力はちょっぱやで可能

Slide 10

Slide 10 text

つまり

Slide 11

Slide 11 text

CANをM5Stackで読んで 速度・エンジン回転数を 表示してみる

Slide 12

Slide 12 text

用意したもの ● M5Stack ● OBD2コネクター ● CANモジュール ● クルマ

Slide 13

Slide 13 text

実装とか余裕っしょ ● 適当に配線 ● M5Stack側は読み取ったデータを表示するように実装

Slide 14

Slide 14 text

いざ実践

Slide 15

Slide 15 text

up! GTIのOBD2ポートはアクセルの隣 ● ここにあったのかー

Slide 16

Slide 16 text

よゆーよゆー

Slide 17

Slide 17 text

そして動かない

Slide 18

Slide 18 text

鋭意解析中・・・ ● つかったライブラリが悪かったのかなぁ・・・ ● つかったモジュールが悪かったのかなぁ・・・

Slide 19

Slide 19 text

おまけ

Slide 20

Slide 20 text

これを作りました

Slide 21

Slide 21 text

これをつくりました

Slide 22

Slide 22 text

これこれ

Slide 23

Slide 23 text

はい

Slide 24

Slide 24 text

サマリ ● 株式会社ウフルさん、登壇者のみなさま、参加者のみなさま、 ありがとうございます! ● またリベンジさせてください! ● クルマで動作確認するの大変! ● クルマ乗りながら開発したいけど時間がない! ● 酒が飲めない!

Slide 25

Slide 25 text

Thank you!