APP下载

无线传感器网络节点远程升级设计与实现*

2017-11-03童世华

电子器件 2017年5期
关键词:校验远程升级

童世华,李 毅*,谢 磊

(1.重庆电子工程职业学院,重庆 401331;2.重庆邮电大学,重庆 400065)

无线传感器网络节点远程升级设计与实现*

童世华1,李 毅1*,谢 磊2

(1.重庆电子工程职业学院,重庆 401331;2.重庆邮电大学,重庆 400065)

针对无线传感器网络节点升级困难的现状,提出了一种基于IAP(In Application Programming)技术实现对无线传感器网络节点自身程序实行远程升级的解决方案。方案结合现有的单片机IAP技术、无线传感器网络技术以及以太网,以网络控制器为设计核心,设计支持IAP的无线传感器网络节点,并实现基于MFC的上位机软件用于解析和下发节点文件。测试结果表明,该方案解决了无线传感器网络节点升级困难问题,具有良好的应用前景。

物联网;无线网络节点;远程升级;IAP;LwIP

无线传感器网络(简称WSN)被认为是信息感知与采集的一场革命,是21世纪高新技术领域的四大支柱产业之一。无线传感器网络应用非常广泛,在实际应用中常常因无线传感器网络节点功能的变化而需要进行升级。无线传感器网络往往规模较大、工作环境复杂,节点一旦部署,其管理和维护就会变得十分困难。传统的节点升级方式是将部署的节点全部收回,这样的方式会耗费巨大的人力和财力。针对无线传感器网络节点升级困难的现状,提出一种基于IAP的无线传感器网络节点远程升级的设计方案[1],有较好的应用价值和广阔的应用市场。

1 系统总体设计

本系统采用基于IAP技术实现对无线传感器网络节点自身程序实行远程升级的解决方案。因此,节点升级采用整个节点的更新模式,即用新节点完全覆盖旧节点,当新节点数据接收完毕并校验无误后,直接对原有的节点FLASH存储区进行擦写完成节点升级。远程更新节点主要由远程主机借助以太网和无线传感网将数据转发至节点,节点通过相应的接口(USART、SPI等)接收节点下发数据,再利用的IAP技术将节点下发数据在线写入片内FLASH并引导程序指针执行新写入节点的数据完成升级。系统总体设计方案的架构如图1所示[2-5]。其中网络控制器负责异构网数据的转发与存储,节点更新数据先由远程主机通过互联网下发至网络控制器,网络控制器对接收到的节点更新数据进行校验与存储,再通过无线传感器网络转发至目标节点。

图1 系统结构示意图

无线传感器网络节点远程升级系统由远程主机、网络控制器和无线传感器网络节点3部分组成[6-7]。硬件包含网络控制器和无线网络节点两个部分。网络控制器硬件由主控、网卡和无线通信模块3个部分组成。其中,网卡负责实现以太网数据收发,无线通信模块实现网络控制器接入无线传感器网络,二者通过通信接口与主控通信。软件部分包含网络控制器软件设计、节点软件设计以及上位机软件设计。网络控制器通过移植嵌入TCP/IP协议栈实现以太网通信;节点软件包括无线通信协议、射频驱动和传感器驱动,在此基础上设计Bootloader程序完成节点IAP过程;上位机主要完成节点更新数据解析与下发,创建Socket套接字监听来自网络控制器的连接请求,利用微软MFC的CFile类库实现目标文件的解析。

图3 无线通信模块插座原理图

2 硬件设计

2.1 网络控制器硬件设计

网络控制器采用STM32F107VC为核心处理器,外围配备电源电路、调试下载电路、I/O通信接口、晶振电路、无线通信模块以及PHY芯片,硬件结构示意图如图2所示。PHY芯片以RMII模式连接MCU的MAC控制器,并通过RJ45网口接入以太网;无线通信模块通过串口连接MCU,以射频方式接入无线传感器网络。

图2 网络控制器硬件结构示意图

2.2 节点硬件设计

根据节点升级方案进行了节点设计,与常用节点比较唯一区别在于附加片外FLASH存储器,用于存储APP节点程序,由传感单元、通信单元、处理单元、电源单元及存储单元构成。

节点与无线网络通信采用支持315 MHz、433 MHz和470 MHz 3频段的无线通信模块。该模块以STM32F103RBT6为处理器,自带有时钟电路、复位电路、下载电路、串口、SPI接口以及GPIO口。节点仅需设计电源电路、FLASH存储电路、传感器接口、无线通信模块插座。无线通信模块插座如图3所示,用于接插无线通信模块并为模块供电,同时具有GPIO、USART1、SPI2、I2C等通信接口。考虑到节点的稳定性,节点采用有源设计。即设计锂电池供电,用以防掉电对节点硬件造成损害以及对升级可能造成的影响。

