基于无线网络和云平台的大型建筑分布式状态监测
2023-02-08黄翊君张家伟钱铭翰陈仁文
黄翊君,张家伟,钱铭翰,陈仁文
(1.南京航空航天大学 机械结构力学及控制国家重点实验室,江苏 南京 210016;2.中国铁路上海局集团有限公司南京房建公寓段,江苏 南京 210016)
0 引 言
大型公共建筑面积大且结构复杂,功能分区复杂多变[1],用电设备多且实时监测性差。建筑内的用电设备安全管理是保证建筑高效运行的基础。国内传统的大型公共建筑的照明系统等用电设备一般采用人工控制[2],部分地区使用红外遥控等方式进行控制[3],存在着控制方式陈旧和信息管理手段落后等问题[4],对建筑内的安全生产和管理信息化产生不利的影响。
将物联网技术与大型公共建筑相结合是管理向现代化发展的契机。智慧城市的兴起将物联网技术应用到大型公共建筑的管理中,通过将传感器技术、嵌入式系统技术、通信技术、大数据算法、云计算等技术[5-9]融合到大型公共建筑系统的解决方案中,使得大型公共建筑的管理有了“智慧”,可做到大型公共建筑用电设备的精准感知和智能决策管理[10-11]。
针对目前大型公共建筑存在的问题,本文提出一种基于无线网络和云平台的大型建筑分布式用电设备远程安全状态监控系统的设计方案,让不同的管理人员对其所管辖的建筑区域的用电数据进行实时状态监测并实行远程控制,实现了对大型公共建筑各个区域的用电数据进行实时采集、监测及故障切除控制等功能,具有较强的实用性和可扩展性。
1 系统总体方案
分布式用电设备安全监控系统的整体架构如图1所示,整个系统包括设备监控端和远程终端两大部分。
图1 系统整体架构
将多回路交流功率采集模块安装在配电箱内,即可通过MCU采集该配电箱所连接负载的能耗(电压、电流和功率)。利用Air720模块支持的移动数据网络与云服务器进行通信。按照MQTT通信协议规范将采集到的数据上传到云服务器,并接收云服务器下发的用电设备控制信号和参数设置信号。
采用基于阿里云平台的监控系统软件,用户通过桌面应用端、Web端和手机APP端获取监测数据,实现数据查询、故障报警、参数设置、数据存储、统计报表、实时控制、权限管理和故障切除等功能。
2 硬件系统模块设计与功能设计
2.1 设备监控端电路设计
设备监控端主要包括信号采集模块、MCU、继电器和移动数据网络。硬件结构如图2所示。
图2 硬件结构
MCU是整个设备监控端的控制核心,采用STM32F103芯片,它拥有72 MHz的主频、5个USART串口和64个GPIO引脚,满足本系统的性能要求。把MCU的串口模块波特率配置为115 200 b/s,并通过串口模块发送参数指令到采集模块和移动数据网络模块进行数据交互。将继电器配置为高电平触发且设置为常闭状态,保证电路初始状态的畅通。
2.2 采集器参数设置
采集模块是12路交流单相功率采集器,该采集器是一款高精密且内置24路相互独立A/D模块的实时功耗监测器。由于该模块使用RS 485总线接口和 ModBus-RTU协议,需要读取模块内部寄存器,所以应在MCU的串口与采集模块间连接一个MAX485模块进行信号转化。
为保证数据的正确性,MCU收到数据后还需进行CRC校验,高字节在前、低字节在后。校验正确后MCU在收到的数据中提取出每个回路对应的用电数据并判断是否超过阈值。若超过阈值则控制继电器进行故障回路切除,同时定时将采集到的数据通过移动数据网络模块传输到云端服务器。程序流程如图3所示。因远程终端需要管理256×256个设备监控端,为避免通信链路拥堵,将此流程设置成每20 s进行一次。若数据异常则立刻发送数据包,若数据正常则每1 min定时发送一次数据包。
图3 信号采集流程
2.3 设备监控端功能设计
设备监控端的任务是获取能耗数据并判断该数据是否异常、上传数据包、执行通道启停控制指令,执行阈值参数设置指令等。由于需要在多任务之间对多个回路的用电设备进行统一的管理,在此构建一个16进制的unsigned int类型的数据包,便于存放各种参数。不同类型的数据和指令都以不同的Header标志作为传输的开始。当用户下发指令后,云服务器将指令通过移动数据网络下发到MCU中,MCU执行指令内容。其流程如图4所示。
图4 指令执行流程
设备监控端实时准备接收指令,接收指令后根据Header判断指令类型并校验设备的ID号,这样即使其他设备接收到该指令也不会响应,实现点对点通信的目的,避免错误执行。同时还要对数据本身进行校验,避免数据漏接或乱码。
2.4 容错性考虑
远程监控的主要风险在于网络连接不稳定及远程终端对设备监控端控制的不确定性。因此,设备端需要一套重连机制保证网络状况不佳时进行重新连接,并采取自动保护措施。
通过在设备监控端设定一个定时发送的心跳包检测通信链路是否正常。若发送心跳包后收不到云端的回应或者其他的通信消息时,设备端进行主动重连,重启移动数据网络通信模块后再次建立TCP连接。
节点的通信行为取决于数据链路层的资源调度,多路径传输的容错主要分为复制机制和重传机制[12]。为降低数据的冗余性和减少网络负载,本系统采用逐条重传(Hop-by-Hop,HbH)机制。需要传输的信息除了立即发送之外,还暂存于缓冲存储器中。若接收端解码出错,则对发送端发出一个重发指令,该指令控制发送端重新发送信息直至解码正确。
3 远程终端的设计与实现
本系统采用控制与应用分离模式。设备监控端由MCU统一控制并接收和执行控制指令,安全监控的相关逻辑则部署在云端服务器。远程终端包括云服务器软件和客户端,为使用方便,客户端还具有Web端、桌面客户端和手机APP三种。该系统具有可扩展功能,可设置256个区域,每个区域可连接256个设备监控端,每个设备监控端可测量12个回路的用电设备。
为方便管理数量庞大的设备监控端,系统为每一个设备监控端设定一个专属唯一ID号。读取MCU的ID地址,对此地址进行加密操作变成一个4 Byte的ID号。在客户端将这些设备添加到规定的区域中,方便不同权限的用户进行管理。
3.1 云服务器的部署
本系统采用阿里云服务器,云服务器软件是由JAVA语言编写的,采用Netty框架,其详细功能如图5所示。MCU通过TCP连到服务软件,服务软件接收数据,根据协议解析数据,将数据和每一个MCU的ID通道号保存和记录在MySQL数据库中,通过应用程序接口(Application Programming Interface, API)与客户端完成数据交互。
图5 云服务器软件功能
3.2 MQTT通信任务
在一般的物联网应用层协议中,消息队列遥测传输(Message Queuing Telemetry Transport, MQTT)协议以其简约、轻量、易于使用等优点被广泛应用于各物联网平台中。该协议构建于TCP/IP上,实现消息的发布/订阅模式,可提供一对多的消息发布,特别适用于嵌入式设备和高延迟、不可靠的网络环境,可以更好地实现多组设备与云端的集成。设备监控端采用Air 720搭载的移动数据网络模块作为通信设备,内置MQTT协议栈,主要由MCU通过AT指令对Air 720模块进行配置和数据包上传,其主要工作是将参数表中的数据包上传到云服务器,以及接收云服务器下发的指令,并传输到MCU中使其执行相应的操作。云服务软件和各个客户端的实时数据和指令交互也是通过MQTT交互的。
3.3 客户终端
用HTML5设计出该系统的Web程序,利用Web系统易扩展与客户端易维护的特点,通过Web程序管理数据库并提供API给手机APP和桌面客户端,桌面客户端能添加高级管理员(全系统全部权限含参数调整权限)、区域管理员(按设备地址区分,区域内除参数调整外的全部权限)、高级监控员(仅全系统全部查看、报警接收和故障切除权限)、区域监控员(仅区域内全部查看、报警接收和故障切除权限)、高级访问员(仅全系统全部查看、报警接收权限)、区域访问员(仅区域内全部查看、报警接收权限)等6类不同权限的用户,这6类用户均能在手机APP和桌面客户端登录。此处以桌面客户端和手机APP端为例,设计的页面及其功能如图6和图7所示。
图7 手机端操作页面
4 系统应用与测试
软硬件设计完成后,对系统进行测试以验证系统是否可达到预期的目标。为部署方便,选用两个区域的其中6个回路对该系统进行测试。测试设备如图8所示。
图8 测试设备
将监控设备正确安装到配电箱内且移动数据网络正常运行后,在回路中接入大功率用电设备,10 s后设备自动断电,桌面端弹出报警对话框并发出警报声。在回路中接入损坏的用电设备,系统仅弹出报警对话框并发出警报声。
经过现场测试试验,桌面端和手机端都能完成实时准确地查看各个区域每个设备的运行情况、控制用电设备启停、故障报警接收和查看历史统计数据等功能,达到了预期目的。
5 结 语
本文设计的基于云服务器的高铁客站用电设备安全监控系统实现了高铁客站庞大且复杂的用电设备的统一控制,解决了高铁客站信息化过程中用电设备安全管理以及远程控制等问题,提升了运维效率,减少了管理成本。现场试验结果表明,该安全监控系统设计可靠、运行稳定、有较强的实用性,在用电设备安全实时监控方面具有一定的应用推广前景。