CAN通信のお勉強 with Ubuntu 22.04

クルマ
この記事は約2分で読めます。

CANネットワークとの接続

いよいよ実践ということで、早速、CANネットワークに接続してみます。

まずはCANUSBをPCに接続して、端末で

sudo dmesg

を実行し、デバイスが認識されているかどうか確認します。
認識されていれば下記のように表示されるはず。

この場合、CANUSBは “ttyUSB0” に紐付いているので、これをCANネットワークに接続します。

とりあえず、handbookに倣って下記のようにセットアップします。

slcand -o -s6 -t hw -S 3000000 /dev/ttyUSB0
ip link set up can0

(Handbook上は ”slcan0” でセットしてるんですが、何故か1行目を試した時点で “can0” が生成されるので、それを用いています)

次に、これを socketcand に接続します。
先述の通り、デフォルトだと ”eth0” に繋ごうとしてしまうので、
下記のようにオプションを指定して接続します。

socketcand -i can0 -l -v

暫く待っていると Error in Beacon send() が出ますが、気にせずKayakを立ち上げます。

正直あとはhandbook 記載のとおりにやるだけですが、
大まかな手順としては下記です。

  1. 左上の ”File” ー> “New Project” で新規プロジェクトを追加
  2. プロジェクト名を右クリック ー> “New bus” で新規のBUS追加
  3. ウインドウ右下の ”Connection” のタブを見ると
    Auto discovery の欄に “can0” ができているので、上で追加したBUSに drag & drop
  4. BUSを右クリック ー> “Open Raw view”

あとはウインドウ上側にある再生ボタンをクリックすると、下記のように計測開始します。
画面右下に経過時間、中央部分に計測値が出力されています。

ひとまず今回はここまでとして、データの解析とか、コマンドの送信による車の操作などを次回以降試していきたいと思います。

まとめ

自動車のCANネットワークにLinux環境から接続する方法について書きました。

基本的に参考になる日本語文献が見当たらなかったので、
英語の文献だとかサイトをみて色々試行錯誤したって感じなので
いちいち英語で調べるのが面倒という方には、今回の情報は役立つかもしれません。笑

コメント