一种基于MQTT协议的智能公厕设备交互方法及系统技术方案

技术编号:21167119 阅读:461 留言:0更新日期:2019-05-22 09:40
本发明专利技术公开了一种基于MQTT协议的智能公厕设备交互方法,通过信息采集卡对公厕设备所检测到的数据进行采集,并将检测数据以特定主题发布至MQTT服务器,同时将其上传至数据统计服务器。消息过滤器收到消息后,根据自定义匹配算法对消息进行过滤,并把过滤后的消息发布至MQTT代理。移动端订阅所需要的主题后,根据所收到的消息判断是否对公厕设备进行远程调试,并把调试信息再次通过MQTT服务器发送至公厕设备。本发明专利技术的数据交互方法,对公厕设备所产生的数据进行消息过滤,大大减少了无用消息的推送,使得通信过程更加灵活高效。

An Interactive Method and System of Intelligent Public Toilet Equipment Based on MQTT Protocol

The invention discloses an interactive method of intelligent public toilet equipment based on MQTT protocol, which collects the data detected by public toilet equipment through an information acquisition card, and publishes the detection data to the MQTT server with a specific subject, and uploads it to the data statistics server. After the message filter receives the message, it filters the message according to the custom matching algorithm, and publishes the filtered message to the MQTT agent. After subscribing to the required topics, the mobile terminal judges whether the public toilet equipment is remotely debugged according to the message received, and sends the debugging information to the public toilet equipment through the MQTT server again. The data interaction method of the present invention filters the data generated by public toilet equipment, greatly reduces the push of useless messages, and makes the communication process more flexible and efficient.

