
車載ネットワークである CAN BUS に流れるデータを取得するには、それなりのハードウェアが必要になります。
私は、Arduino 用のハードウェアである、Seeed Studio の CAN BUS Shield を利用していました。
下の写真のようなものです。
この写真のものは Ver. 0.9 とやや古いもので、この記事を書いている現在は Ver.1.2 が販売されているようです。
少し前までは国内で販売しているところはありませんでしたが、現在はネット通販でも手に入ります(「戦国伝承」にあります)。国内なら 3,300円 程度です。
Arduino はハードウェアとしては簡単に操作できるのですが、ちょっと凝ったことをしようとすると難しくなります。
やはり、Linux などの OS が動作するハードの方がいろいろと便利です(操作は難しくなりますが、OS の恩恵を受けられます)。
Linux が動作するハードとして、Raspberry Pi がありますが、Raspberry Pi 用の CAN 用ハードウェアとして、SK Pang というイギリスのメーカーによる、PiCAN 2 というハードがあります。
下の写真の左側のものです。
Linux ですと、OS からコマンドで CAN を扱うことができます。プログラムの作成も Python が使え、比較的楽にできます。
国内では扱っているところが見つけられませんでしたので、直接英国の SK Pang から購入しましたが、送料込みで 6,000円以上しています。
そして、上の写真にある小さなボードですが、右の Arduino につながっています。
このボード、eBay で送料込みで 300円していません。270円くらいです。でも、使えることがわかりました。
(ただし、水晶発振器を 8MHz のものから 16MHz のものに載せ替えています。既存のプログラムが 16MHz 用だったので、書き換えるのが面倒だったためです。)
下の写真がアップです。
1 つ目の CAN BUS Shield も、2 つ目の PiCAN2 も、270円のボードと乗っている部品はほぼ同じです。(それなりに追加されているものも、もちろんあります。)
Raspberry Pi 2 + PiCAN2 と、Arduino + 中華製の 270円ボードをつないで、短い CAN BUS を作ってデータを送受信してみました。下の写真です。
ハードを接続した写真と左右の位置が入れ替わっています。左のコンソールが Arduino + 270円、右が Raspberry Pi + PiCAN2 です。
右のコンソール画面は、Mac から PC LAN 経由で Raspberry Pi に接続しています。そして、Raspberry Pi から CAN BUS にデータを送信しています。
左の画面の Arduino + 270円ボードに、CAN BUS を通ってデータが届いているのが見えます。
おまけです。
Arduino のプログラムは、下のようなものです。受信するだけの、短い簡単なものです。
ブログ一覧 | 日記
Posted at
2016/03/14 01:58:44