我想创建一个程序来模拟CAN端口,以用于另一个大型应用程序的测试。程序应通过此虚拟CAN发送以前记录的数据。有人对这种东西有经验吗?
我正在考虑建立虚拟COM,并通过它发送打包在CAN框架中的数据。能行吗?以及如何在Linux上建立虚拟COM?找到了用于Linux的线程虚拟串行端口, 但可惜我不知道如何将其实现为程序的源代码(初学者linux用户和linux下的程序员)。
很想阅读您的经验和建议。
您需要SocketCAN驱动程序,该驱动程序可在Ubuntu等现代Linux发行版中找到。SocketCAN提供虚拟CAN端口驱动程序:
sudo modprobe vcan sudo ip link add dev vcan0 type vcan sudo ip link set up vcan0
现在,您可以通过vcan0设备发送和接收CAN帧。维基百科文章提供了有关如何使用SocketCAN的简单代码示例。
vcan0
您还需要can-utils进行测试。
您可以在eLinux.org上找到有关SocketCAN及其用法的更多信息。