APP下载

基于前后端分离技术的三维电气火灾预警系统

2021-11-22吕银华肖天华干兴园

物联网技术 2021年11期
关键词:以太网隐患电气

吕银华,肖天华,干兴园,张

(1.浙江中辰城市应急服务管理有限公司,浙江 杭州 310030;2.杭州电子科技大学,浙江 杭州 310053)

0 引 言

随着我国经济水平的提高,个体和私营经济逐渐成为推动经济社会发展的重要力量[1],但有些企业为了节约生产成本,将住宿、生产、经营等功能混合在一起。这种场所面积小、成本低、经营方式灵活,但火灾隐患十分突出[2],如建筑物耐火等级不高、电气线路私拉乱接、生产生活设备较多且功率较高,极易发生火灾。这也使得人们开始关注电气火灾预警系统。然而,传统的电气火灾预警系统仅检测导线温度和剩余电流的大小,忽略了电气线路过载带来的火灾隐患。同时电气火灾客户终端仅能显示监测数据,难以及时和准确地反映电气火灾隐患发生的位置,用户无法通过客户端远程关闭电源总开关来防止电气火灾的发生;而且传统的电气火灾监控终端使用C/S架构模式,需要为不同的操作系统开发不同的客户端,会使代码冗杂、可读性和可维护性下降。文献[3]提出了采用建筑设计图的方式监控,发生火灾隐患时根据传感器的编号信息在2D总览图中标红,解决了传统客户端无法反映火灾隐患发生位置的问题。但是对于大多数人来说,建筑设计图晦涩难懂,提高了软件使用的门槛。考虑到上述问题,本文提出了一种基于前后端分离技术的三维电气火灾预警系统,即通过前后端分离技术将前端和后端分别部署在不同的服务器上,前端通过WebGL技术实时在浏览器中渲染3D画面,后端再通过Ajax技术从服务器获取数据显示在HTML上,运行效率得到大幅提高。用户无需安装客户端程序就可以通过浏览器实时监控当前各个区域电流、电压、剩余电流等用电数据信息;当发生电气火灾隐患时,用户可以在3D可视化界面中定位电气隐患位置并远程关闭电源总开关,大大降低电气火灾隐患预警和处理的难度,给人们预防电气火灾的发生带来极大的便利。

1 系统整体方案

电气火灾预警系统主要由电气火灾监控终端、以太网通信模块、服务器端和监控平台这四个部分组成[4]。

电气火灾监控终端通过传感器采集用电安全原始数据,并实时处理采集到的数据,然后将处理好的数据发送给以太网通信模块。以太网通信模块通过网络将数据包上传到后端服务器[5]。后端服务器收到数据包后进行解析,并将解析后的用电安全数据按照类别和日期存入数据库,实时刷新数据库中的数据,并保留历史数据,方便用户查看过去的用电安全信息;同时进行数据处理,分析潜在的火灾隐患,发现隐患及时推送到监控平台。监控平台通过HTTP协议JSON格式的方式实时读取后端服务器传来的用电安全数据,并将用电安全数据实时渲染到3D场景上,方便用户及时查看[6]。监控平台若收到火灾隐患信息,则及时报警,提醒工作人员及时处理,将电气火灾消灭在萌芽之中。图1为电气火灾预警系统的整体架构。

图1 电气火灾预警系统架构图

2 硬件设计

电气火灾监控终端由电源模块、探测器主控制器模块、传感器模块、485通信模块、以太网通信模块、存储模块、继电器控制模块这7个部分组成[7]。电气火灾监控终端的硬件框图如图2所示。

图2 电气火灾监控终端硬件框图

2.1 探测器主控制器模块

本系统的主控芯片采用的是ST(意法半导体)公司的STM32F407ZGT6芯片。它是一款基于ARM Cortex-M内核的32位微处理器[8],存储器容量高达192 KB,工作温度-40~85 ℃,主时钟频率最高可达168 MHz,满足本系统的运算需要。

2.2 传感器模块

为了提高电气火灾预警的准确性,本系统在传统预警系统用到的温度和剩余电流传感器的基础上,增加了3种传感器,分别为:电流传感器、电压传感器、功率传感器。

2.2.1 电流传感器

电流传感器是可以用来侦测导线内电流的装置,并且产生与电流成比例的电压信号[9]。本系统使用的是开环式霍尔电流传感器。霍尔电流传感器测量电流无需断开电路,套在线路外面即可测出电流大小,使用方便、安全。

2.2.2 电压传感器

电压传感器是指能够检测被测电压并转换成可用输出信号的传感器。本系统使用的是霍尔电压传感器。

