ラズパイでCANと言えば、ターミナルからcandumpコマンドで通信をチェックするのは割とすぐに出来ますが、あんまり見やすいとは言えません。
そんな訳で、SavvyCANというツールをインストールすると良さそうということが分かってきましたので、入れることにしました。
まず参考にさせていただいたサイトはこちら:
全体の流れとしては参考になるのですが、そのままだと上手くいきませんでした。
SavvyCANを動かす為には、まずQt5をインストールする必要がありますが、いきなりコケました。
Qt5のインストールで参考になったサイトは下記のところでした:
次にSavvyCANのインストールと期待しましたが、まだだめで、Qtserialbusというモジュールのインストールも色々とトラブりました。下記のサイトを参考にするとqtserialbusのインストールは上手くいきました。
Qtserialbusを入れたあとのSavvyCANのインストールはまぁまぁすんなりいった感じでした。
SavvyCANを起動するとこんな感じの画面が出てきます。
ConnectionのところでBUS設定しないと通信はしてくれません。
SOCKETCANを使用する場合は、SavvyCANとは別にsudo ip link xxxxの通信準備をしておきます。
面倒であれば、rc.localとかで起動時にセットするようにしておきます。
Open Connection Windowで設定に入ります。
Add New Device Connectionをクリックします。
New ConnectionのウィンドウでQT SerialBus Devicesを選択した上で、
SerialBus Device Type:のところでsocketcanを選択すると、can0が
生きていれば、Portの候補が出てきます。
下のような設定ができれば、Create New Connection
をクリックします。
そうると下記のように接続されていることが確認出来ます。
あとはメインの画面で送受信状態をモニタされていることで動作していることがわかります。
SavvyCANがまずは動くところまでで、使いこなすとことまでには至ってませんので、便利な使い方などが
分かってきたらまたブログアップしようと思います。
市販のツールで良く使われているdbcファイルというCANデータベースファイルも使用出来るようですし、dbcファイルが使用出来るとCANの通信データをアナログであれば物理値変換、各種ステータス情報であれば何を意味するステータスなのか等、非常に分かりやすく表示出来るようになります。16進数のデータを眺めていると頭が変になってきますが、物理値や意味のあるステータス情報としてデータの流れを見ることが出来れば一気に通信状態が把握出来るようになります。