自動車の OBD II からデータを得る

自動車の OBD II からデータを得る

自動車の自己診断機能用のコネクタから、CAN信号でデータを得る。
車速や温度などのデータが取れる。

参考: OBDII Can Bus

※車を壊さないように注意

Schematic

    +--------+     +5V
    |        |      |     MCP2551
    |        |      |     +--__--+
    |     p29|TXD---|-----|1    8|----+
    |mbed    |      | +---|2    7|----|------+---------(6) CAN H
    |        |      +-|---|3    6|----|------|-----+---(14) CAN L
    |     p30|RXD-----|---|4    5|    |      |     |
    |        |        |   +------+  [4.7k] [100] [100]
    |LPC1768 |        |               |      |     |
    |        |        |               |     ===   === 560p
    |        |        |               |      |     |
    |        |GND-----+---------------+------+-----+---(5) GND
    +--------+ 

接続にはコネクタ付きの OBDII-DB9変換ケーブル が便利

Sample

CAN 500kbps、ID 11bit
車種によっては他の通信速度、ID 29bit のものもある。

シリアルコンソールからキーボードで 1~9 を送ると、それぞれデータが返ってくる。

Import programCar_test

OBD II see: https://os.mbed.com/users/okini3939/notebook/obd2-can-bus/

トヨタ・ハイエースで実験した例

--- OBD2                                                                        
 id=7e8, type=00, format=00, len=8                                              
 03 41 04 77 00 00                                                              
  7ms                                                                           
PID=04, Result=46.666668                                                        
 id=7e8, type=00, format=00, len=8                                              
 03 41 11 2b 00 00                                                              
  7ms                                                                           
PID=11, Result=16.862745                                                        
PID=2f, Result=0.000000 

このライブラリを流用

Import programecu_reader

simple ecu reader

メモ


Please log in to post comments.