上课课件7 lora通信应用开发PPT文档格式.pptx
《上课课件7 lora通信应用开发PPT文档格式.pptx》由会员分享,可在线阅读,更多相关《上课课件7 lora通信应用开发PPT文档格式.pptx(73页珍藏版)》请在冰豆网上搜索。
容量:
一个LoRa网关可以连接上千上万个LoRa节点。
电池寿命:
长达10年。
安全:
AES128加密。
传输速率:
几百到几十Kbps,速率越低传输距离越长。
01LORA无线技术,LORAWAN协议栈,01LORA无线技术,LORAWAN网络架构,02,LORA模块,LORA模块使用LSD4RF-2F717N30。
LSD4RF-2F717N30是,基于SEMTECH射频集成芯片SX127X的射频模块,是一款高性能物联网无线收发器,LORA模块02,LORA芯片与mcu连接图,03,SPI,SPI是什么,SPI(SerialPeripheralInterfaceBus),是由摩托罗拉公司开发的高速全双工同步串行通信协议。
SPI支持一主多从,这点类似于I2C,但是又与I2C选通从设备的方式不同,I2C是通过发送从机地址来选通从机,而SPI则是通过拉低连接到从机的NSS引脚对从机进行选通的。
SPI一般应用由四个引脚组成:
SCLK(SerialClock):
串行时钟,由主机发出MOSI(MasterOutput,SlaveInput):
主机输出从机输入信号,由主机发出MISO(MasterInput,SlaveOutput):
主机输入从机输出信号,由从机发出NSS(SlaveSelected):
选择信号,由主机发出,一般是低电位有效。
03SPI,SPI主从连接示意图,03,SPI,SPI传输时序图,主机在通过MOSI数据线发送数据的同时,从机也会通过MISO将数据传输给主机(收发同时进行)。
数据通常先移出最高位,在时钟边沿,主机和从机均移出一位,然后在传输线上输出给对方(改变数据)。
在下一个时钟沿,主从设备的接收器都从传输线接受该位,并设置为移位寄存器的新的最低有效位(采样数据)。
在完成这样一个移出-移入周期后,主机和从机就交换了寄存器中的一位,传输可能会持续任意数量的时钟周期。
传输完成后,主设备会停止时钟,03,SPI,SPI配置,Step02,初始化引脚,设置SPI通信方式,Step01,04,LORA调制,Step02,配置关键参数,编写关键函数,Step01,请求命令结构HEAD+CMD+NET_ID+LORA_ADDR+LEN+DATA+CHK,LORA请求,LORA请求,HEAD:
数据帧头,默认0x55;
CMD:
命令字节,0x01=读传感数据;
NET_ID:
网络ID号,2字节;
LORA_ADDR:
LoRa地址;
LEN:
数据域长度;
DATA:
数据域;
CHK:
校验和,从HEAD到CHK前一个字节的和,保留低八位。
响应命令结构HEAD+CMD+NET_ID+LORA_ADDR+ACK+LEN+DATA+CHK,LORA响应,LORA响应,HEAD:
ACK:
响应,0x00-响应OK,0x01-无数据,0x02-数据错误,其他预留;
数据长度,指定数据域DATA有多少个字节。
ACK非0x00时,无此项;
数据域,传感器名称编码后面用“(单位)”来标注单位,传感器名称编码和数值间用“:
”隔开,每组传感数据间用“|”隔开。
例如“voltage(mV):
1256|humidity(%):
68”。
ACK非0x00时,无此项;
校验和,从HEAD到CHK前一个字节的和,保留低八,项2目分析,01,02,项目介绍,方案设计,01,项目介绍,有方圆5平方公里的植物园,以前是粗放式管理:
工作人员频繁检查控制,耗时耗力;
植物生长环境要求精细,人工经验难以保障最佳环境;
发生突发情况,不能及时处理,导致造成损失。
管委会想对园区的环境(温湿度、光照等)进行智能化监测,要求:
保护环境,少施工;
低成本,节约经费;
先期实现点对点通信,能够在上位机查看数据,后期升级为云平台系统。
;
02,方案设计,各种方案,方案一蓝牙:
无线传输技术,理论上能够在最远100米左右的设备之间进行短距离连线,但实际使用时大约只有10米。
其最大特色在于能让轻易携带的移动通讯设备和电脑,在不借助电缆的情况下联网,并传输资料和讯息,目前普遍被应用在智能手机和智慧穿戴设备的连结以及智慧家庭、车用物联网等领域中。
02,方案设计,各种方案,方案二WiFi:
无线局域网技术,最常见的是作为从网关到连接互联网的路由器的链路,大多数Wi-Fi版本工作在2.4GHz免许可频段,传输距离长达100米,具体取决于应用环境。
02,方案设计,各种方案,方案三,ZigBee:
ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。
主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输。
目前ZigBee采用2.4G高频传输,传输距离在几十米到2-3百米,受环境影响很大。
02,方案设计,各种方案,方案四NB-IoT:
构建于蜂窝网络,可直接部署于GSM网络、UMTS网络或LTE网络。
NB-IoT和蜂窝通信使用1GHz以下的频段是授权的,需要收费。
02,方案设计,各种方案,方案五LoRa:
远距离、低功耗无线通信技术,其典型范围是2km至5km,最长距离可达15km,具体取决于所处的位置和天线特性。
典型工作频率在美国是915MHz,在欧洲是868MHz,在亚洲是433MHz,免牌照。
结论:
采用LoRa方案实施,LOR3A驱动移植,在LoRa园区环境监测文件夹下有“LoRa源码资源”和“LoRaMac-node-master”这两个文件。
“LoRaMac-node-master”是LoRaWAN协议栈的终端例程,“LoRa源码资源”文件夹内的source文件夹内的源码都是STM32L151的HAL库文件和基于原版LoRaWAN协议栈修改而来的一些硬件驱动函数代码,这些代码和我们的LoRa模块硬件适配。
“LoRaMac-node-master”是LoRaWAN协议栈的终端例程,内部集成了SX1278的驱动函数和应用接口,我们需要将SX1278的驱动程序移植和适配到我们的LoRa模块上。
移植成功后的工程源码,就是我们后续实验操作的工程源码模板LoRaModemProject。
任务要求,Step02,Step05,Step04,Step01新建目录,文件拷贝,移植实际操作,新建keilc工程,往keilc工程里增加代码文件,Keic工程配置,Step6,工程编译,Step03,SX1278代码修改,LORA温湿4度发传感器节点开,基于工程源码模板LoRaModemProject,开发LoRa温湿度传感器节点应用程序,要求采集温湿度数据,并在OLED屏上显示。
当收到网关读取传感数据的指令后,将传感数据响应给网关。
代码编写调试完成后烧写到LoRa模块上,重新通电运行。
任务要求,项目实施,01,硬件连接,02,代码操作及解析,03,应用程序编程,04,程序烧写,LORA模块,01硬件连接,LORA模块上安装温湿度传感器,01硬件连接,温湿度传感器接口说明,01硬件连接,02,代码解析及操作,Step02,Step04,整理代码工程,LoRa_Send()函数说明,MyRadioRxDoneProcess()函数说明,OLED_InitView()函数说明,Step6,main()函数说明,PlatformInit()函数说明,Step01,Step03,Step05,03,应用程序编程,Step02,代码添加,代码编译,Step01,04,程序烧写,温湿度传感器LoRa模块JP1往左拨,。
打开STMFlashLoaderDemo软件,在PortName下拉列表框中选择串口,点击NEXT命令按钮。
04,程序烧写,软件读到硬件设备后,点击NEXT命令按钮。
04,固件烧写,选择MCU型号为STM32L1_Cat1-128k,点击NEXT命令按钮。
04,固件烧写,选中Downloaddevice单选按钮,选择xxx.hex下载程序对应的路径,点击NEXT命令按钮。
04,固件烧写,等待30秒左右下载完毕。
04,固件烧写,下载成功后,,将LoRa模块的JP1往右拨,同时按一下复位键KEY1,温湿度程序便开始运作了。
04,程序烧写,LORA光照5传感器节点开发,基于温湿度传感器节点的工程源码LoRaModemSensorTempRhProject,开发LoRa光照传感器节点应用程序,要求采集光照度数据,并在OLED屏上显示。
当收到网关读取传感数据的指令后,将传感数据响应给网关。
代码编写调试完成后烧写到LoRa模块上,重新通电运行。
任务要求,项目实施,01,硬件连接,02,工程模板操作,03,应用程序编程,04,程序烧写,01硬件连接,光照传感器,知识链接,01,硬件连接,用光照传感器时,双排针J2是插在双排针母座U3A上的,J2的第10脚是插在U3A的第10脚,所以光照传感器的信号点ADC4和LoRa模块的信号点ADC0是同一个信号。
用户要采集光照传感器的电压信号,就需要开启STM32L151的PC0的模数转换功能,前面已经完成了温湿度传感器节点的应用开发,我们,只需要在此工程的基础上修改出光照传感器节点应用程序即可。
复制工程源码文件夹“LoRaModemSensorTempRhProject”为副本,并重命名为“LoRaModemSensorLightProject”。
进入文件夹“LoRaModemSensorLightProject”,并打开该工程源码,02,工程模板操作,03,应用程序编程,Step02,代码添加,代码编译,Step01,程序烧写过程同温湿度传感器节点。
04,程序烧写,LORA网关节6节点点数汇据聚传感器,基于温湿度传感器节点的工程源码LoRaModemSensorTempRhProject,开发LoRa网关节点应用程序,要求网关轮流读取温湿度传感器节点、光照传感器节点的传感器数据,将收到的传感器数据在OLED屏上显示,并透传到串口上。
最后烧写程序,通电运行。
任务要求,任务实施,01,硬件连接,02,工程模板操作,03,04,应用程序运行结果编程,知识链接,准备NEWLab主机和配套12V电源、串口线,NEWLab主机接通12V电源,并用串口线连接