基于RT-Thread和ESP-NOW的无线传感器网络系统设计

2023-07-25 07:29宋英杰薄敬东王义涛万庆华崔传金
仪表技术与传感器 2023年6期
关键词:树莓模组校验

宋英杰,薄敬东,王义涛,万庆华,崔传金

(华北理工大学电气工程学院,河北唐山 063210)

0 引言

近些年物联网通信技术的不断迭代更新,同时对无线传感器网络系统的稳定性与响应速度要求提高。无线传感器网络(wireless sensor networks,WSNs)是一种由大量传感器节点组成的分布式传感网络,具有数据采集、处理、传输等功能。以其精准度高、部署灵活等特点,广泛应用于农业[1]、医疗[2]、建筑[3]及环境检测[4]等领域。RT-Thread物联网操作系统凭借高稳定性、丰富的中间组件及服务层和国产自主可控,已广泛应用于嵌入式设备开发。本设计运用RT-Thread系统提升无线传感器网络稳定性,并对方案可行性展开分析与研究。

近些年,由于物联网及网络通信的快速发展,针对无线传感器网络方向的研究受到了广泛关注。刘飞飞等[5]设计了一种基于ZigBee协议的农业环境检测系统,实现了分布式数据采集功能。但若网络协调器接入大量终端设备数据传输,会造成数据阻塞等情况发生,系统稳定性难以保证。贾青青等[6]通过NB-IoT设计监控节点应用于对环境检测,每个终端系统均以微控制器(MCU)为核心,对传感器数据进行读取及通信传输时会增加系统冗余,当节点设备增多时,造成网络延迟高,会直接影响实际使用效果。谢晖等[7]通过LoRa技术实现低功耗下对环境检测,在保证低功耗同时会增加系统对数据传输延迟,若多数据接收时会对系统处理性能提出更高要求。上述研究工作在通信系统结构方面具有较高的适用性,但当众多节点设备将数据上传时,对节点设备处理性能方面要求较高。

为解决上述设计存在的问题,设计了一种基于RT-Thread和ESP-NOW的无线传感器网络系统,在短距离通信传输时引用ESP-NOW协议以缩短传输延时,采用RT-Thread系统在提高处理能力的同时提高其系统稳定性。

1 系统总体设计

该系统按照感知层、传输汇聚层及应用层架构模型进行搭建[8]。感知层设计有多组终端传感器节点,每个节点由各类传感器、微控制器及通信模组构成[9-10],负责数据的采集、显示、发送。感知节点与汇聚节点之间采用ESP-NOW协议进行通信。传输层由微控制器基于RT-Thread物联网系统构成,采用RT-Thread系统为每个感知层节点数据接收处理创建为一个线程[11-12],以线程调度对感知节点数据接收切换,同时对屏幕显示、存储、上传等线程进行创建。云端接收和感知节点控制的指令在任务中作为事件触发,可通过云平台直接对感知层节点的数据传输状态进行控制[13-14]。应用层是基于阿里云的物联网开发平台搭建云服务器及基于树莓派搭建的本地服务器,以提供数据的显示与分析,用户可通过Web端或树莓派服务器端对数据进行访问,并且远程查看和控制各感知节点的各项数据及工作状态,系统结构如图1所示。

图1 无线传感器网络系统结构

2 系统硬件设计

2.1 感知层硬件设计

感知层为无线传感器网络的核心层,主要由分布在局域网不同处的各类传感器组成,是获取相关信息的重要组成部分。每个感知节点由供电电路、主控系统、传感器模块、通信模组以及屏幕显示等5部分组成。

感知层终端主控选择ESP-07S通信模组,其内置Tensilica L106 32位RISC超低功耗微控制器,同时拥有SPI、IIC、UART等外设接口。该模组通信频率为2.4 GHz,内置TCP/IP协议栈,支持STA、AP、STA+AP 3种工作模式。通过对该模组进行编程实现对外围传感器的数据采集,每个节点设计接入不同类型传感器,包括光照强度、气压强度、温度数据、CO2浓度等4种相关参数,通过采集的数据来验证系统方案的可行性及分析系统工作稳定性。节点显示采集到的数据以及节点工作状态,按键可调节数据上传的时间间隔。感知层节点系统结构图如图2所示。

