stm32f103c8t6使用LORA传输数据

stm32f103c8t6使用LORA传输数据

本次实验目的:

使用多个STM32f103C8T6采集不同地点的环境数据,并将数据传到终端进行数据分析及处理。

本次实验所用到的器件有:

STM32f103C8T62,LORA模块2,光敏传感器,DHT11,液位传感器,USB转串口*2,杜邦线若干。
STM32f103C8T6
stm32f103c8t6使用LORA传输数据
LORA模块
stm32f103c8t6使用LORA传输数据

实际连线效果:

数据接收端:
stm32f103c8t6使用LORA传输数据
传感器数据采集端:
stm32f103c8t6使用LORA传输数据

接线图:

下图为传感器端的接线图,接收端只是少了3个传感器,LORA和USB转TTL接线不变。
stm32f103c8t6使用LORA传输数据

接线描述如下:

(两端都要接的有:)
USB转TTL:
TX------------------A10
RX------------------A9
LORA:
TX------------------B11
RX------------------B10
AUX----------------A3
MD0----------------A2
(下面的只有数据采集端需要接)
DHT11-------------A0
液位传感器-------A4
光敏AO------------A1
(剩下的VCC和GND不再叙述)

代码示例

主函数的代码经过整理只有不到50行,很有条理对新手较为友好。
传感器端:如下图所示。
接收端:1.将“//传感器初始化”下面的两个函数注释掉。2.将“while(1)”里面的都注释掉,仅使用最后一行的“lora_receive()”即可。
stm32f103c8t6使用LORA传输数据

演示如下:

当插入传感器端打开串口并按下复位键后如下图所示,将lora的配置信息及传感器的初始化信息打印出来。如果不方便插入串口也能通过观察黄色的LED灯,lora模块初始化成功后黄灯会闪烁两次然后灭掉。
stm32f103c8t6使用LORA传输数据
接收端同理,但因为没有接入传感器,只显示lora配置进度及配置信息。(供电后如果不显示,按一下复位键)
stm32f103c8t6使用LORA传输数据
接收端接收到的数据如下所示,分别显示光强,水位值,温度和湿度。这里的光强和雨水强度是按千分比显示的,并非百分比。
stm32f103c8t6使用LORA传输数据

温湿度测试:

stm32f103c8t6使用LORA传输数据

光强测试:

stm32f103c8t6使用LORA传输数据

水位测试:

stm32f103c8t6使用LORA传输数据

总结:

  1. 在烧写程序时将BOOT0短接到1端,烧写完需要按复位的时候要将短接的BOOT0接回到0。
  2. 这里的LORA使用的是透明传输,有需要做定向传输的到lora.c文件适当修改一下配置。
  3. 代码文件点这里,直接可用。