在树莓派中配置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

相关文章
|
XML 数据格式
3MF/GLTF格式在线转换
3D模型在线转换是一个可以进行3D模型格式转换的在线工具,支持多种3D模型格式进行在线预览和互相转换。
806 0
3MF/GLTF格式在线转换
|
2月前
|
IDE 自动驾驶 Linux
深度解析 CAN 总线:从底层物理层到 SocketCAN 编程实战
CAN总线是工业通信的关键技术,以其高可靠性和实时性广泛应用于自动驾驶、轨道交通等领域。其核心技术包括差分信号传输(物理层)和非破坏性逐位仲裁机制(数据链路层),确保在极端环境下稳定工作。CAN协议支持标准帧(11位ID)和扩展帧(29位ID),并通过严密的错误检测(5种机制)和节点健康管理(TEC/REC计数器)实现自我修复。进阶的CAN FD技术提升了数据传输能力(64字节负载,5Mbps速率)。Linux环境下可通过SocketCAN实现CAN通信模拟。
842 8
|
7月前
|
人工智能 机器人 Linux
开源的基于RTOnBoot多核异构框架打造的低成本高性能Linux主控加Ethercat主站解决方案,同步周期可稳定达到125微秒
开源的基于RTOnBoot多核异构框架打造的低成本高性能Linux主控加Ethercat主站解决方案,同步周期可稳定达到125微秒
|
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.
|
机器学习/深度学习 人工智能 数据挖掘
AI概率学预测足球大小球让球数据分析
在足球数据分析中,AI概率学预测主要用于大小球和让球盘口的分析。大小球预测通过历史数据、机器学习和实时数据动态调整进球数;让球分析则利用Elo评分等评估实力差距,结合盘口数据预测比赛结果。数据来源包括历史比赛、球队和球员信息及外部因素。模型选择涵盖回归、分类和时间序列模型,并通过交叉验证、误差分析进行优化。实际应用包括制定投注策略、风险管理及开发自动化系统。代码示例展示了使用随机森林回归模型预测进球数的过程。
|
NoSQL Ubuntu Shell
香橙派 瑞芯微 RK3588 上手自记
香橙派 瑞芯微 RK3588 上手自记
1778 2
|
JavaScript
vue npm启动报错-解决
vue npm启动报错-解决
308 4
|
数据安全/隐私保护 UED 开发者
【Uniapp 专栏】Uniapp 项目中路由管理的实战经验分享
【5月更文挑战第12天】在 Uniapp 项目中,路由管理至关重要,涉及清晰的规划、配置和权限控制。合理设计路由结构便于开发维护,设置可读性高的页面路径和参数。根据场景选择参数传递和导航方式,处理嵌套路由,确保数据准确无误。添加权限判断保护受限页面,利用过渡动画提升用户体验。在复杂项目中,采用模块化管理路由,结合状态管理工具优化路由状态。持续测试和优化,以实现高效、流畅的用户导航。这些实战经验有助于提升 Uniapp 应用的质量。
534 6
|
机器人 Java 编译器
2024年睿抗机器人开发者大赛(RAICOM)CAIP-编程技能赛-本科组省赛_题解
这篇文章是关于2024年睿抗机器人开发者大赛(RAICOM)CAIP-编程技能赛-本科组省赛的题解,作者分享了自己的得分和比赛经历,以及对比赛过程中出现问题的不满,同时提供了几道题目的解题思路和代码实现。
|
数据可视化 算法 测试技术
R语言IRT理论:扩展Rasch模型等级量表模型lltm、 rsm 和 pcm模型分析心理和教育测验数据可视化
R语言IRT理论:扩展Rasch模型等级量表模型lltm、 rsm 和 pcm模型分析心理和教育测验数据可视化

热门文章

最新文章