摘 要:航管二次雷达测试应答机机房往往为无人值守机房。为了满足对航管二次雷达测试应答机机房环境的监测需要,文章以NodeMCU开发板和OneNET物联网平台为核心,设计一种设备机房环境监测系统,实现了对航管二次雷达测试应答机机房市电状态和温湿度数据的实时监测和远程显示,达到提前发现测试应答机机房环境异常的目的,提高了对航管二次雷达的综合保障能力。
关键词:NodeMCU;OneNET;设备机房;机房环境;监测系统
中图分类号:TP311.5;TP274 文献标识码:A 文章编号:2096-4706(2023)20-0080-04
Design of Equipment Room Environmental Monitoring System Based on
NodeMCU and OneNET
PU Chenglei
(Zhuhai Air Traffic Management Station of Civil Aviation, Zhuhai 519060, China)
Abstract: The air traffic management secondary radar testing response machine room is often an unattended machine room. In order to meet the monitoring needs of the environment of the air traffic management secondary radar testing response machine room, the paper designs a equipment room environment monitoring system based on the NodeMCU development board and the OneNET Internet of Things platform. It realizes real-time monitoring and remote display of the electricity status and temperature and humidity data of the air traffic management secondary radar testing response machine room, achieving the goal of early detection of abnormal environment in the testing response machine room, improving comprehensive support capability for air traffic management secondary radar.
Keywords: NodeMCU; OneNET; equipment room; room environment; monitoring system
0 引 言
航管二次雷达利用机载应答机应答地面询问机发射的电磁波对目标(飞机)进行探测定位。随着航空飞行数量的迅速增加,航管二次雷达在空中交通管制系统中发挥着不可替代的重要作用。作为航管二次雷达系统的重要组成部分,测试应答机安装于雷达站附近,模拟机载应答机为航管二次雷达提供应答信号,用于航管二次雷达探测性能的测试和校准。航管二次雷达测试应答机机房往往为无人值守机房,根据民航上级规章要求,需要实时监视机房环境状况。通常情况下,航管二次雷达测试应答机机房并没有配置相应的通信链路和传输设备,难以通过传统方法实现机房环境的远程监视。
本文提出了一种基于NodeMCU开发板和OneNET物联网平台的设备机房环境监测系统,采用无线通信技术实现了对航管二次雷达测试应答机机房环境状况的实时监测和远程显示,可进行推广应用。
1 NodeMCU和OneNET简介
1.1 NodeMCU简介
NodeMCU是一款价格便宜、开发简单、性能稳定的开源硬件开发板,适合初学者开发和学习使用。由于支持Wi-Fi功能,所以NodeMCU在物联网领域被广泛应用。NodeMCU开发板以乐鑫科技研发的ESP8266芯片为核心,主要包括控制芯片(ESP8266)、USB接口、I/O端子和供电系统4个模块,可以使用多种程序开发环境进行开发。使用USB线连接NodeMCU开发板与计算机时,NodeMCU开发板会在计算机上虚拟出一个串口设备,此时两者之间便建立了串口连接,可互传数据。同时,计算机则通过此连接向NodeMCU开发板提供5 V电源。NodeMCU开发板的工作模式可以设置为接入点模式、无线终端模式和混合模式。本设计使用NodeMCU开发板的无线终端模式。
1.2 OneNET简介
OneNET是中国移动打造的高效、稳定、安全的物联网开放平台。OneNET支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入,提供丰富的API和应用模板以支撑各类行业应用和智能硬件的开发,有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全以及大數据分析等平台级服务需求。此外,OneNET还提供远程升级OTA、位置定位LBS、消息队列MQ、数据可视化View、人工智能AI等增值服务。本设计主要使用OneNET的设备接入和数据可视化功能。
2 系统总体设计
本设计以NodeMCU开发板和OneNET物联网平台为核心,总体设计框图如图1所示。市电分两路分别接入1 kVA UPS和变压电路。UPS为不间断电源,其输入和输出均为220 V交流电。出于成本和可靠性考虑,选用智能手机充电器作为变压器,将UPS输出的220 V交流电转变为5 V直流电,并用USB线为NodeMCU开发板提供电源。当市电中断时,UPS中的后备电池便对外提供电能,继续通过变压器为NodeMCU开发板供电。变压电路首先将220 V交流电转变为3.3 V直流电,然后将3.3 V直流电接入NodeMCU开发板的数字I/O端子进行检测。当检测结果为高电平时,说明市电正常;当检测结果为低电平时,说明市电中断。数字温湿度传感器采用单总线结构,将数字温湿度信号通过单个数据引脚接入NodeMCU开发板的数字I/O端子进行读取。NodeMCU开发板在连接无线Wi-Fi的情况下,用HTTP协议将市电检测结果和温湿度数据周期性上传给OneNET物联网平台进行数据解析和数据可视化处理。在数据可视化项目发布后,用连接互联网的终端设备通过网页浏览器便能实时查看设备机房市电检测结果和温湿度数据。
3 系统硬件设计
3.1 变压电路设计
由于NodeMCU开发板无法直接检测220 V交流电且数字I/O端子的最高输入电压为3.3 V,因此需要变压电路将220 V交流电转变为3.3 V直流电后再进行检测。变压电路由变压器和分压电路组成,电路原理图如图2所示。变压器仍然选用智能手机充电器,将220 V交流电转变为5 V直流电。分压电路由三个4.7 kΩ的电阻R1、R2和R3串联组成。根据串联分压公式可知,电阻R1和R2之间信号引接点的对地电压为3.3 V。值得注意的是,变压器USB直流输出口的正极为5 V,负极为GND,需要将负极接至NodeMCU开发板的GND,使它们共GND。
3.2 温湿度传感器选择
本设计选择DHT22数字温湿度传感器用于设备机房温湿度数据的采集。DHT22是一款温湿度复合传感器,可以同时对周边环境的温度和湿度进行采集,并将温湿度数据经过校准后进行数字式输出。该传感器应用专用的数字模块采集技术和温湿度传感技术,工作稳定可靠,具有品质卓越、超快响应、抗干扰能力强和性价比高等优点。DHT22温湿度传感器的工作电压为3.3 V至6 Vdc,温度测量范围为-40 ℃至80 ℃,湿度测量范围为0至100%,满足设备机房温湿度的测量需求。DHT22温湿度传感器与NodeMCU开发板的连接如图3所示。其中,DHT22温湿度传感器的数据引脚out、VCC引脚+和GND引脚-分别连接NodeMCU开发板的数字I/O端子、3V3端子和GND端子。
4 系统软件设计
4.1 NodeMCU开发板程序设计
4.1.1 主程序设计
本设计选用类似C/C++语言的程序开发环境Arduino IDE对NodeMCU开发板进行开发。需要注意的是,在使用Arduino IDE进行开发前,必须下载ESP8266安装包并进行安装。经过多次实践,发现直接在Arduino IDE下载并安装ESP8266安装包速度非常慢,而且很容易失败,因此推荐在点灯科技官网离线下载ESP8266安装包后再进行安装。
将在Arduino IDE中编写的程序代码上传至NodeMCU开发板后,NodeMCU开发板便能在程序的控制下设置无线终端模式、连接无线Wi-Fi、检测设备机房市电状态和读取设备机房温湿度数据,并将设备机房环境状态数据用HTTP协议通过互联网周期性上传给OneNET物联网平台进行处理。NodeMCU开发板主程序流程图如图4所示。其中,NodeMCU开发板获取和上传数据的周期为5秒。
4.1.2 HTTP请求程序设计
NodeMCU开发板程序设计的重点和难点在于HTTP请求程序设计,以实现通过HTTP协议将设备机房环境状态数据准确无误地上传给OneNET物联网平台服务器。HTTP请求程序流程图如图5所示。首先将需要上传的设备机房环境状态数据转换为JSON数据格式;然后创建WiFiClient和HTTPClient对象,并依次调用HTTPClient对象的begin函数配置HTTP请求地址URL、addHeader函数在HTTP请求头中添加APIkey和POST函数启动与OneNET物联网平台服务器的HTTP连接并发送HTTP请求,实现设备机房环境状态数据的准确上传;最后,调用HTTPClient对象的end函数断开与OneNET物联网平台服务器的HTTP连接。其中,JSON数据格式中数据流的名称要与下文中创建的3个数据流的名称分别相同,HTTP请求地址URL为下文中记录的API地址+/datapoints,APIkey为下文中记录的Master-APIkey。
4.2 OneNET物联网平台数据可视化设计
4.2.1 创建数据流
在进行OneNET物联网平台数据可视化设计前,需要创建数据流来接收NodeMCU开发板上传的设备机房环境状态数据。首先在OneNET物联网平台注册一个账号并登录,进入开发者中心,在全部产品服务中选择多协议接入后继续选择HTTP协议并添加产品,填写产品信息和技术参数后进入刚添加的产品查看并记录Master-APIkey;然后进入设备列表添加设备,在刚添加的设备详情中查看并记录API地址;最后进入数据流模板,依次创建3个数据流,分别用于接收NodeMCU开发板上传的设备机房市电状态和温湿度数据。
4.2.2 数据可视化设计
成功创建数据流后就可以进行数据可视化设计了。首先在全部产品服务中选择数据可视化View,新建项目后选择空白模板便成功创建了一个可视化的项目;然后点击项目的编辑按钮进入项目编辑页面,在常规图表中选择各种可视化的控件添加到项目编辑页面,并将各个可视化控件的数据绑定方式选择为数据源;最后新建3个与相应数据流绑定的数据源,再将各个可视化控件的数据绑定相应数据源,并使用数据过滤器过滤各个可视化控件的数据后便能进行数据可视化展示了。本设计的数据可视化界面如图6所示。其中,各个可视化控件的数据刷新间隔默认设置为5秒。
5 测试分析
根据系统总体设计完成系统软硬件的安装和调试后,便开始进行系统功能测试。用USB线将NodeMCU开发板与计算机连接后,用Arduino IDE在NodeMCU开发板程序中添加通过串口输出Wi-Fi连接、HTTP请求和服务器响应结果的语句后,便能在Arduino IDE的串口监视器中查看相关测试结果。图7的串口监视器测试结果显示NodeMCU开发板已成功连接Wi-Fi,且HTTP请求和服务器响应结果均正常。
随后,在OneNET物联网平台上将数据可视化项目进行发布后便得到该项目的访问链接,在已连接互联网的计算机上用网页浏览器访问该链接,就能实时查看如图6所示的数据可视化界面。经过测试,该数据可视化界面数据显示正常,数据刷新间隔为5秒。
最后对系统的温湿度测量精度进行测试。用温湿度计和该系统同时测量相同点的温湿度数据如表1所示。其中,温度测量精度在1 ℃以内,湿度测量精度在2%以内。通过以上测试分析,该系统的温湿度测量准确度满足实际使用需要。
6 结 论
本文提出了一種基于NodeMCU开发板和OneNET物联网平台的设备机房环境监测系统。该系统硬件结构简单、成本较低、安全可靠,NodeMCU开发板程序流程清晰、逻辑严谨,OneNET物联网平台数据可视化界面简洁明了、易于访问。该系统实现了对没有配置相应通信链路和传输设备的航管二次雷达测试应答机机房市电状态和温湿度数据的实时监测和远程显示,解决了设备运行中的难题,提高了设备保障水平。通过实际测试,该系统工作稳定,性能良好,其中温度测量精度在1 ℃以内,湿度测量精度在2%以内,符合实际使用需要。
参考文献:
[1] 楚琳琳,徐江涛.基于NodeMCU与OneNET的物联网应用技术分析 [J].无线互联科技,2021,18(13):83-84.
[2] 刘福祥,沈甦,邓世英.基于OneNET的数据采集监测系统设计与实现 [J].电子制作,2022,30(17):47-49.
[3] 袁兴,邓成中,谭天,等.基于M5310A与OneNET云平台的智能家居控制系统 [J].物联网技术,2021,11(4):74-77.
[4] 张晨,王玉槐,韩齐,等.基于OneNET云平台的智能家居远程控制系统设计 [J].信息技术与信息化,2020(10):223-226.
[5] 申时喜,曾超平.基于单片机的电源监控系统设计 [J].大众科技,2013,15(11):77-78.
作者简介:蒲成雷(1986—),男,汉族,四川蓬安人,工程师,本科,研究方向:空管雷达、地空通信、单片机。
收稿日期:2023-05-18