RaspberryPi
can
OBD2
MCP2515
SPI

raspberry piでCAN(OBD2)通信ボードを認識させる

MCP2515のボードです。
とりあえずsudo raspi-configでspiを有効にします。

軽く調べると以下のような設定が出てくる。チョロい!私はすぐにそれを実行した。(google翻訳の読み過ぎで語調がおかしい)

/boot/config.txt
dtparam=spi=on
dtoverlay=mcp2515-can0-overlay,oscillator=8000000,interrupt=25
dtoverlay=spi-bcm2835-overlay

しかし、/dev/spidev0.0と/dev/spidev0.1は現れるが、/sys/class/netにcan0が表示されません。

ちょっと古いリリースの2016-03-18-raspbian-jessieでは認識されるので、ハードウェアの問題ではないはず。
サラッと書いていますが、ここまで辿り着くのにわざわざカーネルビルド環境を作ったりして2日かかっています。

更に調べること数時間、掲示板にボソッと「最近のだと"-overlay"いらんよ」と書いてあるじゃないですか。
私はそれが助けになるよう強く望んだ。(goog以下ry)

/boot/config.txt
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25
dtoverlay=spi-bcm2835

2行目と3行目の2箇所あるので注意。

なんてこった!あっさり出ちまいやがった。(しつこい)

しかし、"can"と言うどの文章にでも現れる文字列を名前として付けられると、検索し辛い事この上ないですね。

また、MCP2515のVCCをバイパスして3.3Vを入力している記事を見かけましたが、普通にボードに3.3Vか5Vを入力するだけでもどちらも動いているように見えます。5Vを入れるとMCP2515には4.4Vくらいかかるようですね。
なお、入出力電圧の方は調べていません。

あ、それが原因で車に変な信号が流れても私はシリマセンよ。