基于无线传感器的远程实时监控与固件更新系统设计
来源:用户上传
作者:
摘 要:针对工业生产中难以监控传感器状态的问题,设计一个物联网系统,实现远程传感器数据监控与固件更新。该系统由远程实时监控系统与远程固件更新系统组成,传感器采用嵌入式实时操作系统。在远程实时监控系统中,传感器可调节频率测量数据,基于消息排队遥测传输协议,通过无线网络将数据传输到服务器。为使远程固件更新系统运行符合限制应用协议,传感器连接至轻量级物联网协议服务器,再通过网关连接到hawkBit服务器中,基于超文本传输协议与轮询方式,由hawkBit提供远程更新服务。实践操作表明,该系统操作简单,具有可视化、直观的优点,可满足大型工厂远程实时监控与固件更新需求。
关键词:无线传感器;远程固件更新;远程实时监测;消息队列遥测传输;轻量级物联网
DOI:10. 11907/rjdk. 182723 开放科学(资源服务)标识码(OSID):
中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2019)009-0130-04
Design of Remote Real-time Monitoring and Firmware Update
over the Air System Based on Wireless Sensor
WU Rui-chao,HOU Jun
(School of Optical-Electrical Computer Engineering,University of Shanghai for Science and Technology, Shanghai 200093,China)
Abstract: Aiming at the problem that it is difficult to monitor and control sensors in the industrial production, an IoT system is designed to monitor and control sensors remotely and update firmware over the air. The system based on the wireless sensors using an embedded real-time operating system consists of two subsystems: one is a remote real-time monitoring system and the other one is firmware updating over the air system. In the remote real-time monitoring system, the measurement frequency of sensors can be changed remotely and data will be transmitted to the server via a wireless network based on the Message Queuing Telemetry Transport Protocol. In the firmware updating over the air system, in order to implement the restricted application protocol, sensors are connected to server based on lightweight machine to machine (LWM2M) protocol, and then LWM2M sever is connected to hawkBit server through the gateway, afterwards, hawkBit provides a firmware update service remotely based on HTTP and a polling method. This system is proved to be easy to operate with an advantage of visualization and intuition and it can meet the requirements of remote real-time monitoring and firmware update for factories.
Key Words: wireless sensor; firmware update over the air; remote real-time monitoring; MQTT; LWM2M
0 引言
工業生产中采用无线传感器网络(Wireless Sensor Network,WSN)可解决传统工业监测环境平台采用有线搭建引起的布局困难、建设成本高、延时长、专用性低等问题[1]。WSN作为物联网不可或缺的一部分[2],常用于智能城市[3]、灾难预警[4]、智能家居[5]及智能医疗[6]等方面,主要作用是监控环境、记录参数。但WSN需经常增加新功能或修复固件问题,如果通过手动方式对所有节点进行编程则十分耗时、耗力,因此需要一种有效方法在WSN中通过无线方式对节点进行远程升级或更新[7]。基于以上需求,本文设计一个基于无线传感器远程实时监控与固件更新系统。
在该系统中,采用FreeRTOS实时系统对传感器进行编程。在远程实时监控系统中,传感器数据基于消息排队遥测传输(MQTT)协议,以可调节的频率通过WiFi发送至服务器,使用Grafana实现可视化。在远程固件更新系统中,文献[7-11]均对无线传感器网络代码更新技术进行了相关研究与改进。网关是WSN接入互联网的瓶颈[8],因此采用LWM2M服务器实现WSN互联网接入,同时为在不同协议之间进行通信,按照HTTP协议利用hawkBit管理传感器,使用CoAP协议将固件传输至传感器节点,通过网关实现不同协议之间的信息交换,使系统实现易操作、直观的工业生产监控及远程固件升级技术。 1 系统总体设计方案
随着工业生产自动化发展,物联网在工业生产中的应用愈加广泛。物联网允许用户远程监控物品/对象并发送配置。有研究者估计,到2020年,物联网将覆盖近500亿台设备[12]。为便于监控生产过程,用户产生可远程查看传感器数据、调节监控频率的需求,同时当有新的传感器系统时,用户可进行远程更新,而不是通过USB连接电脑更新。因此,本文根据以上两点需求,在传感器上采用FreeRTOS实时系统,在此基础上,开发两个子系统,分别为远程实时监控系统和远程固件更新系统,并将其合并成一个总系统。
1.1 传感器操作系统
传感器需完成两个任务,即获得传感器数据并发送到服务器,进行即时远程固件更新,同时还需兼顾工厂环境监测,因此实时性对操作系统十分重要。
FreeRTOS实时操作系统作为一个轻量级操作系统,具有一个可扩展的实时内核,采用多线程方法[13]。其中每个进程均可中断,调度程序可在线程之间切换[14],为低端设备提供实时、抢占式多任务环境,并确保在任何给定时间段内执行更高优先级任务。如果两个任务具有相同的优先级,则调度程序根据同一优先级的任务共享CPU使用时间,时间短的任务优先运行。任务执行遵循基于优先级的循环实现。FreeRTOS内核使用4个C文件(task.c,list.c,queue.c,croutine.c)构建,其中task.c通过使用list.c文件的结构和函数提供调度功能,queue.c文件提供一个线程安全队列以实现任务间通信与同步,croutine.c可实现简单的轻量级任务[15]。因此有必要采用FreeRTOS系统,确保在正确的时间内完成必要任务。
1.2 远程实时监控系统
系统通过WiFi传输传感器数据,并将传感器数据可视化。两种数据传输协议比较如下所示。
1.2.1 MQTT 协议
MQTT即消息队列遥测传输(Message Queuing Telemetry Transport),是由IBM开发的一种针对LWM2M通信的协议。该协议构建于TCP/IP协议之上,以发布/订阅的方式工作。与传统发布/订阅客户端相比,该协议工作方式可满足物联网需求,即无需不断更新请求。同时,MQTT协议可大量減少使用的网络带宽与资源, 如基于MQTT协议的Facebook聊天软件。
1.2.2 HTTP协议
HTTP即超文本传输协议(Hyper Text Transfer Protocol ),该协议基于TCP/IP协议,可提供可靠的通信。然而,由于通过TCP建立连接,访问的数据根据IP地址、URL及其关系进行转移,过程动态可变。在每次访问时连接会被释放,即完成一次通信,需要多次建立、释放同一个连接[16]。
通过比较两种协议,可以发现在通信过程中,HTTP采用大量微小的数据传输块,消耗大量网络资源,导致网络性能下降,且IP寻址取决于物理位置,引起网络控制复杂性问题。HTTP协议是一个对称协议,而MQTT协议是一个轻量级不对称结构,该结构具有非智能分布式设备与服务器通信所需的智能能力。综上所述,MQTT协议更适合传感器与服务器之间的数据交换。
1.3 远程固件更新系统
物联网设备在通信过程中通常采用短消息进行消息传递,这对于固件更新是一种大型负载传递。
CoAP协议即受限制的应用协议(Constrained Application Protocol),采用基于块的传输方式,即块状转移[17],处理大负载消息传递。该协议将大型资源拆分成块大小的多个资源,通过以消息的有效负载形式进行传输。接收方对已接受到的消息块进行标志后,请求下一消息,当接收到所有消息后,重组所有的块即接收到完整的资源包。
CoAP协议由 IETF的CoRE工作组提出,是一种以HTTP协议为基础的协议。由于传统HTTP协议对于资源受限制的设备过于庞大,而CoAP协议基于HTTP协议,可实现请求与响应同步,并且该协议基于REST架构风格,用户可以像使用HTTP协议一样应用CoAP协议[18],所以本文采用CoAP协议进行传感器固件传输。
系统采用hawkBit服务器在云端管理传感器固件。 hawkBit是一种基于RESTful的服务器。REST即表述性状态传递(Representational State Transfer),是一种架构风格,2000年由Roy Fielding博士[19]在其博士论文中提出并被广泛应用。HTTP被用于定义数据格式的开头,其内容格式依赖于HTTP服务器与其定义文件,主要指XML或JSON。本文使用Python搭建一个HTTP客户端,可向hawkBit服务器发起请求,即在服务器中注册新设备,查看是否有固件更新请求,下载新固件或者更新设备状态。
由于传感网无法与hawkBit服务器直接进行通信,为使管理传感器同时与CoAP服务器进行通信,系统搭建LWM2M服务器。LWM2M即轻量级物联网(Lightweight Machine to Machine),是开放移动联盟(OMA)的系统标准,其目标是开发一个快速部署的客户机—服务器规范,以提供物联网服务。在M2M中,LWM2M充当OMA设备管理 (OMA- dm)的继承者,并为使用相同协议的物联网应用程序提供高效的设备管理与安全工作流,从而简化系统,还可解决受约束的M2M设备服务及管理需求[20]。
LWM2M基于CoAP协议进行开发,LWM2M 定义了3个逻辑实体:LWM2M服务器、LWM2M客户端 及LWM2M 引导服务器。LWM2M客户端负责执行LWM2M服务器的命令并上报执行结果,LWM2M引导服务器负责配置LWM2M客户端。
为使hawkBit服务器获得LWM2M服务器中传感器的信息,利用Python搭建一个HTTP服务器。LWM2M服务器可向HTTP服务器发起请求,由此HTTP客户端从HTTP服务器中获得信息,发送到hawkBit服务器中,从而可实现LWM2M服务器与hawkBit服务器之间的通信,HTTP服务器与HTTP客户端被称为网关。 4 结语
本文采用ESP32连接环境与运动传感器,设计了一个基于无线傳感器的远程实时监控与固件更新系统,采用MQTT协议实时监控工业生产,并将其可视化;同时采用LWM2M协议,提出了一种将传感器节点接入互联网的方法。传统无线传感器网络采用有线通信方式对传感器节点布置实现网络代码更新,相比之下本文方法更符合未来物联网发展需求,更加智能、便利。在大型工厂应用中,用户只需通过网页即可监测工厂生产状态,同时无需连接USB即可进行远程固件更新,具有操作简单、直观、可视化等优点。
参考文献:
[1] 罗俊,孙国耀. 基于WiFi无线传感器网络的工业环境监测平台系统设计[J]. 仪表技术与传感器,2018,8:65-68.
[2] XIE H M,YAN Z,YAO Z,et al. Data collection for security measurement in wireless sensor networks: a survey[J/OL]. IEEE Internet of Things Journal,2018:1-1.2018-11-26.https://ieeexplore.ieee.org/document/8543865/metrics#metrics.
[3] GAUR A,SCOTNEY B,PARR G,et al. Smart city architecture and its applications based on IoT[J]. Procedia Computer Science, 2015, 52:1089-1094.
[4] ROY S D,SINGH S A,CHOUDHURY S,et al. Countering sinkhole and black hole attacks on sensor networks using dynamic trust management[C]. Morocco:IEEE Symposium on Computers and Communications,2008.
[5] CUI K W, KUMAR A,XAVIER N,et al. An intelligent home appliance control-based on WSN for smart buildings[C]. Hanoi:2016 IEEE International Conference on Sustainable Energy Technologies, 2016.
[6] ALAMELU J V,MYTHILI A. Design of IoT based generic health care system[C]. Vellore:International conference on Microelectronic Devices, Circuits and Systems,2017.
[7] 张国萍. 无线传感器网络在代码分发最新研究进展[J]. 浙江理工大学:自然学报版,2015,33(2): 219-227.
[8] 钱欢,施伟斌. 基于Android的无线传感器网络代码更新系统设计[J]. 软件导刊,2017, 16(12): 125-127.
[9] 吴涛,施伟斌,张磊. 基于CC2430的代码更新系统设计[J]. 电子科技,2017,30(1):123-125.
[10] 任万春,马延淮,刘琦. 一种基于多播分发树的无线传感器网络代码分发协议[J]. 传感器与微系统, 2014, 33(11):149-152.
[11] 王海勇,杨庚,许建. 一种低耗能的代码分发协议[J]. 计算机工程, 2012, 38(23):84-87.
[12] EVANS D. The Internet of Things:how the next evolution of the Internet is changing everything[J]. CISCO White Paper,2011,38:1-11.
[13] GOYETTE R. An analysis and description of the inner workings of the FreeRTOS kernel [EB/OL]. http://richardgoyette.com/Research/Papers/FreeRTOSPaper.pdf.
[14] DéHARBE D,GALV?O S,MOREIRA A M. Formal methods: foundations and applications[M]. Berlin: Springer,2009.
[15] FERREIRA J F,He G H, Qin S C. Automated verification of the FreeRTOS scheduler in Hip/Sleek[J]. International Journal on Software Tools for Technology Transfer,2014, (16)4:381-397.
[16] YOKOTANI T,SASAKI Y. Comparison with HTTP and MQTT on required network resources for IoT[C]. Bandung: 2016 International Conference on Control, Electronics, Renewable Energy and Communications,2017.
[17] BORMANN C,SHELBY Z. Block-wise transfers in CoAP [EB/OL]. https://tools.ietf.org/html/draft-ietf-core-block-20.
[18] BORMANN C,CASTELLANI A P,SHELBY Z. CoAP:an application protocol for billions of tiny internet nodes[J]. IEEE Internet Computing,2012(2): 62-67.
[19] KR?O S,POKRI? B,CARREZ F. Designing IoT architecture(s): a European perspective[C]. Seoul: IEEE World Forum on Internet of Things (WF-IoT),2014.
[20] RAO S,CHENDANDA D,DESHPANDE C. Implementing LWM2M in constrained IoT devices[C]. Melaka:IEEE Conference on Wireless Sensors,2015.
[21] BEATON W. Eclipse hawkBit[EB/OL]. https://projects.eclipse.org/projects/iot.hawkBit.
[22] AL-FUQAHA A,GUIZANI M,MOHAMMADI M,et al. Internet of Things: a survey on enabling technologies, protocols, and applications[J]. IEEE Communications Surveys & Tutorials, 2015(4):2347-2376.
(责任编辑:江 艳)
转载注明来源:https://www.xzbu.com/8/view-15019889.htm