【技术实现步骤摘要】
一种基于MQTT协议的智能公厕设备交互方法及系统
本专利技术涉及物联网领域,特别涉及一种基于MQTT协议的智能公厕设备交互方法及系统。
技术介绍
物联网是指通RFID、红外感应器、GPS、激光扫描器等资讯传感设备,按约定的协议,把任何物品与互联网连接起来,进行资讯交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。随着互联网、物联网等技术的不断发展,物联网技术应用越来越广泛。在现有物联网应用中,终端设备的数量往往十分庞大,通信关系多呈网状拓扑结构,且大多采集数据具有小体量、高并发等特点。这就要求系统中的各个设备之间建立一种兼具动态性和低耦合性的交互机制。发布/订阅通信模型具有异步、多点通信的特点,使通信的参与者在空间、时间和控制流上完全解耦,能够很好地满足物联网系统松散通信的需求。MQTT是一种基于主题发布/订阅的轻量级消息传输协议,以其开销小、及时性好、可靠性高等优势在物联网系统中得到广泛应用。在MQTT基本结构中,订阅方只订阅自己感兴趣的主题而不去理解消息的内部结构,订阅方不能更细粒度地表达对部分内容的消息感兴趣,表达能力较弱,而消息代理会将该主题下所有的消息都推送给订阅方,会造成很多无用消息的推送,致使网络拥塞,增加服务器的负载和通信带宽。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种基于MQTT协议的智能公厕设备交互方法。本专利技术的另一目的在于提供一种基于MQTT协议的智能公厕设备交互系统。本专利技术的目的通过以下的技术方案实现:一种基于MQTT协议的智能公厕设备交互方法,包括以下步骤:S1、信息采集卡连接MQTT服务器,并对智能公厕设备在运行过程中所产生的实时数据进行采集;S2、信息采集卡把所采集的数据以自定义数据帧格式封装起来并以预定主题进行发布,同时用2/3/4G网络将其上传到数据统计服务器;S3、消息过滤器对发布方的消息进行拦截,对消息内容即数据帧进行解析,将其转换为JSON格式;S4、消息过滤器从数据库中提取映射表,并通过该映射表和自定义匹配算法对消息进行过滤,完成主题的转换,并把主题转换后的消息发布到MQTT消息代理;S5、管理员登录移动端应用,连接MQTT服务器,对所需要的主题进行订阅,收到订阅消息后,对数据进行分析和展示,由此判断是否进行远程调试。步骤S1中,所述信息采集卡为一种PLC,即可编程逻辑控制器,负责对安装于厕所上的采集设备所产生的数据进行采集;所述采集设备包括压力传感器、红外感应器、氨气检测仪、激光扫描仪;在采集完成后,信息采集卡对各种开关量、模拟量的实时数据进行A/D转换,形成相应的数字信号。步骤S2中,所述自定义数据帧由五个部分组成,分别为:SOF(帧头)、Length(Data的长度)、Data(有效数据部分)、CRC16(校验)、EOF(帧尾);其中,SOF含1字节,标记帧的开始;Length含2字节,用无符号整形表示,高位在前,低位在后;CRC16含2字节,用于表示校验Length部分和Data部分集合的结果;EOF含1字节,标记帧的结束。其结构如图1所示。步骤S3中,所述消息过滤器为一个部署在MQTT服务器上的MQTT客户端应用程序,其订阅的主题为信息采集卡最初发布消息的主题;在收到消息后,根据自定义匹配算法完成消息主题的转换,并发布至MQTT消息代理。其工作流程如图2所示。步骤S4中,所述数据库采用的是MySQL,里面包含一张以上的映射表;所述映射表含有topic和constraint-condition两个字段,记录了一系列约束条件与不同主题的映射。所述约束条件包含一个以上的谓词,而每个谓词由一个三元组所构成,分别为属性、值、操作符,用于对JSON数据中属性键值对的判断。步骤S4中,所述自定义匹配算法具体包括以下步骤:S41、根据约束条件构造一颗匹配树,根节点为约束条件的第一个谓词,左孩子为一个布尔值,代表比较结果,初始值为false;右孩子为下一个谓词;所有谓词的左孩子均为叶子结点;最后一个谓词所在的结点的右孩子为结束标记#;S42、以先序遍历扫描匹配树,依据消息内容将每个谓词的比较结果赋予其左孩子,若消息中没有该属性,则不进行赋值,直到遇到结束标记#;S43、再次以先序遍历扫描匹配树,记录该树中布尔值为true的个数,直到遇到结束标记#;若扫描到false,则直接停止扫描;S44、比较true的个数和消息内容中属性的个数,若相等,则匹配成功,并查找映射表中该约束条件所对应的主题,进行主题的转换,并把消息内容以转换后的主题进行发布;S45、若有多个约束条件,则构造多个匹配树,形成一个匹配森林;重复上述步骤,对每一个匹配树进行匹配。其中,在步骤S1中,所述信息采集卡还需订阅”调试”主题,以接收移动端发来的调试信息。步骤S5中,所述移动端包括Android、iOS设备,其订阅的主题包括“男厕”、“女厕”、“残卫”,还包括细粒度更小的主题;所述主题的消息均由信息采集卡所发布的消息经消息过滤器依据约束条件转化而来;其发布消息的主题即为”调试”,调试信息统一发布至该主题。本专利技术的另一目的通过以下的技术方案实现:一种基于MQTT协议的智能公厕设备交互系统,包括信息采集卡、MQTT服务器、数据统计服务器、消息过滤器、数据库;其中,信息采集卡连接MQTT服务器,并对智能公厕设备在运行过程中所产生的实时数据进行采集;信息采集卡把所采集的数据以自定义数据帧格式封装起来并以特定主题进行发布,同时用2/3/4G网络将其上传到数据统计服务器;消息过滤器对发布方的消息进行拦截,对消息内容即数据帧进行解析,将其转换为JSON格式;消息过滤器从数据库中提取映射表,并通过该映射表和自定义匹配算法对消息进行过滤,完成主题的转换,并把主题转换后的消息发布到MQTT消息代理;管理员登录移动端应用,连接MQTT服务器,对所需要的主题进行订阅,收到订阅消息后,对数据进行分析和展示,由此判断是否进行远程调试。本专利技术与现有技术相比,具有如下优点和有益效果:1、本专利技术所采用的通讯协议为MQTT协议,该协议适合工作在设备数量众多,设备计算能力较低,网络环境不稳定的一对多场景下,正好满足了智能公厕设备与多个移动端设备的交互需求。2、本专利技术的消息过滤方法可以使智能公厕交互系统不必受预定义主题的限制,使移动端可以订阅细粒度更小的主题,避免了无用消息的推送,提高通信效率。3、本专利技术的方法可以使不同的管理员在远程监测不同的厕所故障,能在第一时间发布调试信息以使智能公厕设备正常工作,节约了人力成本,且分工明确。附图说明图1为自定义数据帧示意图。图2为消息过滤器的工作流程图。图3为多个约束条件所构成的匹配森林的数据结构图。图4为根据所述约束条件和消息构造的匹配树。图5为根据所述约束条件和消息构造的匹配森林。图6为本专利技术所述一种基于MQTT协议的智能公厕设备交互系统的结构示意图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。一种基于MQTT协议的智能公厕设备交互方法,包括以下步骤:步骤1、根据公厕地点的具体情况,正确合理地部署安装信息采集卡和智能公厕设备,使各设备工作正常,并保证4G网络信号良好,通信畅通。步骤2、信息采集卡连接MQTT服本文档来自技高网...

