开始之前,在硬件方面需要草莓馅饼4、MCP2515模块和CAN分析仪。
这里的MCP2515模块的石英振动是8米
草莓馅饼4核心如下
pi@raspberrypi:~ $ uname -a
linuxraspberrypi4. 19.75-v7l # 1270 smptuesep 2418336051336041 BST 2019 arm V7 lgnu/Linux
草莓馅饼和MCP2515模块的连接方式如下。
pinpi--------MCP2515
#025v--------VCC
#06gnd--------gnd
#24(SPI_ce0 ) GPIO08 ---- CS
#21(SPI_miso ) GPIO09 --- SO
#19(SPI_mosi ) GPIO10 --- SI
#23(SPI_clk ) GPIO11 ---- SCK
#22(gpio_gen6) GPIO25 -- INT
辛苦工作准备好了,就开始吧~
1、首先,打开草莓馅饼SPI功能。 可以通过编辑/boot/config.txt文件来实现。
pi @ raspberry pi :~$ sudo VI/boot/config.txt
在config.txt文件中找到dtparam=spi=on,然后删除前面的#符号。 也就是说,取消这一行的注释。 然后,在下一个新行中添加以下语句:
dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25dt overlay=SPI-BCM 2835
完成此步骤后,您的config.txt文件可能看起来如下:
2、安装扫描工具:
pi @ raspberry pi :~$ sudo apt-getinstallcan-utils
安装后重新启动草莓馅饼。
3、看看你的SPI设备上有没有CAN接口:
pi @ raspberry pi :~$ ls/sys/bus/SPI/devices/SPI 0.0/net /
can0
如果您完成步骤2并成功地在/net/目录中找到名为CAN0的文件夹,则表明can发送和接收功能正常。
4、安装你的CAN通信接口:
pi @ raspberry pi :~$ sudoiplinksetcan0uptypecanbitrate 125000
5、向CAN分析仪发送数据
首先连接MCP2515模块和CAN分析仪,将分析仪连接电脑,打开分析仪专用软件USB_CAN_Tool.exe,打开CAN接收,启动设备。
这里CAN参数的波特率设定为125k。
用草莓派终端将数据发送到CAN分析仪:
pi @ raspberry pi :~$ cansendcan 0123 # 666666666666
可以在USB_CAN_Tool上看到草莓派发送来的数据:
6、向草莓派发送数据
首先,让草莓派准备接收CAN数据,用终端输入。
pi @ raspberry pi :~$ candumpcan 0
草莓馅饼进入接收数据的模式。 在USB_CAN_Tool中发送ID为0x0100且数据位为99 99 99 99 99 99 99 99的数据。 下图:
点击发送信息,可以看到草莓派终端收到的数据:
按Ctrl C键可退出接收模式。
7、关闭CAN接口
pi @ raspberry pi :~$ sudoiplinksetcan0down
高级
如何用草莓派保存收到的CAN数据?
将收到的CAN数据保存在本地txt文件中,而不是草莓派终端中,或者在IDE的控制台中显示(打印) CAN数据。
这里我们将演示使用草莓派拥有的Thonny IDE,将草莓派收到的数据打印到控制台上。
首先,需要在终端上安装CAN通信接口,即步骤4。
然后打开Thonny并输入以下python程序:
导入子流程
p=subprocess.popen(candumpcan0),shell=true,stdout=subprocess.PIPE ) ) ) )。
forIiniter(p.stdout.readline,' b ' ) :
if not i:
布莱克
print(I.decode ) ' gbk ' )
,然后单击,
然后可以使用USB_CAN_Tool向浆果发送CAN数据! 而且,这些数据是实时的。 也就是说,你可以继续向浆果发送数据。 Thonny的控制台也会继续显示接收到的数据。
如果您想本地保存数据或用于其他用途,只需稍微修改程序即可,这里不再赘述。
到此为止。