can总线 树莓派,树莓派和单片机串口通信
项目原件管理从阿德鲁伊诺过渡到可以,基础部署流程。
硬件
数量
草莓馅饼3
2
杜邦线
6 * 2
MCP2515
2
可以使用MCP2515与任何具有精力端口的设备进行通信
软件
备注
can-utils
apt/can端口测试
python-can
py2 py3/python脚本能收发
一连接
用MCP2515端子连接后,需要注意图2点
1 .能总线可以直接通过一连接
2.一对一罐网测试必须佩戴2所示的(可以网需要2个120的总线电阻)才能进行通信) ) ) ) ) ) )。
配置能
2.1打开精力
sudo raspi-config
界面选项- SPI
打开精力
2.2餐配置
sudo vim /boot/config.txt
dtparam=spi=on添加到下一行
dtoverlay=mcp2515-can0,振荡器=8000000,中断=25,spimaxfrequency=1000000
日本首藤重启
dmesg grep -i (canspi)
将产生以下结果
配置网络能端口(仅一个能端口) )。
sdoiplinksetcan 0类型500000重启-ms100
sudo ifconfig can0 up
添加启动项目
sudo vim/etc/网络/接口
追加
允许-热插拔can0
iface can0can静态
比特率500000
重新启动-ms 100
3测试
3.1使用can-utils
日本首藤适合安装can-utils
发送
cansend can0 111#00000000
接收
candump can0
3.2使用python-can
pip 3安装python-can
进口罐
bus=can.interface.bus(总线类型=套接字“可以”,通道=can0 ,比特率=500000)
msg _ snd=can。消息(仲裁id=0xc 0f费,
数据=[ 0,25,0,1,3,1,4,1 ],
is_extended_id=True
#发送消息
尝试:
是总线发送(msg_snd)
print(messagesenton(}).格式)总线。频道信息) )
除了可以。错误:
打印(消息不正确) )。
#接收消息
MSG_recv=bus.recv(0.0))。