2.2.3 功率传感器

功率传感器是一种能将被测有功功率和无功功率转换成直流电流或电压输出的仪器。本系统使用功率传感器来测量电气线路总线上的有功功率和无功功率值。当功率超过线路可承受最大功率时,发出火灾隐患预警,提醒用户关闭同时使用的大功率用电器。

2.3 通信模块

本系统需要用到两个通信模块,分别为RS 485通信模块和以太网通信模块。

2.3.1 RS 485通信模块

RS 485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,在远距离通信上应用最为广泛[10]。本系统使用RS 485传感器数据采集模块与各种传感器相连,将采集到的数据转化成RS 485协议数据,再通过RS 485总线传输到主控芯片进行解析。

RS 485总线传输距离远且抗干扰能力强,而且只需要一个RS 485端口,就可以监控多个传感器的模拟信号,适合用于火灾监控领域。

2.3.2 以太网通信模块

为了保证传感器信号响应速度,本系统采用以太网传输模式进行传输。以太网通信模块由以太网芯片W5500、网络变压器HY601680和RJ 45模块组成[11]。W5500通过SPI(外设串行接口)方式与主控制器进行通信,实时接收传感器数据。W5500通过网络变压器HY601680与RJ 45模块相连,将从主控制器接收到的传感器数据通过网络传输到服务器主机上,进行数据解包和火灾预警。

2.4 存储模块

本系统分别采用AT24C256芯片和W25Q256FVFIG芯片作为E2PROM存储器和FLASH存储器。其中,E2PROM存储器用来存储主控制器和传感器的参数信息,包括每条485总线的设备地址和通信参数等。FLASH存储器用来作为主控制器的数据缓冲区,接收传感器采集的实时数据并保存起来,等待下一步发送。

2.5 电源模块

电源是整个系统最重要的部分,电源模块的好坏直接决定系统能否正常工作,稍有不慎就会烧毁芯片和传感器,甚至电源模块爆炸起火,造成巨大损失。为了保证系统供电稳定,本系统采用海凌科电子有限公司的稳压AC-DC电源模块HLK-PM01。该模块采用220 V交流电供电,通过内部变压器降压,整流输出5 V直流电压,再通过LDO(低压差线性稳压器)电路降压至3.3 V,为主控制器和其他芯片提供稳定的工作电压。

2.6 继电器控制模块

继电器是一种电子控制器件,通常用于自动控制电路中,是利用低电压、弱电流电路间接地控制高电压、强电流电路的一种开关[12]。传统的电气火灾预警系统无法通过上位机直接切断电气隐患位置的电源。本系统为了解决这个问题,采用网络继电器控制模块,通过WiFi与服务器相连,远程控制设备电源的通断。当发生电气火灾隐患时,用户可以通过监控平台直接切断设备电源,方便用户及时处理,有效避免火灾的发生。

3 软件设计

电气火灾预警系统的软件设计由主控制器程序设计和电气火灾监控平台设计这两部分组成。其中,主控制器程序以C++语言作为开发语言,通过Keil编程实现传感器和控制器的各部分功能。电气火灾监控平台分为前端部分和后端部分,前端部分在ThingJS在线开发平台上使用JavaScript进行设计,后端部分使用Spring Boot框架来做服务端,并使用MySQL实现数据库读写和调用,最后使用Vue和Element-UI框架实现电气火灾监控管理后台。

3.1 主控制器程序设计

主控制器程序的设计思路是根据不同模块的功能单独设计各个模块,并封装成子函数,供主函数调用来实现系统各部分功能。主控制器程序工作流程如下。

3.1.1 系统初始化

系统上电后,首先初始化定时器、SPI、FLASH、E2PROM、485总线模块、以太网模块等。然后从E2PROM存储器中读取设备IP地址、传感器类型、传感器数量、传感器校准值等系统参数,为系统正常运行做好准备。

3.1.2 传感器数据采集

根据不同传感器485总线地址的不同,主控制器依序向各个传感器发送数据查询指令,传感器的中断程序接收到数据查询指令后,向主控制器发送当前传感器数据。通过这样的方式,主控制器就可以完成传感器数据采集,进入数据处理阶段。

3.1.3 传感器数据处理

传感器数据采集部分往往会遇到信号干扰的情况,因此系统将对采集的传感器数据进行处理。系统将每10个传感器数据采样值进行冒泡排序,去掉最大和最小值,排除干扰,然后取平均,存入FLASH存储器中,等待下一步上传。

3.1.4 传感器数据上传

