广告招募

当前位置:中美贸易网 > 技术中心 > 所有分类

如何在Linux上运行Python开发包

2026年02月01日 08:26:23      来源:广州智维电子科技有限公司 >> 进入该公司展台      阅读量:7

分享:

今天我们来看看如何使用Kvaser的新版Python开发包canlib来设置和发送CAN报文。本例子中我们使用Kvaser USBcan Pro 2xHS v2,但可以使用任何Kvaser分析仪产品。

步是下载并安装Kvaser Linux驱动程序和开发包(CANlib当前版本v5.18):

$ cd ~$ wget /software/7330130980754/V5_18_0/linuxcan.tar.gz$ tar xf linuxcan.tar.gz$ cd linuxcan$ make$ sudo make install

现在我们将Kvaser分析仪插入USB端口并运行`listChannels’实例程序,以验证驱动程序是否正确加载以及设备是否被识别:

$ cd canlib/examples$ ./listChannelsFound 2 channel(s).channel  0 = Kvaser USBcan Pro 2xHS v2, 73-30130-00752-9, 1012, 3.4.0.822channel  1 = Kvaser USBcan Pro 2xHS v2, 73-30130-00752-9, 1012, 3.4.0.822

下一步是下载并安装Python canlib开发包(当前版本是v1.1.23):

$ cd ~$ wget /software/7330130981911/V1_1_23/canlib-1.1.23.zip$ pip install canlib-1.1.23.zip

如果你使用Python v3,为了Python开发包安装在正确的地方,你可能会使用 pip3而不是pip

现在我们可以编写一个小的Python程序,sendReceiveSingleCanMsg.py,用于在通道1上发送CAN报文,并在通道0上接收相同的CAN报文:

import canlib.canlib as canlib def setUpChannel(channel=0, openFlags=canlib.canOPEN_ACCEPT_VIRTUAL, bitrate=canlib.canBITRATE_500K, bitrateFlags=canlib.canDRIVER_NORMAL): cl = canlib.canlib() ch = cl.openChannel(channel, openFlags) print("Using channel:%s,EAN:%s” %) (ch.getChannelData_Name(), ch.getChannelData_EAN())) ch.setBusOutputControl(bitrateFlags) ch.setBusParams(bitrate) ch.busOn() return ch def tearDownChannel(ch): ch.busOff() ch.close() 

运行上面的Python程序会产生以下结果:

$ python sendReceiveSingleCanMsg.pycanlib version: 5.18Using channel: Kvaser USBcan Pro 2xHS v2 (channel 0), EAN: 73-30130-00752-9Using channel: Kvaser USBcan Pro 2xHS v2 (channel 1), EAN: 73-30130-00752-9time:  2819710 id:      100  flag:0x04  dlc:4  data:

如果你使用Python v3,你很可能会使用python3而不是python

因此,我们已经使用Python canlib开发包成功地发送和接收了一条CAN报文。

我们非常感谢您能通过电子邮件发送到support提供错误报告、贡献、改进建议以及其他类似方面。

版权与免责声明:
1.凡本网注明"来源:中美贸易网"的所有作品,版权均属于中美贸易网,转载请必须注明中美贸易网。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。