在树莓派中配置can接口

简介: 在树莓派中配置can接口

我这里用的是树莓派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接口

97600abbe36b40f3977463323441ad4b.png


重启树莓派

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


4223a8f6f4f548169aede7438cc0e3b1.png


更多can内核指令:https://www.kernel.org/doc/Documentation/networking/can.txtifconfig


010f119f522843bd8192073478d7f1cf.png

相关文章
|
JavaScript 前端开发 Java
SpringBoot之静态资源规则与定制化
SpringBoot之静态资源规则与定制化
236 1
|
移动开发 Java HTML5
Springboot web静态资源配置
Springboot web静态资源配置
319 0
|
Linux 数据安全/隐私保护
Linux中普通用户使用sudo命令提示lin is not in the sudoers file. This incident will be reported.
Linux中普通用户使用sudo命令提示lin is not in the sudoers file. This incident will be reported.
|
传感器 机器人 芯片
实例4:树莓派GPIO控制舵机转动
本文是关于使用树莓派GPIO控制舵机转动的实验教程,涵盖了舵机的基本概念、结构、工作原理以及PWM信号控制方法。实验目的是通过Python编程,实现树莓派控制舵机在0°~180°范围内周期性转动。文中提供了详细的实验步骤、代码示例以及舵机调零和校准的方法。
743 1
实例4:树莓派GPIO控制舵机转动
|
弹性计算
在您使用内网ALB,端口6443时遇到健康检查失败的问题
【1月更文挑战第7天】【1月更文挑战第31篇】在您使用内网ALB,端口6443时遇到健康检查失败的问题
186 1
|
网络协议 Linux
|
机器学习/深度学习 数据采集
Azure 机器学习 - 使用 AutoML 预测进行深度学习
Azure 机器学习 - 使用 AutoML 预测进行深度学习
255 0
|
JavaScript 前端开发 编译器
傻瓜式搭建一个vue项目的完整步骤
傻瓜式搭建一个vue项目的完整步骤
381 0
|
IDE 算法 自动驾驶
一文搞懂CAN和CAN FD总线协议
这篇文章是将一文搞懂CAN总线协议帧格式和一文搞懂CAN FD总线协议帧格式两篇文章的整合,方便各位朋友学习和查阅。
|
机器学习/深度学习 传感器 XML
ubuntu16.04下ROS操作系统学习笔记(四 )机器人系组成、URDF机器人建模、xacro模型优化
ubuntu16.04下ROS操作系统学习笔记(四 )机器人系组成、URDF机器人建模、xacro模型优化
424 0