供电电路如图4所示。片外FLASH存储器存储APP节点数据用以支持节点的IAP节点升级,以SPI的方式与无线通信模块主控通信。传感器采集数据通过GPIO接口实现上传。

图4 节点电源充电电路原理图

3 软件设计

3.1 μC/OS-Ⅱ操作系统的移植

软件设计包含网络控制器软件设计、节点软件设计以及上位机软件设计[9-12]。为了实现串口数据处理及以太网数据处理、系统快速响应及高效的运行效率,网络控制器的操作系统采用μC/OS-Ⅱ,开发环境为MDK-ARM5.12。μC/OS-Ⅱ是一种基于优先级的抢占式多任务实时操作系统,包含任务调度、任务管理、时间管理、任务间同步与通信(信号、邮箱和消息队列)、内存管理等功能,包括可裁剪、可固化、任务可剥夺、多任务等特点,具有足够的安全性与稳定性。

3.2 节点IAP程序设计

节点远程升级采用在线编程,利用单片机支持的在线FLASH编程实现。即节点正常工作时运行功能程序区,当接收到APP节点数据时,将其写入片外FLASH。待节点接收完毕,单片机软件复位进入Bootloader程序区,Bootloader程序负责将片外FLASH中存储的APP节点写入功能程序区覆盖原功能程序,再强制程序指针跳转执行新写入的功能程序,完成节点升级。实现过程涉及到3个关键技术:节点分片数据校验与重组、FLASH在线编程、片内FLASH分区与跳转执行[12]。

节点远程升级过程如图5所示。本设计将STM32的FLASH分成Bootloader、标志位和功能程序3个区。当节点MCU重启时执行BOOT程序,首先读取片内FLASH的标志位区的IAP标志。若该标志位有效则说明节点需要更新节点程序,读取片外FLASH中的节点程序数据并将其写入片内功能程序区,再将IAP标志位清0,然后跳转执行新功能程序。若BOOT程序检测到的IAP标志无效则直接跳转执行功能程序。在节点执行功能程序时若接收到APP分片数据则进行CRC校验,校验成功则将其写入片外FLASH并反馈成功标志到网络控制器,并请求下发下一个分片,校验失败则反馈失败标志并请求重发该分片。当APP所有分片数据接收完毕,将IAP标志位置位,再软件复位MCU,重启后由BOOT程序完成节点新程序写入与跳转执行。

图5 节点IAP实现流程图

3.3 基于MFC的上位机软件设计

上位机软件采用VS2010进行设计,VS2010的工具箱提供了丰富的控件如Static Text、Edit Control、Group Box、IP Address Control等,上位机软件设计所用到的控件均可从工具箱中拖出。打开VS2010新建MFC应用程序,在向导的“应用程序类型”界面和“高级功能”界面分别勾选“基于对话框”和“Windows套接字”,点击完成按钮即完成基于对话框的应用程序创建。勾选“Windows套接字”后,会自动生成MFC Socket支持的头文件afxsock.h,并在应用程序类的成员函数InitInstance()内自动调用AfxSocketInit(),对Windows Sockets进行初始化。

4 测试验证

4.1 系统功能测试验证

为了验证无线传感网络节点的远程升级性能,搭建了如图6所示的测试系统,该系统包括6个节点、网络控制器、思科路由器和PC机,PC机与网络控制器通过路由器组建局域网。上位机的协议类型选择TCP_Server,主机地址自动获取,监听端口设置为3001,点击“启动服务器”开启监听模式。客户端与服务器端建立TCP连接后,节点上传数据至上位机,上位机根据接收数据中的地址信息判断在线节点,并加入在线节点列表。选择需要升级的节点,并载入目标文件(选择温湿度传感器节点SHT75.bin),点击“发送文件”启动文件并等待升级结果,结果如图7所示。

图6 系统功能测试图

图7 升级成功上位机界面

分别对5个节点进行升级测试,每个节点测10次,并统计升级成功率与平均耗时。测试结果表明:在理想条件下节点的升级成功率为100%,受WIA-PA网络传输效率的限制升级较慢,平均用时约为70 s。同时测试了对历史节点升级功能,测试结果表明:本设计支持历史节点快速升级,即通过上位机下发升级指令,节点接收到指令后将片外FLASH存储器中的节点直接写入片内FLASH完成升级,用时仅为1.3 s。

4.2 系统性能测试验证

在分片数据下发过程中,接收端会对数据进行CRC校验,并将校验反馈至发送端。当校验结果为成功时发送端继续下发下一个分片,校验结果失败则重发当前分片。重发次数超过5次则认为本次升级失败,并把结果反馈至上位机。

测试时,由上位机载入节点(以烟雾传感器节点驱动为例,节点大小为57.9 kbyte),进行测试。5个节点4种传输距离,每组测试20次共进行10组,并统计升级成功率及平均升级耗时。测试数据如表1所示。

