1、 引言
目前物业水房管理主要是对水泵设备的维护管理。水泵的诸多故障中,漏水故障如果不及时处置,可能会影响到小区其他区域和设备的安全,因此对于水泵漏水故障需要尽早发现和处置。当前传统的工作方式是采用人工定时巡查水房,人力耗费大且不能及时发现漏水故障。
本系统采用水浸传感器,对地面干湿状态进行检测并定时上报检测数据,节省了人工巡查的工时。然而基于TCP/IP背景下的HTTP功能繁杂,并不适用于能耗比较低的嵌入式系统中,MQTT协议凭借低功耗、高效率等优势,更适合应用在物联网系统中。
2、 MQTT协议概述
MQTT即Message Queuing Telemetry Transport 的简写形式,中文含义是消息队列遥测传输,是基于IBM开发下形成的一种即时通信协议。MQTT协议应用在各个平台中,能够将各个联网设备与外部系统充分连接,给物联网的发展提供了支持[1]。
MQTT协议具有功耗低、开放性好、轻量级及简单易于实现的优点。MQTT协议设计的设计原则是以最小化网络宽带和设备资源,保证系统稳定和可靠。它作为一种比较简便且轻量的信息传输协议,专门是给受限设备、低宽带的网络设计的,即使在资源有限的环境中也可以使用,这对于物联网而言是最佳的选择对象[2]。
MQTT消息订阅的推送方式,比客户端拉取消息的方式,缩短了响应时间,提高了工作效率[3] 。
3、 系统设计与实现
水浸传感器定时检测地面干湿状态,并把检测数据通过MQTT通信协议发送到上层应用系统,应用系统对数据进行分析,当发现干湿状态是湿的时候,表示发生漏水故障。应用系统通过发送手机短信或者APP通知的方式通知维修人员。
维修人员收到通知,上门进行检修设备。水房安装的门磁传感器记录维修人员进入水房和离开水房的时间,并把数据上报给应用系统进行记录。物业管理人员可以结合水浸检测数据和门磁检测数据,对维修及时性进行监督,提高水房管理水平。
传感器上报数据格式:
(1)水浸传感器
{"devEUI":"ffffff100002d330","fport":36,"fCnt":598,"loRaSNR":9,"rssi":-3,"payload":"{"batteryVoltage":3.6,"batteryVoltageState":"normal","dryState":"normal","wetState":"normal"}"}
(2)门磁传感器
{"devEUI":"ffffff10000fd429","fport":48,"fCnt":541,"loRaSNR":10.8,"rssi":-24,"payload":"{"batteryVoltage":2.9,"doorMagnetState":"close","frameType":1,"sensorType":8,"tamperState":"no"}"}
传感器上报数据中,除了检测数据,还携带自身电池电压数据,对传感器及时更换电池,维持其正常工作状态,提供了很大的便利。
4、 数据库表设计
本系统数据库采用MySQL数据库,数据库引擎采用InnoDB。InnoDB引擎由于对并发更新数据和事务的良好支持,被广泛应用于各类web系统[4]。数据表保存了系统运行中接收到的检测数据、水浸告警数据、维护人员数据等。主要数据表如下:
5、 结束语
经过数月的应用,以及对传感器心跳数据中电池状态的观察,MQTT协议适应于低功耗的嵌入式系统。本系统通过接收解析水浸传感器检测数据,及时通知维修人员漏水故障,释放了巡查人力,提高了物业工作效率和管理水平。
[参考文献]
[1] 刘佳.基于MQTT协议的城市水务物联网监控系统设计[J].物联网技术,2019,9(06):14-16+19.
[2] 郭力,胡伟,张政成.试析MQTT 协议在物联网中的应用[J].电脑知识与技术,2019(10):31.
[3] 梅蕊.跨服务器消息发布与推送机制的研究[D].武汉:华中科技大学,2011.
[4] 罗凡,裴⼠辉,张雪松,等.MySQL中InnoDB引擎的动态存储管理[J].东北师⼤学报(⾃然科学版),2019,38(1).