前言
今天我们来深度解析一下LoRa在照明设备中的应用原理。
这里Lora的优势以及短处我就不赘述了,大家可以baidu一下,接触过物联网设备开发的朋友应该比较清楚,无线模块在这个物联网行业中所占的比重是很大的。
无线控制其实就是A端发送一个信号,B端收到以后做出相应动作的一个过程。
01 设备组成
今天我们用的设备比较简单:
1.入门级的STC主控MCU;
2.自带SX1278芯片的Ra-01*2,外加两根弹簧天线。
模组+天线可自行到官方tb店铺购买。
另外生成的HEX文件,用串口烧录。
如果不明白的朋友可以看我们的上一篇文章《【LoRa模组专题④】安信可LoRa模组快速入门指南》,其中有介绍这个主控的详细接线以及烧录测试流程。
02 远程灯控(开关)
2.1原理分析
我们目前手上有两个同样的设备,烧录同样的程序,程序运行在MCU中,通过外接的SPI驱动Ra-01射频模块发射和接收数据,接收端接收到这个数据做出响应,实现一个远程控制灯开和关的方案。
2.2基本通信
首先需要两个模组间能够进行通信,代码中需要编辑发射机以及接收机;
这里我们定义出接收机和发送机的逻辑代码,完成发送和接收,这部分我直接放在了主函数中了,可以把他放在单独文件中这样就便于观察条理了。
else {
P32 = 1;
RF_EX0_STATUS = SX1276ReadBuffer( REG_LR_IRQFLAGS);
if (RF_EX0_STATUS > 0) {
if ((RF_EX0_STATUS & 0x40) == 0x40) {
CRC_Value = SX1276ReadBuffer( REG_LR_MODEMCONFIG2);
if (CRC_Value & 0x0