新唐火神板開箱實作(四):Kvaser USB/CAN adapter於Linux環境下的使用筆記

    電腦要接上CAN bus勢必要一個介面卡了,這回我們選用Kvaser Leaf Light v2這張USB to CAN的介面卡,於Ubuntu 18.04作業系統中使用python3開發通訊。

    這邊我們就會用到第一篇所提到的Kvaser Python module和Kvaser Linux Drivers and SDK,在Kvaser的網站可以下載。
https://www.kvaser.com/download/

    下載後分別會是這兩個壓縮檔,pycanlib.zip和linuxcan.tar.gz,我都先將這兩個壓縮檔解壓縮。點開pycanlib/docs/index.html,裡面有完整的安裝步驟和範例。其中Installation告訴我們pip install canlib-x.y.z-py2.py3-none-any.whl可以自動安裝python的函式庫,其中x, y, z是版本號碼,可以在pycablib目錄下確認一下完整檔名。


    不過安裝檔有使用到f-string,要用python3才能正常執行。因此在這之前要安裝一下python3與pip3。

sudo apt install python3
sudo apt install python3-pip

    安裝完畢後用pip3來安裝。沒意外應該是能直接安裝成功。

pip3 install canlib-1.17.748-py2.py3-none-any.whl

    再來就是驅動程式的部分,可以開啟linuxcan/README參考。

    實際上做這幾步就可以了。

sudo apt install build-essential
make
sudo make install
    最後建立一份文字檔取名為listdev.py,然後將這段程式複製進去。要注意tab的部分。
from canlib import canlib

num_channels = canlib.getNumberOfChannels()
print("Found %d channels" % num_channels)
for ch in range(0, num_channels):
    chdata = canlib.ChannelData(ch)
    print("%d. %s (%s / %s)" % (ch, chdata.channel_name,
                                chdata.card_upc_no,
                                chdata.card_serial_no))
用python3執行後應該就可以看到Kvaser的裝置與序號。


留言

這個網誌中的熱門文章

無法被取代的指針型三用電表(一):前言

關於新唐科技NuMicro ISP的介紹和使用方式

新唐火神板開箱實作(一):NuMaker-Volcano與NuEclipse IDE入門篇