主控制器通过以太网控制器W5500与服务器进行通信。主控制器通过SPI总线与W5500模块相连。当需要发送数据时,主控制器将待发送的数据写入到W5500的发送缓冲区,执行待发送命令,将数据通过RJ 45模块上传至服务器中,完成数据上传过程[13]。系统主控制器程序流程如图3所示。

图3 系统主控制器程序流程

3.2 电气火灾监控平台设计

3.2.1 前端功能设计

电气火灾监控平台前端部分主要实现用电安全信息监控,可实时显示各区域的电流、电压、剩余电流、导线温度及总线功率值,实时渲染3D画面,并提供总线开关,便于工作人员准确定位火灾隐患发生的位置并及时切断电路。

本文采用物联网可视化PaaS开发平台ThingJS,使用当今最热门的JavaScript语言进行开发。ThingJS平台轻松集成3D可视化界面,极大地降低了3D界面开发的成本[14]。ThingJS基于HTML5和WebGL技术,可以很方便地在主流浏览器上进行浏览和调试,同时支持PC和移动设备,具有较好的兼容性[15]。

电气火灾监控平台使用CamBuilder客户端完成火灾监控区域3D场景的搭建,并将场景导出上传至ThingJS平台,进行在线开发。在ThingJS平台上,首先加载上传的场景文件,代码如下:

其中url为场景的地址。然后在监控区域设置物体顶牌UIAnchor。UIAnchor将显示各个监测点的电流、电压、剩余电流等监控数据并“挂接”到3D监控区域上,使之随物体移动,代码如下:

本系统使用WebSocket协议进行数据对接,并与UIAnchor面板进行数据绑定,代码如下:

同时增加总开关按钮,通过WebSocket协议远程控制网络继电器模块的通断。当平台接收到报警信息时,将对应监测点标红,并触发alert()弹窗,提醒用户及时处理,代码如下:

3.2.2 后端功能设计

电气火灾监控平台后端部分使用Spring Boot框架进行开发,通过以太网通信方式与主控制器进行数据交互,接收主控制器发来的传感器数据,汇总信息并存入MySQL数据库中。同时服务器端还会将接收到的传感器数据与数据库中存储的阈值进行比较,一旦传感器数据大于阈值,则计数器加1;如果传感器数据连续5次均超过阈值,则记录报警信息,同时将传感器数据和报警信息推送到前端。数据库还包括用户表,用于存放用户ID、密码及管理员账号信息。

3.2.3 服务器部署

前端部分在线开发完成后,下载ThingJS离线部署包,部署到1号服务器运行。后端部分部署到2号服务器,启动Spring Boot应用。前端部分通过axios请求后端接口,代码如下:

请求成功后即可将数据动态加载到页面。ThingJS和Spring Boot应用数据交互流程如图4所示。

图4 ThingJS和Spring Boot应用数据交互流程

4 系统测试与应用

为了验证本系统方案能否满足实际生产生活需要,能否有效预防电气火灾事故的发生,本章进行系统性能测试。选用高精度交流电源、电水壶和电吹风等试验装置测试本平台用电安全监控和报警功能能否正常工作,试验平台如图5所示。将各试验装置与本系统各个传感器相连,首先模拟系统正常运行的情况,电气火灾预警平台会显示各个区域的用电安全信息及电源总开关,平台左上角可以隐藏监控面板,如图6所示。

图5 电气火灾试验平台

图6 电气火灾监控平台

调节交流电源的电流旋钮,使输出电流为50 A,模拟发生线路过载的情况。如图7所示,隐患所在区域会变成红色,同时警报响起,监控面板显示火灾隐患类型,提醒用户及时处理。

图7 发生火灾隐患时的监控平台

以管理员身份登录电气火灾监控管理后台,可查看电气运行异常日志、操作日志、服务器性能监控及用户账号管理,电气火灾监控管理后台如图8所示。

图8 电气火灾监控管理后台

5 结 语

基于前后端分离技术的三维电气火灾预警系统,提高了系统开发效率,并且利用物联网技术实现了对可能引发电气火灾的电流、电压、温度、剩余电流、功率等数据进行实时采集和数据分析;在3D可视化界面上实现了用电安全信息的远程实时监控和电气火灾隐患的实时预警,精确定位火灾隐患的位置,将电气火灾消灭在萌芽之中,保护了人民的生命财产安全,具有较大的现实意义和应用价值。

猜你喜欢

以太网隐患电气
隐患随手拍
隐患随手拍
八方电气
互联网安全隐患知多少?
隐患随手拍
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
谈实时以太网EtherCAT技术在变电站自动化中的应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
小议我国电气自动化的未来发展趋势