Использование SocketCAN

У меня есть USB-CAN устройство VSCom USB-CAN Plus. Помимо родных драйверов для Windows, с ним можно работать через ASCII режим slcan в Linux.

Для подключения к устройству необходимо создать устройство slcan. Можно запустить процесс не отдельно, а в этом терминале с ключом -F:

sudo slcand -o -s8 -t hw -S 3000000 /dev/ttyUSBx

Затем поднять сетевой интерфейс

sudo ip link set up slcan0

После этого можно использовать сторонние утилиты для подключения к интерфейсу slcan0, например candump для прослушивания трафика:

candump slcan0

Для корректного отключения надо убить процесс slcand:

sudo ip link set down slcan0
sudo kill slcand

Ссылки на программы:

https://github.com/robincornelius/CanOpenMonitor
http://www.emotas.de/en/produkte/canopen-device-explorer
https://github.com/CANopenNode/CANopenNode
https://github.com/CANopenNode/CANopenSocket