基于Python下的Kavasers CAN报文收发调试

基于Python下的Kavasers CAN报文收发调试 

基于Python下的Kavasers CAN报文收发调试 - 码农教程本文章向大家介绍基于Python下的Kavasers CAN报文收发调试,主要包括基于Python下的Kavasers CAN报文收发调试使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。http://www.manongjc.com/article/32344.html

本文章向大家介绍基于Python下的Kavasers CAN报文收发调试,主要包括基于Python下的Kavasers CAN报文收发调试使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

参考链接:Running Python wrapper on Linux - Kvasericon-default.png?t=L892https://www.kvaser.com/developer-blog/running-python-wrapper-linux/

一、下载并安装Kvaser Linux Driver和SDK

$ cd ~
$ # We need tools for building (gcc compiler, make, etc)
$ sudo apt install build-essential
$ # Download latest version of linuxcan, Kvaser Linux Driver and SDK
$ wget --content-disposition "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130980754&utm_status=latest"
$ tar xf linuxcan.tar.gz
$ cd linuxcan
$ make
$ sudo make install



二、验证硬件

现在我们将Kvaser接口插入USB端口并运行listChannels示例程序以验证驱动程序是否已正确加载并且我们的设备已被识别:

$ cd canlib/examples
$ ./listChannels
Found 2 channel(s).
ch  0: Kvaser USBcan Pro 2xHS v2  73-30130-00752-9, s/n 1014, v3.10.0.496  (mhydra v8.24.533)
ch  1: Kvaser USBcan Pro 2xHS v2  73-30130-00752-9, s/n 1014, v3.10.0.496  (mhydra v8.24.533)



三、安装依赖包

Kvaser Linux驱动程序和SDK仅包含驱动程序,canlib和LINlib,其余库(kvaMemoLibXML,kvmlib,kvlclib和kvaDbLib)1放在Kvaser Linux SDK库kvlibsdk中。 我们以类似于Kvaser Linux Driver和SDK的方式构建和安装它们,但我们首先需要安装一些依赖包。

$ cd ~
$ # The package libxml2-dev is needed in order to build kvamemolibxml.
$ sudo apt install libxml2-dev
$ # The packages libssl-dev and zlib1g-dev are needed to build kvlclib.
$ sudo apt install libssl-dev zlib1g-dev
$ # Download latest version of kvlibsdk, Kvaser Linux SDK Library
$ wget --content-disposition "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130981966&utm_status=latest"
$ tar xf kvlibsdk.tar.gz
$ cd kvlibsdk
$ make
$ sudo make install



四、安装python canlib

$ cd ~
$ wget --content-disposition "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130981911&utm_status=latest"
$ unzip -q pycanlib.zip
$ cd pycanlib
$ pip install canlib-1.6.615*.whl



五、测试收发小程序

编写一个小的Python程序,它在通道1上发送一条CAN消息,并在通道0上接收相同的CAN消息:

# 01_sendReceiveSingleCanMsg.py
from canlib import canlib, Frame


def setUpChannel(channel=0,
                 openFlags=canlib.Open.ACCEPT_VIRTUAL,
                 bitrate=canlib.canBITRATE_500K,
                 outputControl=canlib.Driver.NORMAL):
    ch = canlib.openChannel(channel, openFlags)
    print("Using channel: %s, EAN: %s" % (
        canlib.ChannelData(channel).device_name,
        canlib.ChannelData(channel).card_upc_no))
    ch.setBusOutputControl(outputControl)
    ch.setBusParams(bitrate)
    ch.busOn()
    return ch


def tearDownChannel(ch):
    ch.busOff()
    ch.close()


print("canlib dll version:", canlib.dllversion())

ch0 = setUpChannel(channel=0)
ch1 = setUpChannel(channel=1)

frame = Frame(id_=100, data=[1, 2, 3, 4], flags=canlib.MessageFlag.EXT)
ch1.write(frame)

while True:
    try:
        frame = ch0.read()
        print(frame)
        break
    except (canlib.canNoMsg) as ex:
        pass
    except (canlib.canError) as ex:
        print(ex)

tearDownChannel(ch0)
tearDownChannel(ch1)
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值