基于STM32与树莓派两大平台之间的LORA数据传输

前言:
在大学的两年学习中,嵌入式这个行业越学越觉得自己懂得东西越来越少 ,这也将更加激发我对自己目标追求的动力,我有着自己的梦想,尽管梦想还是很遥远,但是我坚信自己终将有一天能够实现它!
以下,我将通过这篇博客让大家学习一下STM32+LORA和树莓派+LORA,还有就是STM32和LORA这两者之间如何通过LORA进行通讯!

硬件准备:STM32f103zet6(正点原子战舰)、LORA模块(型号为:SX1268 頻率:433MHZ)、树莓派3B+、
硬件配图如下:
(1)STM32f103ZET6主控板
基于STM32与树莓派两大平台之间的LORA数据传输
(2)树莓派3B+
基于STM32与树莓派两大平台之间的LORA数据传输
(3)LORA模块
基于STM32与树莓派两大平台之间的LORA数据传输
一、STM32与LORA模块的操作流程
(1)STM32使用串口2与LORA模块的串口进行连接,STM32的5V、GND、TXD和RXD分别对应LORA模块的VCC、GND、TXD和RXD。说到这里很多人会有疑问,TXD不是发送吗?RXD不是接收吗?TXD和RXD不应该交叉接吗?其实,这是正确的思路!但至于为什么我们这边接线那么奇怪呢,具体情况还是根据厂家出厂的板子模块而定吧,这里就不深究了。基于STM32与树莓派两大平台之间的LORA数据传输
(2)STM32与LORA模块连接后,即可通过keil和ST-Link烧写代码,主要代码如下:
main.c基于STM32与树莓派两大平台之间的LORA数据传输
二、树莓派与LORA模块的操作流程
(1)通过VNC远程控制树莓派

基于STM32与树莓派两大平台之间的LORA数据传输
(2)在控制台按部就班输入以下指令
基于STM32与树莓派两大平台之间的LORA数据传输(3)安装python库:
基于STM32与树莓派两大平台之间的LORA数据传输
(4)打开串口,请参考以下链接
https://www.waveshare.net/study/portal.php?mod=view&aid=606

(5)树莓派与LORA模块的连接方法和LORA模块的跳线帽接法请看下图
基于STM32与树莓派两大平台之间的LORA数据传输
(6)进入RaspberryPi/transparent目录,输入下面命令(实际上我自己是将文件移植到了桌面,下面的操作是以我的实际操作情况而截的图。左边的是通过树莓派查看数据,右边的图是通过串口助手查看的,但是是基于STM32平台),连接Pi 3B+的LoRa模块约两秒广播一次数据,Pi 3B+收到后打印数据,指令操作如图所示:
基于STM32与树莓派两大平台之间的LORA数据传输

基于STM32与树莓派两大平台之间的LORA数据传输

(7)用户可以输入sudo python3 transplant.py P2P进行点对点的通信
基于STM32与树莓派两大平台之间的LORA数据传输

基于STM32与树莓派两大平台之间的LORA数据传输
三、总结
在这次的应用实验中,充分地使用了STM32和树莓派的串口知识,而这也特别适合新手,有兴趣的小伙伴可以按照我这个教程做一遍,有问题的的请给我留言,谢谢!