基于MQTT的智能家电设备控制系统技术方案

技术编号:14595450 阅读:174 留言:0更新日期:2017-02-09 00:09
本发明专利技术涉及网络通信领域,公开了一种基于MQTT的智能家电设备控制系统,当设备端掉线,及时发现掉线的情况,保证数据不被重复发送。它包括设备端、控制端、代理服务器;代理服务器通过MQTT与设备端、控制端连接;设备端订阅的主题为控制端发布的主题,设备端发布的主题为控制端订阅的主题;当设备端意外掉线时,根据MQTT协议本身的遗愿机制,控制端可以从代理服务器收到一个事先设定好的消息,控制端可以通过此消息检查设备端离线;当设备端意外掉线,设备端可以通过与代理服务器的心跳知道自己与服务器断开了连接。本发明专利技术适用于智能家电的通信传输。

Control system of intelligent household appliances based on MQTT

The invention relates to the field of network communication, and discloses a control system of an intelligent home appliance based on MQTT. When the device is off the line, the connection is found out in time to ensure that the data is not transmitted repeatedly. It includes the device, control terminal, proxy server; a proxy server to connect through MQTT and terminal equipment, terminal equipment control; end subscription theme for the release of the control end theme, the theme for the release device control terminal subscription subject; when the equipment end accidents dropped, according to the wishes of MQTT protocol itself, control terminal you can receive a preset message from the proxy server, control terminal through this message check device off-line; when the equipment end equipment accidents dropped, and the proxy server can end through the heart know their connection with the server disconnected. The invention is applicable to the communication and transmission of intelligent household appliances.

【技术实现步骤摘要】

本专利技术涉及网络通信技术,特别涉及基于MQTT的智能家电设备控制系统。
技术介绍
MQTT是一个开源的轻量级基于代理的发布/订阅的消息传输协议,它可以通过很少的代码和带宽与设备连接。MQTT的传输格式非常精小,且无应用消息头,可以保证消息传递的可靠性,包括三种不同的服务质量(最多只传一次、最少被传一次、一次且只传一次)。如果客户端(设备端或控制端)意外断线,可以使用“遗愿”发布一条消息。目前设备端的控制通信大多是通过TCP或是UDP协议。设备端监听连接,控制端主动发送广播或组播。当设备端监测到有连接时建立连接并发送信息通知控制端上线。控制端接收到设备上线信息后发送控制指令,设备端读取数据,把数据解析成控制指令并完成相应的控制命令。这种传统的控制通信模式存在很多问题,如在网络不稳定的情况下,如何保证数据传输没有问题,如何保证数据不被重复发送,连接断开后如何快速进行重连。
技术实现思路
本专利技术要解决的技术问题是:提供一种基于MQTT的智能家电设备控制系统,当设备端掉线,及时发现掉线的情况,保证数据不被重复发送。为解决上述问题,本专利技术采用的技术方案是:基于MQTT的智能家电设备控制系统,包括设备端、控制端、代理服务器;代理服务器通过MQTT与设备端、控制端连接;设备端和控制端既是订阅者也是发布者,且,设备端以自身的SN号加固定前缀作为主题订阅和发布的消息,控制端以关注设备的SN号加固定前缀作为主题订阅和发布的消息;设备端订阅的主题为控制端发布的主题,设备端发布的主题为控制端订阅的主题;代理服务器根据设备端对应的订阅主题自动推送控制命令到相应的设备端;当设备端发布状态变化信息到代理服务器后,代理服务器根据控制端的订阅主题自动推送该信息到对应的控制端;当设备端意外掉线时,根据MQTT协议本身的遗愿机制,控制端可以从代理服务器收到一个事先设定好的消息,控制端可以通过此消息检查设备端离线。进一步的,当设备端意外掉线,设备端可以通过与代理服务器的心跳知道自己与服务器断开了连接。进一步的,当设备端连接上代理服务器后,发布一个关于设备上线的消息到代理服务器;当关注的设备连接上代理服务器后,控制端会从代理服务器收到一个关注设备发布的关于设备上线的消息。进一步的,控制端定阅的主题为多个,控制端能够发现及监控多个设备的状态。进一步的,设备端定阅的主题为多个,设备端能够被多个控制端控制。本专利技术的有益效果是:开发人员在使用MQTT协议过程中,不必要对MQTT的协议及接口进行详细了解,节省了开发时间,提高了开发效率;避免了使用传统TCP/IP协议通信时网络不稳定数据传输不可靠的问题;统一了智能家电设备的协议使用,避免了使用过程中可能出现的问题;避免了设备端带宽利用率低,耗电量高的问题。附图说明图1为本专利技术的流程示意图。具体实施方式以下结合附图对本专利技术的技术方案作进一步详细阐述。如图1所示,本例中设备端和控制端均通过MQTT连接到代理服务器。本例中设备端为智能家电,它以固定前缀加本设备的SN号作为要订阅和发布的主题;控制端则以固定的前缀加需要关注的设备的SN号作为订阅和发布的主题。设备端订阅的主题为控制端发布的主题,设备端发布的主题为控制端订阅的主题,两两对应。这样控制端发布控制指令到代理服务器后,代理服务器就会根据设备端对应的订阅主题自动推送控制命令到相应的设备端;当设备端发布状态变化信息到代理服务器后,服务器会根据控制端的订阅主题自动推送该信息到对应的控制端。设备端连接上代理服务器后会发布一条关于设备上线的消息到服务器,当控制端连接上服务器后,因为控制端订阅了关注设备的主题所以服务器会自动推送设备上线的消息到控制端,这样控制端就检测到了设备上线,控制端就可以发送控制指令。当设备端需要向控制端发送设备的相关状态时,直接发布相关状态信息到服务器,服务器根据订阅的主题自动推送该状态信息到相应的控制端。因为多个控制端可以订阅相同的主题,所以多个控制端都会接收到该状态信息。当设备端意外和服务器断开时,根据MQTT的“遗愿”机制服务器推送一条事先设定好的消息到相应的控制端,这样控制端就可以利用这条消息快速地检测到设备端断线。本实施例的具体操作流程如下:步骤一、设备启动时通过MQTT连接到代理服务器;步骤二、设备端以设备的SN号加固定前缀为主题向服务器订阅和发布消息,并且发布一条关于自己上线的消息到服务器;步骤三、控制端启动时通过MQTT连接到代理服务器;步骤四、控制端以要控制的设备SN号加固定前缀为主题向服务器订阅和发布消息,当控制端连接上服务器后会接收到服务器推送的设备上线的信息,发现设备上线;步骤五、控制端发布控制命令到服务器;步骤六、设备端接收到服务器推送的控制端控制命令;当设备端需要向控制端发送设备的相关状态时,直接发布相关状态信息到服务器,服务器根据订阅的主题自动推送该状态信息到相应的控制端;因为多个控制端可以订阅相同的主题,所以多个控制端都会接收到该状态信息;步骤七、当设备端意外和服务器断开时,根据MQTT的“遗愿”机制服务器推送一条事先设定好的消息到相应的控制端,这样控制端就可以利用这条消息快速地检测到设备端断线,及时发现掉线的情况;同时,设备端可以通过与代理服务器的“心跳”知道自己与服务器断开了连接。之后,待设备端重新连接到代理服务器,设备端发布一条关于自己上线的消息到服务器后,控制端发现设备上线,控制端与设备端可以继续传输未完成的信息内容,保证数据不被重复发送本专利技术通过制定特殊的订阅/发布规则,实现了智能家电设备和控制端的通信。同时依据MQTT协议本身的特点解决了在网络不好的情况下数据传输不能保证的问题,设备端带宽占用高,耗电高的问题以及设备意外掉线自动从新连接的问题。以上描述了本专利技术的基本原理和主要的特征,说明书的描述只是说明本专利技术的原理,在不脱离本专利技术精神和范围的前提下,本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本文档来自技高网...

