新唐火神板開箱實作(四):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的裝置與序號。
留言
張貼留言