Как создать виртуальный порт CAN в linux? (С++)
Я хочу создать программу, которая будет эмулировать порт CAN для целей тестирования для другого большого приложения. Программа должна отправлять ранее записанные данные через эту виртуальную банку. У кого-нибудь есть опыт в таких делах?
Я думаю установить виртуальный COM и отправить через него данные, упакованные в CAN-фреймы. Может ли это сработать? И как я могу установить virtual COM на linux? Нашел эту нить виртуальный последовательный порт для Linux но, к сожалению, я не понимаю, как это может быть внедряется в исходный код программы (Начинающий пользователь Linux и программист под Linux).
очень хотелось бы прочитать ваш опыт и предложения.
1 ответов
вам нужно SocketCAN драйвер, который доступен в современных дистрибутивах Linux, таких как Ubuntu и т. д. SocketCAN предоставляет драйвер виртуального порта CAN:
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
теперь вы можете отправлять и получать can frames over vcan0
устройства. Статья Википедии предоставляет простой пример кода о том, как использовать SocketCAN.
вам понадобится can-utils для целей тестирования.
вы найдете больше информации о SocketCAN и его использовании на eLinux.org