图2 感知层节点系统结构

供电电源采用3.7V、1 500 mA锂电池,为保证节点稳定工作,防止电压下降导致ESP-07S复位情况发生,每节点均设计电源稳压电路。采用AMS1117 LDO芯片提供3.3 V直流电源。ESP-07S通过模拟IIC协议对传感器数据进行读取及屏幕显示。感知层节点传感器连接如图3所示。

图3 传感器接线原理图

2.2 汇聚节点硬件设计

传输层为无线传感器网络的中心层,为汇聚处理各感知节点数据而设计。汇聚节点选用32位STM32F103VET6 MCU为主控。首先汇聚节点选用ESP-12F完成对各感知节点的数据接收,在数据处理完成后可通过本地显示及Micro SD卡数据的本地存储。其次为保证适用于各种场合环境,数据通过EC600N 4G模组上传至云服务器,选用阿里云物联网平台进行数据在线显示;WiFi模组与树莓派4B通信,本地服务器实现接收、存储、分析、显示等功能。汇聚节点系统结构如图4所示。

图4 汇聚节点系统结构

为保证通信模组工作正常,汇聚节点采用5 V DC电源供电,外围接晶振、复位、电源电路等。通过绘制PCB转接板搭建通信电路与接口外设,转接板设有各节点指示灯、接口以及通信模组电路,指示灯观察各个感知节点数据采集与通信是否正常。通过按键可对感知节点的数据上传间隔进行控制。由于采用的模块均为集成开发模组,故不需要特殊的外围电路处理。

3 系统软件设计

3.1 感知层软件设计

感知层以ESP-07S通信模组为核心,软件程序流程如图5所示,传感器数据采集为各节点对4种传感器参数分别采集。在每次数据采集、校验、发送成功且接收到回调函数后,均会返回通信连接,匹配MAC地址后重新进行数据的采集及校验发送。在安全措施方面,ESP-NOW协议可使用CCMP方法加密VSA帧[15-18]。设计过程中采用校验方式对数据进行安全保障,首先在发送数据帧过程中,将数据及校验位数据同时发送到汇聚节点。在校验数据成功后,汇聚节点发送成功回调函数,感知节点接收校验回调函数成功,则开始准备发送下一帧数据包,在很大程度上避免数据发生堆叠。若校验数据不正确或者接收未应答,则数据停止传输,等待通信校验成功,具体流程如图6所示。

图5 感知节点系统运行流程

图6 数据传输流程

数据传输采用ESP-NOW通信协议,每次可最多传输250 Byte数据,传输速率默认为1 Mbit/s。ESP-NOW数据帧格式如图7所示,其中MAC报头为接收方MAC地址,分类代码、组织标识符、随机值共占8 Byte,为厂家固定数据内容;供应商特定内容占7~255 Byte,主要包括元素ID、长度、组织标识符、类型和正文,其中元素ID、组织标识符和类型为固定内容,长度为组织标识符、类型、版本、正文Byte之和,正文为传输的数据内容,占0~250 Byte。

图7 ESP-NOW数据帧格式

3.2 汇聚节点软件设计

汇聚节点采用RT-Thread系统,该系统是嵌入式实时多线程操作系统,内核仅占用3 KB ROM、1 KB RAM。该系统与FreeRTOS、μC/OS相比,丰富的组件与服务提供了多种通信协议与功能框架,具有灵活的任务调度性能,大大提高了开发效率,易于后期维护与升级。RT-Thread将每个感知节点数据接收与处理归为一个任务,任务创建过程对线程名字、入口函数、栈大小、优先级以及时间片进行设置。共有256个线程优先级可满足感知节点接入需要,同时通过Finsh命令组件帮助用户管理与查看各感知节点状态信息。在RT-Thread系统下,任务切换更流畅,可避免因为单方问题导致系统崩溃,充分利用MCU内资源,实现系统的稳定运行。

