论文部分内容阅读
LoRa技术作为一种新兴的低功耗广域网技术,具有通信距离远、设备功耗低和易于部署的优点,广泛应用于智能抄表、智慧农业、智慧工业以及智能家居等物联网领域。随着LoRa物联网应用规模的扩大,终端软件的管理、维护和升级对于提高网络的稳定性显得非常重要。网络在部署完成后,由于应用需求发生变化而需要对终端应用软件进行远程更新升级。软件远程更新技术在无需接触终端的情况下,可以实现终端应用软件的远程升级,极大地提高了物联网终端设备的管理和维护效率,对于推进物联网智能化具有重要意义。本文首先介绍了LoRa技术和软件远程更新技术的研究背景和研究现状,对现有低功耗广域网主流技术进行了对比和分析,重点介绍了LoRa技术的特点、网络架构和网络协议栈;同时,详细介绍了实现终端软件远程更新的关键技术,包括远程代码更新模式、在线编程技术、数据断点续传技术以及机器码文件组成结构,分析了现有软件远程更新方案的技术特点。其次,针对现有远程更新代码数据分发过程中存在代码数据分发效率较低以及传输控制开销较大的问题,提出了一种基于网络编码的高效代码数据分发方法。该方法利用编码组合选择机制获取具备可解性的编码组合,根据组合中最小数据包序号和最大数据包序号自适应截取有效编码信息,对原编码组合向量存储空间进行优化,从而减少传输编码信息;利用末尾代码块序号和特殊编码包序号触发机制解决了“TRIG消息”触发带来的冗余控制开销;以网关节点为中心将网络中终端节点划分为多个更新域,网关建立代码数据缓存空间,在每个更新域内独立分发代码数据。然后,设计了基于LoRa的终端软件远程自动更新系统方案,主要包括系统架构设计、硬件选型、远程更新消息帧格式设计、服务器端软件设计、LoRa网关软件设计、LoRa终端软件设计和LoRa信道冲突避免设计;利用VS2012和IAR for STM8开发工具实现基于LoRa的终端软件远程自动更新系统软件方案,对系统基本功能进行测试,验证了系统方案的有效性;同时,对系统相关性能进行测试和分析,测试结果表明,新机制降低了代码数据分发控制开销和代码数据分发时间开销。最后,对全文工作进行总结,并指明了LoRa网络终端软件远程更新技术的进一步研究方向。