论文部分内容阅读
互联网已经实现了人与人之间的连接,作为互联网的延伸,物联网解决的是人与物、物与物之间的连接。伴随着一些成熟的无线物联网技术的广泛应用,LoRa等一些低功耗广域网新技术也受到越来越多的重视,在各个领域得到广泛的应用。随着中国LoRa应用联盟的成立、各个互联网巨头的加入,LoRa在中国得到了飞速发展。标准的LoRaWAN协议的各个终端节点使用纯ALOHA发送数据,信道利用率很低。本文从实际工作中总结出几点对LoRaWAN系统的改进措施,设计了时分多址机制,并对节点、网关、服务器分别进行了实现。论文的主要工作内容包括以下几点:1)设计并实现了改进的LoRaWAN终端节点。首先对终端节点进行硬件选型,单片机选用STM32L073RZT6,LoRa射频模块选用SX1278模块,还增加了UART转USB模块CP2102用于调试打印。当LoRaWAN网络需要更高的信道利用率时,各个LoRa终端节点不能以纯ALOHA协议发送,否则信号的频繁传输会造成很高的丢包率。本系统的终端节点的监听到多播调试数据后实现时分多址发送,网络系统内的各个节点在不同时间和频率上发送。终端节点分为ClassB类型和ClassC类型,ClassC类型的多播数据监听窗口不断开启,ClassB类型的多播数据监听窗口定时开启。为了在精确的时间打开多播数据监听窗口,需要和LoRa网关进行时间同步,时间同步使用LoRa网关信标来完成。2)设计并实现了改进的LoRaWAN网关。首先对网关进行硬件选型,单片机选用raspberry pi 3,射频模块选用SX1301和SX1278模块,GPS模块和PPS信号模块分别选用u-blox 8模块和SKG09A模块。LoRa网关负责数据的中转,在一定程度上也会影响网络的信道利用率。当网络中同时存在ClassB类型和ClassC类型的多播调度数据时,LoRa网关对ClassC类型的多播调度数据立即发送,使用的是SX1278模块;而ClassB类型多播数据需要精确的定时发送,则使用的是SX1301模块。LoRa网关会定时发送LoRa信标,与各个ClassB类型的终端节点进行时间同步,LoRa信标在PPS信号到来时精确定时发送。3)设计并实现了改进的LoRaWAN服务器。LoRa服务器由四部分组成:处理UDP与MQTT数据转换的LoRa网桥、处理MAC层的LoRa网络服务器、处理应用层的LoRa应用服务器和实现时分多址的LoRa TDMA服务器。首先对原始LoRaWAN协议里涉及到的LoRa网桥、LoRa网络服务器、LoRa应用服务器进行了设计并实现,接着再详细说明LoRa TDMA服务器的实现。LoRa TDMA服务器会保存每个终端节点在入网时生成的相应多播地址的序号,当节点的发送周期到时,利用多播数据进行调度,使每个终端节点的发送互不干扰。4)对改进的LoRaWAN系统进行测试。对纯ALOHA发送、ClassC TDMA发送、ClassB TDMA发送的丢包率,在不同的信道频率、不同的扩频因子分别进行测试,根据实验结果说明改进后的LoRaWAN系统的性能,以及实验结果的稳定性。同时设计并实现了自动化测试系统,进行设备固件的批量烧写,和日志自动收集和分析。