Linux поддерживает виртуальный интерфейс. он был включен по:vcan0 интерфейс linux связь
modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ifconfig vcan0 up
cam-utils
При использовании таких как camsniffer
и cansend
cansend vcan0 321#1212
cansniffer vcan0
я мог в состоянии увидеть, может пакеты; но только внутри одного хоста. Я попробовал машину Ubuntu VirtualBox. Как гостевая, так и хост-операционная система взаимосвязаны с использованием адаптера только для хоста vboxnet0
.
попытался также SocketCAN socket(PF_CAN, SOCK_RAW, CAN_RAW)
, но не в состоянии получить на другой машине (работает в той же машине) При попытке с вещательной менеджером socket(PF_CAN, SOCK_DGRAM, CAN_BCM)
на выполнение stderr
говорит `операция не поддерживается
Просто, может один посылать и принимать пакеты CAN между Linux-хосты? Не имеет значения его виртуальная машина (vboxnet0) или физически подключенная (Ethernet).
Примечание: Я использовал Ubuntu 16.04 и 12.04 в качестве Host и гостевой ОС соответственно.
Обучение настройке виртуальной среды для моделирования автомобилей. Пример, моделирование замков дверей. Программа записывается для переключения/разблокировки двери водителя; приводит к тому, что 3 оставшиеся двери получают сообщение CAN и автоматически блокируются/разблокируются. Программы показывают сообщение «Заблокировано/разблокировано» на экране. – Gopi