汇聚节点运行首先从系统启动文件开始运行,启动rtthread_startup()后进入用户入口main()程序[19]。在RT-Thread系统初始化操作系统中对硬件初始化,RT-Thread系统首先检测WiFi及4G通信模组是否连接成功,通过使用消息队列遥测传输(MQTT)网络协议栈将数据与阿里云平台实现数据实时显示,采用TCP/IP协议与树莓派进行本地服务器连接实现数据分析。在ESP-12F接收到感知层节点数据后进行校验,如校验成功则给感知节点发送回调函数,再将数据进行显示处理及存储,若校验不完整则发出告警提示。使用FatFs文件系统将数据备份到Micro SD卡中实现数据本地存储,系统执行流程如图8所示。

图8 汇聚节点系统执行流程

4 系统测试与分析

为验证设计系统的传输与处理的稳定性,对系统进行测试与分析。首先根据感知节点对传感器数据采集性能进行分析,验证数据采集的准确性之后再将数据传输,对系统整体功能部分进行演示;其次是在不同场地环境测试,对通信距离进行实际测试与分析,得出相关分析结果;最后在传输中通过树莓派基于QT环境下通过上位机查看服务器相关参数功能,通过对参数分析,得出当前环境结论。

4.1 传感系统功能演示

系统功能演示部分主要包括感知节点数据采集效果、汇聚节点数据显示效果、Micro SD卡数据存储。感知节点以外接传感器不同的方案对数据进行采集,感知节点实物与数据采集如图9(a)~图9(d)所示,汇聚节点实物与接收数据后显示如图9(e)所示。汇聚节点数据存储位于Micro SD卡,插入电脑打开如表1所示的data.csv文件数据,查看存储数据与采集数据相同,证明其数据存储的有效性。

表1 Micro SD卡存储数据内容

图9 各节点设备实物

4.2 通信传输性能测试

根据实际情况进行测量,ESP-07S节点外接IPEX 1代接口,采用+8 dB FPC天线。各节点在视野无阻挡的情况下进行通信距离测试。测试选择楼宇内及空旷环境2种场景,在不同的通信距离下,选择以2 s间隔发送400次数据包,验证室内外环境对通信效果的影响,实验结果如表2所示。

表2 感知层通讯测试结果

在同一楼层中,当通讯距离大于80 m时有数据丢包发生;在空旷环境下,当大于260 m时有数据丢包发生。故该系统在楼宇内80 m范围内,空旷场地260 m范围内有良好的通信效果。

4.3 系统稳定性测试

在RT-Thread系统下,采用任务调度切换方式对各感知节点数据接收,相比于裸机中轮询查看方式,前者更具优势效果。另外为测试感知节点以ESP-07S为主控对各类传感器数据采集稳定性,将节点置于实验室环境内持续工作对数据进行采集。其中节点一采集光照强度、节点二采集标准气压强度、节点三采集温度、节点四采集CO2浓度。针对各组数据,通过树莓派服务器对汇聚节点接收到的数据进行分析,树莓派通过TCP/IP协议与汇聚节点WiFi模块进行通信,通过Qt上位机连接IP与端口后,可查看相关参数,同时可通过调节右侧上下限阈值,当前环境可在数据分析后得出相关结果。上位机数据接收与分析如图10所示。

图10 上位机数据接收与分析

5 结论

本文设计了一种基于RT-Thread和ESP-NOW的无线传感器网络系统。主要从通信协议与汇聚节点操作系统两方面进行设计,采用ESP-NOW协议可实现数据稳定传输,汇聚节点基于RT-Thread系统可以有效实现对数据稳定的接收、处理、显示与存储。本设计还有一些工作仍需提升改进,后续可将汇聚节点采用ARM微处理器对数据进行AI数据分析;引入雾计算通信架构,以形成一个完整的数据采集、传输、处理、存储、显示、分析的无线传感器网络系统,提高无线传感器网络的使用率。该系统具有高传输稳定性、低成本、易于组网等优点,具有较好的推广价值。

猜你喜欢
树莓模组校验
光学薄膜技术及在背光模组中的应用研究
基于树莓派的骑行智能头盔设计
浅谈石墨烯材料在LED路灯模组中的应用及该模组的设计
炉温均匀性校验在铸锻企业的应用
基于树莓派的远程家居控制系统的设计
关于超薄LED背光模组设计探讨
响应面法优化红树莓酒发酵工艺
大型电动机高阻抗差动保护稳定校验研究
基于加窗插值FFT的PMU校验方法
锅炉安全阀在线校验不确定度评定