【技术保护点】
1.一种基于MQTT协议的智能公厕设备交互方法,其特征在于,包括以下步骤:S1、信息采集卡连接MQTT服务器,并对智能公厕设备在运行过程中所产生的实时数据进行采集;S2、信息采集卡把所采集的数据以自定义数据帧格式封装起来并以预定主题进行发布,同时用2/3/4G网络将其上传到数据统计服务器;S3、消息过滤器对发布方的消息进行拦截,对消息内容即数据帧进行解析,将其转换为JSON格式;S4、消息过滤器从数据库中提取映射表,并通过该映射表和自定义匹配算法对消息进行过滤,完成主题的转换,并把主题转换后的消息发布到MQTT消息代理;S5、管理员登录移动端应用,连接MQTT服务器,对所需要的主题进行订阅,收到订阅消息后,对数据进行分析和展示,由此判断是否进行远程调试。

【技术特征摘要】
1.一种基于MQTT协议的智能公厕设备交互方法,其特征在于,包括以下步骤:S1、信息采集卡连接MQTT服务器,并对智能公厕设备在运行过程中所产生的实时数据进行采集;S2、信息采集卡把所采集的数据以自定义数据帧格式封装起来并以预定主题进行发布,同时用2/3/4G网络将其上传到数据统计服务器;S3、消息过滤器对发布方的消息进行拦截,对消息内容即数据帧进行解析,将其转换为JSON格式;S4、消息过滤器从数据库中提取映射表,并通过该映射表和自定义匹配算法对消息进行过滤,完成主题的转换,并把主题转换后的消息发布到MQTT消息代理;S5、管理员登录移动端应用,连接MQTT服务器,对所需要的主题进行订阅,收到订阅消息后,对数据进行分析和展示,由此判断是否进行远程调试。2.根据权利要求1所述基于MQTT协议的智能公厕设备交互方法,其特征在于,步骤S1中,所述信息采集卡为PLC,负责对安装于厕所上的采集设备所产生的数据进行采集;所述采集设备包括压力传感器、红外感应器、氨气检测仪、激光扫描仪;在采集完成后,信息采集卡对各种开关量、模拟量的实时数据进行A/D转换,形成相应的数字信号。3.根据权利要求1所述基于MQTT协议的智能公厕设备交互方法,其特征在于,步骤S2中,所述自定义数据帧由五个部分组成,分别为:SOF、Length、Data、CRC16、EOF;其中,SOF含1字节,标记帧的开始;Length含2字节,用无符号整形表示,高位在前,低位在后;CRC16含2字节,用于表示校验Length部分和Data部分集合的结果;EOF含1字节,标记帧的结束。4.根据权利要求1所述基于MQTT协议的智能公厕设备交互方法,其特征在于,步骤S3中,所述消息过滤器为一个部署在MQTT服务器上的MQTT客户端应用程序,其订阅的主题为信息采集卡最初发布消息的主题;在收到消息后,根据自定义匹配算法完成消息主题的转换,并发布至MQTT消息代理。5.根据权利要求1所述基于MQTT协议的智能公厕设备交互方法,其特征在于,步骤S4中,所述数据库采用的是MySQL,里面包含一张以上的映射表;所述映射表含有topic和constraint-condition两个字段,记录了一系列约束条件与不同主题的映射。6.根据权利要求5所述基于MQTT协议的智能公厕设备交互方法,其特征在于,所述约束条件包含...

【专利技术属性】
技术研发人员:陆璐欧阳鹏
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1