2017/09/08

Raspberry PiでCAN通信 その1【設定編】

注文したCANモジュールが到着するまでに、
Raspberry Piでどう設定するのかを調べました。

以下は、Raspberry Pi 3 Model B 、OSはRaspbian Jessieでの設定です。

MCP2515は、マイコンとはSPIで接続するので、
まず、以下の操作で、Raspberry PiのSPI通信を有効にします。

Raspberry Piにログインして、raspi-configを起動します。
$ sudo raspi-config

「5 Interfacing Options」を選択します。

「P4 SPI」を選択します。

SPIを有効にしますかと聞かれるので、「Yes」を選択します。

SPIが有効になりました。

以上で、SPIが使えるようになりました。

続いて、MCP2515を使えるように設定します。
/boot/config.txtに、以下の設定を加えます。

「dtparam=spi=on」と書かれている場所のすぐ下に、
以下の赤字の部分を追記します。

dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25
dtoverlay=spi-bcm2835

今回使うCANモジュールは、MCP2515に8MHzの水晶、
INTをRaspberry Pi の GPIO25に接続するため、
上記の記述になります。

/boot/config.txtを保存して、Raspberry Piを再起動します。
$ sudo reboot

再起動後、dmesgで、デバイスドライバが動作していることを確認します。


あ、あれ、なんかエラーになってるっぽい。
そ、そうか、CANモジュールつないでないから、エラーになってるのかな?
CANモジュールが届くまで、なにも出来ないか・・・

これがうまくいっていれば、あとはsysfsにcanインターフェースを追加して、
終わりのはずでした。一応、書いておきます。
$ ip link set can0 type can bitrate 500000
$ ip link set can0 up

これで、/sys/class/net以下に、can0 というのが現れて、
このインターフェースを通して、通信ができるはずでした。
当然ながら、デバイスがないので、現状ではエラーになってしまいます。

アマゾンで配達状況を確認すると、「発送しました」となっているが、
中国からなので、いつ届くのだろうか・・・
早く来ないかなー。

0 件のコメント:

コメントを投稿