基于NB-IoT的机房监控系统设计与研究

2020-07-22 08:32闻明师涛崔永明
科技创新导报 2020年15期
关键词:微控制器管理员机房

闻明 师涛 崔永明

(北京科技大学天津学院 天津 301830)

1 系统总体设计

随着科技的发展,机房的监控变得越来越重要。使用通信信道进行数据传输,首先要决定数据通信的方式,对环境特点进行了解,结合当地的技术水平和企业的规模综合考虑[7]。监控系统由系统总体设计,传感器硬件设计,服务端软件设计,实验测试结果与结果分析几部分组成。

该系统模型大致如图1所示。

1.1 系统总体结构框架

图1 监控系统的模块示意图

图2 NB-loT模块的功能示意图

本系统可分为两个大块,硬件的部分和软件的部分。硬件的部分部署在机房,程序部署在单片机上。硬件的部分又有两类,一类仅采集原始数据(例如温度、湿度、气体浓度等),并以 UDP 协议上传;另一类则是与图像监控相关,它先从摄像头读取数据,然后使用 FPU 运行机器学习的预训练模型推理,分析出摄像头捕捉到的图像中的物体名称、位置、大小,再将数据以UDP协议上传到云平台上。

云平台上的程序分为这么几部分。一个程序监听UDP协议的指定端口,等待硬件发送的数据报。接收到数据报后,进行合法性校验、鉴权校验,将数据存入数据库中。日志分析程序从两方面分析数据,一方面是根据管理员人工配置的监控数据合理范围,判断监控数据是否已经超标,另一方面是由算法判断监控数据是否出现了持续的异常,数据的变化是否出现了异常的模式。分析完成后,将日志标记上预警等级,存入数据库,将高危日志发送到消息队列。控制台则可以配置程序的参数,进而改变程序的行为。预警程序则监听消息队列,如果接收到高危日志消息,以短信或者电子邮件的方式通知监控平台的管理员,提醒管理员及时处理。

1.2 系统功能概述

图3 使用模块作为主控芯片集成应用的开发方案

图4 客户端与服务端私有通信协议报文格式

表1 温度测试表

表2 湿度测试表

表3 监控系统测试响应延迟

系统的主要功能是监控弱电机房的环境数据,提供机器自动判断数据异常对监控数据进行处理,提供时间区间监控数据展示方便监控平台管理员回溯监控数据。控制台有三大功能,一是监控数据的展示,二是监控平台配置,三是日志分析结果的展示。在控制台上,管理员可以在网页上设置一段时间区间,控制台上会以曲线图的形式展示指定时间内数据的化情况。在监控平台配置页面,管理员可以配置温度、湿度、气体浓度的合理变化范围。如果所监控的数据超出了合理变化范围,系统会通过短信、电子邮件的方式向管理员的通信方式发送预警。管理员可以在监控平台配置页面录入自己的联系方式。这种方式可以大大降低系统管理员的盯盘负担,因为如果是以往,管理员必须盯着数据变化的曲线才可以有效地监控环境指标。

而硬件的主要功能则是采集原始数据或对数据进行一定的分析后以UDP协议发送到云平台。微控制器先采集温度、湿度、气体浓度数据,然后以UART协议与BC260型号的NB-IoT通信模块与远端通信。该模块会将数据发送到中国移动onenet物联网云平台。

2 系统软硬件设计

2.1 NB-IoT模块选型

NB-IoT[3]通信模块常见的型号有移远的BC-26, BC-28, BC-35。其中只有 BC-26 支持 OpenCPU 模式。换句话说,BC-26 不仅可以作为一个通信模块(从机)使用,也可以作为一个独立的主机来操控别的元件。因为将它作为主机就不需要额外的主机,例如STM32,整个系统的功耗会更小。我开发了基于移远NB模组BC26的NB核心板,也可称作NB最小系统,2.54间距双排针,引出BC26全部可用GPIO,支持OpenCPU二次开发方案,即插即用。

BC-26支持低功耗模式,最小功耗P SM模式下仅40uA,其中BC26自身功耗5uA,BC-26板载LDO降压芯片静态功耗35uA。

2.2 微控制器的选型

考虑到功耗,需要推理机器学习模型的微控制器我选择了Maix Bit的K210。STM32 的计算性能比较孱弱,更为适合整数运算[5],因此没有采用这种更为流行的方案。

