我这里用的是树莓派4B 版本:Linux yahboom4wd 5.4.51-v7+ #1326 SMP Fri Jul 17 10:45:25 BST 2020 armv7l GNU/Linux
外接子板:采用MCP2515与SN65HVD230双芯片组合方案,支持2路CAN接口通信
python版本:python3.7
1:安装BCM2835, 打开树莓派终端,并运行一下指令
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo ./configure sudo make sudo make check sudo make install #更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
2:安装wiringPi
sudo apt-get install wiringpi #对于树莓派4B可能需要进行升级: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错
3:安装Python函数库(安装对应的python版本)
#python2 sudo apt-get update sudo apt-get install python-pip sudo apt-get install python-pil sudo apt-get install python-numpy sudo pip install RPi.GPIO sudo pip install spidev sudo pip2 install python-can #python3 sudo apt-get update sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi.GPIO sudo pip3 install spidev sudo pip3 install python-can
4:开启spi接口
sudo raspi-config 选择Interfacing Options -> SPI -> Yes 开启SPI接口
重启树莓派
sudo reboot
5:修改/boot/config.txt脚本
sudo vi /boot/config.txt 在最后一行添加以下内容 dtparam=spi=on dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25 dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=23 重启树莓派 sudo reboot 重启之后查看spi信息 dmesg | grep spi
更多can内核指令:https://www.kernel.org/doc/Documentation/networking/can.txtifconfig