2016-05-10 15 views
0

Linuxは仮想インターフェイスをサポートしています。このようcamsniffercansendvcan0インターフェイスのLinux通信

cansend vcan0 321#1212 
cansniffer vcan0 
私は缶パケットを見ることができた

としてcam-utilsを使用している間

modprobe vcan 
sudo ip link add dev vcan0 type vcan 
sudo ifconfig vcan0 up 

;:それがで有効になっていました同じホスト内でのみ使用できます。私はUbuntu VirtualBoxマシンを試しました。ゲストOSとホストOSの両方は、ホスト専用アダプターvboxnet0を使用して相互接続されています。

はまた、1は送信との間のCANパケットを受信することができ、操作が簡単に

をサポートしていない ` stderrを実行する上で、ブロードキャストマネージャー socket(PF_CAN, SOCK_DGRAM, CAN_BCM)と試みている間(同一マシン内で動作)と言い、他のマシン上で受信することができSocketCAN socket(PF_CAN, SOCK_RAW, CAN_RAW)ではなく、を試してみましたLinuxホストですか?仮想マシン(vboxnet0)または物理的に接続された(イーサネット)とは関係ありません。

注:ホストとゲストOSとしてそれぞれUbuntu 16.04と12.04を使用しました。

答えて

2

CANは、独自の物理バスを使用します。 vcanデバイスは、実際の物理的な接続を必要とせずにバス上で通信するソフトウェアをテストするために設計されています。実際にはハイパーバイザからは提供されませんが、SocketCANの一部です。その様子によって

は、あなたは彼らがすべてのCANコントローラを持っていたし、物理的なバスに接続されているかのよう一緒に複数のマシンを接続し、Virtualboxの中で仮想CANバスを確立しようとしています。私は見ましたが、そのような機能は存在しないと思われ、VirtualBoxの拡張機能を作成する以上の可能性は低いでしょう。

CANを使用する特別な理由はありますか? ECUからデータを取り出したり、CANコントローラを備えた組み込みハードウェアと通信しようとしていますか?デスクトップPC通信の場合、イーサネットははるかに便利で速く、よくサポートされています。

+0

カーシミュレーションのための仮想環境をセットアップする方法を学びます。ドアロックシミュレーションの例。ドライバのドアのロック/アンロックを切り替えるプログラムが作成されています。結果として残りの3つのドアにCANメッセージが表示され、自動的にロック/ロック解除されます。画面上でロック/ロック解除されたメッセージを表示するプログラム。 – Gopi

関連する問題