【技术保护点】
基于MQTT的智能家电设备控制系统,其特征在于,包括设备端、控制端、代理服务器;代理服务器通过MQTT与设备端、控制端连接;设备端和控制端既是订阅者也是发布者,且,设备端以自身的SN号加固定前缀作为主题订阅和发布的消息,控制端以关注设备的SN号加固定前缀作为主题订阅和发布的消息;设备端订阅的主题为控制端发布的主题,设备端发布的主题为控制端订阅的主题;代理服务器根据设备端对应的订阅主题自动推送控制命令到相应的设备端;当设备端发布状态变化信息到代理服务器后,代理服务器根据控制端的订阅主题自动推送该信息到对应的控制端;当设备端意外掉线时,根据MQTT协议本身的遗愿机制,控制端可以从代理服务器收到一个事先设定好的消息,控制端可以通过此消息检查设备端离线。

【技术特征摘要】
1.基于MQTT的智能家电设备控制系统,其特征在于,包括设备端、控制端、代理服务器;代理服务器通过MQTT与设备端、控制端连接;设备端和控制端既是订阅者也是发布者,且,设备端以自身的SN号加固定前缀作为主题订阅和发布的消息,控制端以关注设备的SN号加固定前缀作为主题订阅和发布的消息;设备端订阅的主题为控制端发布的主题,设备端发布的主题为控制端订阅的主题;代理服务器根据设备端对应的订阅主题自动推送控制命令到相应的设备端;当设备端发布状态变化信息到代理服务器后,代理服务器根据控制端的订阅主题自动推送该信息到对应的控制端;当设备端意外掉线时,根据MQTT协议本身的遗愿机制,控制端可以从代理服务器收到一个事先设定好的消息,控制端可以通过此消息检...

【专利技术属性】
技术研发人员:袁伟邓宏唐龙
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

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

1