我正在使用研华的CAN板,型号为AMO-2203E。我成功地在ubuntu14.04内核3.13上安装了驱动程序(https://support.advantech.com/support/DownloadSRDetail_New.aspx?SR_ID=GF-GRSC&Doc_Source=Download),并使用提供的示例程序成功地发送和接收。
这个程序是用C写的,我想把它移植到我的python项目中。
我知道有一个基于Python的开源CAN项目(https://python-can.readthedocs.io/en/2.1.0/),但它只支持以下接口,并且没有研华的支持。
Socketcan
Kvaser’s CANLIB
CAN over Serial
CAN over Serial / SLCAN
IXXAT Virtual CAN Interface
PCAN Basic API
USB2CAN Interface
NI-CAN
isCAN
NEOVI Interface
Vector
Virtual我想我可以基于这个框架添加对advantech的支持,但对我来说感觉有点棘手。
另一个想法是编译用于发送和接收动态库的C文件,这些动态库由python为ctype调用。这应该是可行的。
我想知道有没有更好的方法?
发布于 2018-11-27 16:35:39
研华似乎同时提供了SocketCAN驱动程序和另一个版本,可能是针对字符设备,比如界面。您只需安装SocketCAN变体,即可获得can0界面。一旦它工作了,你就可以使用python- can的SocketCAN "driver"了。
https://stackoverflow.com/questions/53475835
复制相似问题