微控制器在监控硬件中扮演的角色是实现监控环境与外部网络交互的核心要素。被监控环境的现场信息被微控制器采集后发送到网关上的协调器,在机器视觉上被监控环境的现场信息被微控制器采集后发送到在机器视觉上被监控环境的现场信息被微控制器采集后发送到网关上的协调器,采用有线或无线的方式发送到云端的服务器软件上[6]。主控芯片K210与BC-26的通信方式是通过UART接口完成通信[4]。

而没有大的计算需求的场景,我使用 BC-2 6 的 OpenCPU 方案。在传统方案中,需要一个MCU作为主控制器,控制硬件外设,例如控制路灯的亮或灭,然后使用MCU的UART接口与标准模块进行AT指令通信,上报当前路灯状态,或接收来自远程服务器的开关灯命令。而OpenCPU方案,可以直接在模块中编写程序控制路灯,节约硬件成本,加速应用开发。

2.3 系统主控软件设计

系统软件主要有两部分,在用户的浏览器上运行的web端展示软件和运行在云服务器上的服务端程序[8]。Web端展示软件的部署方面,我们可以充分发挥云技术的优势,将展示程序部署在云厂商的CDN网盘平台上[9]。浏览器根据基础骨架页面上的资源URL访问云厂商的服务器动态加载展示软件。运行在服务端的程序 则以UDP协议监听1314端口上传入的UDP数据报。数据报的格式如图所示。服务端程序以2进制形式分析数据报,连续的16个0表示数据的结尾。

接收到数据后,服务端程序将程序存入关系型数据库等待数据分析程序自动抓取。自动分析程序根据预设的配置对数据进行分析,若发现超出预设范围的环境数据,或者显著的离群点,则转发至自动报警信息服务。

2.4 自动报警信息服务

自动报警信息服务是该系统的核心功能之一,对弱电机房自动监控平台的自动化效率产生直接影响。自动报警信息服务使用了一套算法来自动监控是否监控数据出现异常。如果出现异常,根据管理员的设置的联系方式,自动生成短信或邮件,全天候向管理员自动报警。通过自动报警方式,管理员可以及时发现问题,并在第一时间进行解决。

简单地说,有一部分数据不需要与其他数据综合考虑是否异常,我们可以将这些数据在硬件端进行计算和分析,计算平均值、方差等数据,这样可以降低带宽压力。

算法方面,我们使用孤立森林算法。数据在数据库或消息队列等数据仓库中沉淀后,先用算法进行分析,是否存在局部的异常点。如果发现,再根据短信模板生成短信,或者根据 Markdown 模板生成邮件,发送到管理员的联系方式上。我们对生成的分析报告进行一定的封装,比如我们同机房的数据,同等级的告警信息封装在一起,在经过这样的封装处理之后,管理员翻阅这些数据和分析报告时不会出现混乱的情况。可以很方便地归因隐患和问题的源头。

3 系统调试和结果

我们的核心板调试用的 UART 端口是 RDX_DBG 和 TXD_DBG。为了对该弱电机房监控系统的实时性、可靠性、功能进行验证和分析,我们在同等环境下,对弱电机房监控系统进行了实验,对温度、湿度、气体浓度的准确性、响应时间进行了测试。结果如表1, 表2,表3所示。

通过监控系统测试响应延迟表表格 3的数据可以看出,平均响应延迟0.98s,响应十分迅速。保证了系统的可靠性和实时性。

通过表格1的数据可以看出,该系统的测量误差在1.5℃以内。符合DHT11的正负3℃误差范围内。

4 结语

设计了一种基于NB-IoT 窄带物联网的弱电机房实时监测系统,该系统使用勘智K210和移远的BC26 物联网模块,接入中国移动的 onenet 物联网云平台。通过 BC26 将数据传输到自主研发的数据分析和监控平台上。在数据展示平台上,你可以看到硬件实时监控的机房温度、湿度、烟雾浓度等数据。出现数据异常时,可以在第一时间告警管理员。

该系统的功耗较低,所需维护频率低,安装成本低廉。提高了我校的经济效益,推动了我校的电子化、数字化进程。NB-IoT技术优势将极大地促进此技术未来的大规模商用,其方案特性也完全符合中国未来发展“创造性、科学性、前瞻性”的要求[2]。

猜你喜欢
微控制器管理员机房
我是图书管理员
我是图书管理员
物联网技术在微控制器实验教学中的应用
N通信公司机房节能技改实践
新型有线电视机房UPS系统的配置
大功率发射机房冷却送风改造
Atmel针对新一代物联网应用发布全新32位微控制器
最新STM32设计工具增加对混合信号微控制器的支持
谈有线电视前端机房的防雷接地
意法半导体(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器