はじめに
こんにちは、ハードウェア/OT 製品開発グループ1 でソフトウェア開発を担当している矢部です。
アプトポッドでは以前より、EDGEPLANT CAN-USB Interface という自社開発製品を取り扱っています。 こちらは車載機器の通信規格であるCAN2 データの送受信に対応したもので、CANバスに接続して使用する製品です。
EDGEPLANT CAN-USB Interface とその周辺プロダクトについては、こちらの記事でもご紹介しておりますので、よろしければご覧ください。
これまでCAN-USB Interfaceは、 弊社のアプライアンス製品 に付属する形としてのみ提供していました。 デバイスドライバーも専用のものを開発・提供しており、専用ソフトウェアからしか利用できませんでした。
今後、幅広いお客様にこちらの製品をお使いいただけるよう、オープンソースのCANドライバーであるSocket CAN3 への対応を進めています。 Socket CANはオープンソースのため、当社の専用ソフトウェアで直接利用する場合と比較すると、インターフェイス機器側で付与されるタイムスタンプが利用できないなど機能面で劣る部分もありますが、様々なサードパーティプロダクトと連携できる点が魅力です。 当社製品をSocket CANを介して利用可能にすることで、サードパーティプロダクトを介して誰でも簡単に当社製品を利用できるようになります。
今回は、CAN-USB InterfaceをSocket CANによってLinuxマシン上で使用する方法についてご紹介します。以降の説明では、当社の車載対応のLinux搭載エッジコンピュータ EDGEPLANT T1 を前提として解説していきます。
- はじめに
- これまでの使われ方
- EDGEPLANT CAN-USB Interfaceの特長
- EDGEPLANT T1 でCANデータを見る
- CAN-USB Interface を準備する
- ドライバをインストールする
- インターフェースを確認する
- CAN の設定を行う
- can-utils を利用する
- CANデータを受信する
- CANデータを送信する
- SavvyCAN を利用する
- 事前準備
- SavvyCAN をビルドする
- SavvyCAN でデータを見る
- Python で実装する
- python-can をインストールする
- CANデータを送受信する
- CAN-USB Interface を準備する
- おわりに
- OT : Operational Technology の略。ハードウェアおよび組込みソフトの製品開発をミッションとするグループ↩
- Controller Area Network の略。 https://ja.wikipedia.org/wiki/Controller_Area_Network↩
- https://en.wikipedia.org/wiki/SocketCAN↩