表1 升级结果统计表

测试结果表明,WIA-PA网络传输数据丢包率较低,当通信距离为1.2 km时丢包率仅为0.7%。当数据校验失败时自动请求重发,连续失败5次则认为出现异常终止升级。当丢包率维持在较低水平时,同一分片数据连续重传5次均出错的几率很低,升级成功率较高。当通信距离在2 km以内时丢包率低升级成功率较高;当通信距离超过3 km时,升级成功率下降明显。

5 结束语

本设计是在无线传感器网络的应用越来越广泛、无线传感器网络节点更新困难的背景下,依据现有的IAP技术、以太网技术和无线传感网技术提出的基于IAP的无线传感器网络节点远程升级技术设计与实现方案。该方案支持节点远程一键升级,相比传统的节点回收更新方法节省人力财力且效率高。具有较好的应用和推广价值。

[1] 霍文文. 无线传感器网络在线升级系统设计和实现[D]. 济南:山东大学,2012:45-49.

[2] 洪万帆,苏淑靖. 基于无线传感器网络的数据采集系统设计[J]. 电子器件,2016,39(1):180-185.

[3] 谭励,杨朝玉,杨明华,等. 改进的非均匀有向传感器网络节点部署方法[J]. 传感技术学报,2015,28(12):1835-1840.

[4] 张智威,孙子文. 基于蚁群算法的无线传感器网络节点可信安全路由[J]. 传感技术学报,2016,29(2):256-263.

[5] 李兴鹤,蔡亮,宋吉波,等. STM32用户基于IAP的程序更新技术[J]. 单片机与嵌入式系统应用,2012,12(1):74-75.

[6] 李景林. 基于IEEE802.15.4g的无线传感网模块设计[D]. 重庆:重庆邮电大学,2015:51-54.

[7] 吴瑞娜,张建奇,梁喜军. 基于STM32的GPRS远程在线升级系统设计与实现[J]. 自动化技术与应用,2015,34(12):34-37.

[8] 陆旭. 基于μC/OS-Ⅱ和LwIP的嵌入式设备监控平台研究[D]. 重庆:重庆大学,2013:32-34.

[9] Chan J,Su T,Li M C. Method and Apparatus for Logic Read in Flash Memory:US8614920[P]. 2013.

[10] Shen J,Shang-Chang M A,Zhang S J,et al. Serial Port Equipment Networking Technology Research Based on UCOS-Ⅱ and Lw IP[J]. Electronic Design Engineering,2015,2(10):75-78.

[11] Wang X,Liu T. Research on Subsystem Hybrid Scheduling and Priority Inversion Based uCOS-Ⅱ[J]. Journal of System Simulation,2012,19(3):117-121.

[12] Shi X F,Feng T,Zhang X M. Remote Data Acquisition System Based on Embedded RT-Thread[J]. Applied Mechanics and Materials,2012,21(24):2238-2241.

DesignandImplementationofRemoteUpgradeofWirelessSensorNetworkNode*

TONGShihua1,LIYi1*,XIELei2

(1.Chongqing College of Electronic Engineering,Chongqing 401331,China;2. Chongqing University of Posts and Telecommunications,Chongqing 400065,China)

Aiming at the difficult situation of Wireless sensor network node upgrade,a solution based on IAP(In Application Programming)technology is proposed to realize remote upgrade of wireless sensor network node’s own program. Combined with existing microcontroller IAPtechnology,wireless sensor network technology and Ethernet,the scheme uses network controller as a core and designs the wireless sensor network nodes supporting IAP and achieves PC software based MFC for analysis and distribution of firmware files. The test results show that the scheme solves the difficult problem of wireless sensor network node upgrade and has good application prospects.

internet of things;wireless network node;remote upgrade;IAP;LWIP

10.3969/j.issn.1005-9490.2017.05.045

项目来源:重庆市教育委员会2016年度科学技术研究项目(KJ1602910)

2016-08-31修改日期2016-10-22

TP273

A

1005-9490(2017)05-1287-05

童世华(1980-),男,汉族,四川泸县,重庆电子工程职业学院,副教授,主要从事物联网、智能家居等方向研究,108457135@qq.com;

李毅(1974-),男,汉族,重庆电子工程职业学院,副教授,主要从事计算机技术应用等方向研究;

谢磊(1990-),男,汉族,重庆邮电大学,硕士研究生,主要从事物联网技术应用研究。

猜你喜欢

校验远程升级
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
小投入,大升级 Polk Audio Monitor XT系列
幸福,在“家门口”升级
远程诈骗
回暖与升级
炉温均匀性校验在铸锻企业的应用
大型电动机高阻抗差动保护稳定校验研究
基于加窗插值FFT的PMU校验方法
锅炉安全阀在线校验不确定度评定