Jetsonで気の利いたロボットを動かそうとしたとき,CANが必要になったりする.
たとえば,こういう製品がある.
Peak System社のPCAN-USB.
製品ページ
日本の代理店はガイロジックという吉祥寺にある会社がおすすめ.
ガイロジックさん
どうやらJetsonはCANのコントローラを積んでいるみたいなんだけど,うまくいかない,という情報しか見当たらないので,ここにメモしとく.
ドライバは下記のページからダウンロードする
コードをホームディレクトリに展開してメイクするだけなんだけど,実は標準のカーネルヘッダーに含まれているバイナリがJetsonのバイナリじゃない.これはひどい.
ということで,まずはLinuxカーネルヘッダーのディレクトリに移動して,スクリプトをコンパイルし直す
$ cd /usr/src/linux-headers-4.4.36-tegra $ sudo make scripts
sudoが必要になるけど,うまくいくと思う.
この後,ドライバをビルドしてインストールする.
$ cd ${PATH_TO} # ここにワークディレクトリ名が入る.僕なら/home/nvidia/misc/drivers/とした $ tar zxfv peak-linux-driver-8.7.0.tar.gz $ cd ${PATH_TO}/peak-linux-driver-8.7.0 $ make $ sudo make install
次に,ドライバをロードする
$ sudo modprobe pcan
次にデバイスファイルを作る
$ cd ${PATH_TO}/peak-linux-driver-8.7.0 $ cd driver $ sudo ./pcan_make_devices 0
これで一応,通信可能な状態までくる.