2017/09/10

SocketCANによる仮想CAN通信

Raspberry PiでCAN通信しようと、CAN-Utilsの中身を調べています。

LinuxのSocketCANを利用して通信しているようでした。

SocketCAN

SocketCANとは何ぞやと、上記の文章を読んでいると、
以下の章で衝撃を受けました。

6.4 The virtual CAN driver (vcan)

なんと、仮想CANドライバという機能があるようです。

CANデバイスをリンクアップするときに、
実デバイスがなくても、仮想的なCAN通信ができるようです。
仮想デバイスを作る方法は以下の通り。
$ sudo modprobe vcan
$ sudo ip link add dev vcan0 type vcan
$ sudo ip link set vcan0 up

これで、/sys/class/net の下にvcan0ができ、
vcan0 という名前でデバイスが利用できるようになります。

以下は、CANデバイスが無いPC上で、CAN-Utilsを使用した例です。

送信側


受信側


こんなことができるなら、CANモジュール買わなくてもよかったか・・・
まあ、CANモジュールが届くまでは、仮想CANで開発ができそうだ。

0 件のコメント:

コメントを投稿