CN114172947B - 一种物联网设备间的通讯方法及装置 - Google Patents
一种物联网设备间的通讯方法及装置 Download PDFInfo
- Publication number
- CN114172947B CN114172947B CN202111499172.4A CN202111499172A CN114172947B CN 114172947 B CN114172947 B CN 114172947B CN 202111499172 A CN202111499172 A CN 202111499172A CN 114172947 B CN114172947 B CN 114172947B
- Authority
- CN
- China
- Prior art keywords
- message
- mqtt
- theme
- equipment
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004891 communication Methods 0.000 title claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 35
- 208000033748 Device issues Diseases 0.000 claims abstract description 16
- 230000008520 organization Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 abstract description 14
- 230000001960 triggered effect Effects 0.000 abstract description 3
- 239000010410 layer Substances 0.000 description 61
- 238000001816 cooling Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及物联网技术领域,本发明提供一种物联网设备间的通讯方法及装置,所述方法包括:设置设备发布消息时所使用的MQTT主题模板;设置设备订阅其下层设备发出的消息所使用的MQTT上层主题过滤器;设置作为触发源的设备订阅其上层设备发出的消息使用的MQTT下层主题过滤器;设备在连接到MQTT服务器后,使用MQTT上层主题过滤器进行消息的订阅;设备在发布联动消息前,使用MQTT下层主题过滤器进行消息的订阅;设备在发布联动消息时,使用MQTT主题模板生成主题,之后再发布消息,使得各层设备能够方便地订阅到它所触发的上级各层设备在联动过程中发出的相关消息,从而进行相应动作,以适应更广泛的物联网应用场景。
Description
技术领域
本发明涉及物联网技术领域,特别涉及一种物联网设备间的通讯方法及装置。
背景技术
随着5G时代的来临,万物互联的伟大构想正在成为现实;其中,“物”的载体是设备,万物之间的信息传递是通过设备之间的通讯来完成。
发布/订阅模式作为一种设备之间的通讯方式,正在为越来越多的物联设备所采用。在发布/订阅模式下,一个设备接收到另一个设备发送的消息的流程为:首先双方要约定消息主题,然后一方订阅该消息主题,接着另一方向该消息主题发送消息,此时另一方就会接收到此消息,从而实现设备之间的通讯。
在众多基于发布/订阅模式的物联网通信协议中,MQTT协议凭借其简单易实现、支持QoS以及报文小等特点,正在成为主流的物联设备通讯协议。
在MQTT协议中,消息主题名可以按层级进行组织,例如:我的家/客厅/温度或myHome/livingroom/temperature;设备订阅消息主题时,可以通过包含通配符的主题过滤器来一次性订阅所有符合通配规则的消息主题的消息,例如:用“+”号来进行单层匹配,“我的家/+/温度”可以匹配到:我的家/卧室/温度、我的家/厨房/温度、我的家/卧室/温度等;或者用“#”号来进行多层匹配,“我的家/#”可以匹配到:我的家/客厅/温度、我的家/卧室/温度、我的家/厨房/温度、我的家/客厅/湿度、我的家/卧室/湿度、我的家/厨房/湿度等。
在物联网的应用场景中,设备按层级进行组织,并进行联动是比较常见的,例如:客厅的测温设备触发高温告警,联动客厅内的空调自动唤醒降温,而当测温设备触发高温告警取消,又会联动客厅内的空调自动休眠;
在这种应用场景中,现有的实现这种联动的技术方案是:各层设备在初始化时,人为设定其所在层的路径;设定完毕后,设备就会使用主题过滤器“/设备所在层路径/#”来订阅其下层设备发来的对应消息主题的消息;各层设备在发布消息时,对应的消息主题应以“/设备所在层路径”开头,这样上层设备就能通过上述主题过滤器(/设备所在层路径/#)通配地订阅到所有下层设备的消息,从而根据下层设备的消息进行相应的联动,达到下层设备联动上层设备的需求(如上述的测温设备高温告警联动空调设备唤醒降温)。
这种技术方案的优点是:各层设备只需关注自己的功能实现,并由上层设备按照业务需求进行联动,而各层设备按照业务需求进行联动同样也只需关注自己的功能实现,无需依赖其他设备的接口,从而整个系统是高内聚低耦合的,大大简化了设备的接入并提高了系统的可扩展性。
但是上述技术方案的局限在于:虽然上层设备可以很方便地通过主题过滤器“/设备所在层路径/#”来订阅其下层设备发到对应主题的消息、从而进行相应动作,但是下层设备却没有那么方便地能通过一个主题过滤器来订阅上层设备的联动过程消息、从而进行相应动作,例如:扩展一下上述的应用场景:客厅的测温设备触发高温告警并显示“温度过高”,联动了客厅内的空调自动唤醒降温,而当空调设备开始降温时,测温设备应显示“温度过高,正在进行降温”(后续联动略)。
也就是说,要使测温设备的提示更加智能友好,它就需要跟踪它所发出的消息的联动情况,即下层设备需要订阅上层设备在联动过程中发出的消息(如空调“降温中”的消息),从而进行相应动作(如显示从“温度过高”转变为“温度过高,正在进行降温”),以提高整个物联网系统的智能度和友好度。而上述的现有技术方案就不足以支撑其实现了,因为它不能为下层设备提供一个主题过滤器来订阅上层设备的联动过消息。
发明内容
本发明要解决的技术问题,在于提供一种物联网设备间的通讯方法及装置,设计一套消息主题模板和主题过滤器,使得各层设备能够方便地订阅到它所触发的上级各层设备在联动过程中发出的相关消息,从而进行相应动作,以适应更广泛的物联网应用场景,包括但不限于更智能和友好地进行数据表示。
第一方面,本发明提供了一种物联网设备间的通讯方法,包括:
步骤1、设置设备发布消息时所使用的MQTT主题模板;设置设备订阅其下层设备发出的消息所使用的MQTT上层主题过滤器;设置作为触发源的设备订阅其上层设备发出的消息使用的MQTT下层主题过滤器;
步骤2、设备在连接到MQTT服务器后,使用MQTT上层主题过滤器进行消息的订阅;
设备在发布联动消息前,使用MQTT下层主题过滤器进行消息的订阅;
设备在发布联动消息时,使用MQTT主题模板生成主题,之后再发布消息。
进一步地,所述MQTT主题模板为:/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题。
进一步地,所述MQTT上层主题过滤器为:/前置主题/+/主题空间/设备在层级组织中的路径/#。
进一步地,所述MQTT下层主题过滤器为:/前置主题/%联动过程id%/#。
第二方面,本发明提供了一种物联网设备间的通讯装置,包括:
设置模块,设置设备发布消息时所使用的MQTT主题模板;设置设备订阅其下层设备发出的消息所使用的MQTT上层主题过滤器;设置作为触发源的设备订阅其上层设备发出的消息使用的MQTT下层主题过滤器;
消息处理模块,设备在连接到MQTT服务器后,使用MQTT上层主题过滤器进行消息的订阅;
设备在发布联动消息前,使用MQTT下层主题过滤器进行消息的订阅;
设备在发布联动消息时,使用MQTT主题模板生成主题,之后再发布消息。
进一步地,所述MQTT主题模板为:/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题。
进一步地,所述MQTT上层主题过滤器为:/前置主题/+/主题空间/设备在层级组织中的路径/#。
进一步地,所述MQTT下层主题过滤器为:/前置主题/%联动过程id%/#。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供的一种物联网设备间的通讯方法及装置,使得各层设备能够方便地订阅到它所触发的上级各层设备在联动过程中发出的相关消息,从而跟踪联动过程,并进行相应动作。相较于现有的技术方案,在保留其原有优点的基础上,更适用于高智能度和高友好度的物联网系统中设备之间的高效通讯。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明做进一步的说明。
图1为本发明方法的时序图。
具体实施方式
本申请实施例中的技术方案,总体思路如下:
1.每一层设备发布消息时所使用的MQTT主题模板:
/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题
每一层设备发布消息时,都应使用这个主题模板生成一个主题,然后再向该主题发布消息;
其中:“前置主题”和“主题空间”可以是任意MQTT协议中消息主题所支持的字符(包括空字符),同一个系统中所有层级式组织的设备发布的消息其对应的主题都要采用相同的“前置主题”和“主题空间”;“设备在层级组织中的路径”由人工设定到设备中;当设备发出一条消息时,如果不是因为联动而产生的这条消息,那么“联动过程id”由该设备生成,否则“联动过程id”与联动产生这条消息的另一消息的主题中的“联动过程id”一致;“后置主题”可根据需要扩展或添加。
2.每一层设备订阅其下层设备发出的消息所使用的MQTT主题过滤器:
/前置主题/+/主题空间/设备在层级组织中的路径/#
按照MQTT协议,这个主题过滤器可以通配使用上述主题模板生成的所有主题,因此使用这个主题过滤器订阅消息就能够订阅到下层设备发出的所有消息,从而根据消息进行相应动作。
3.作为触发源的设备订阅其上层设备发出的消息使用的MQTT主题过滤器:
/前置主题/%联动过程id%/#
按照MQTT协议,这个主题过滤器可以通配使用上述主题模板生成的所有与“联动过程id”相关的主题,因此使用这个主题过滤器订阅消息就能够订阅到上层设备发出的所有与“联动过程id”相关的消息,从而根据消息进行相应动作。
具体包括如下步骤:
1.设备基于MQTT协议通信,且连接到同一个MQTT服务器或MQTT服务器集群;
2.设备所采用的组织形式为层级式组织,设备与设备之间通过消息传递而产生联动;
3.设备联动过程中相关的消息,通过一个分布式id表明它们属于同一个联动过程;
4.系统已预定义“前置主题”和“主题空间”,各设备已设定在层级组织中的路径;
5.设备遵循以下规则进行消息的发布和订阅:
5.1.设备在连接到MQTT服务器后,需按照MQTT协议使用一主题过滤器订阅消息,如下:
/前置主题/+/主题空间/设备在层级组织中的路径/#
5.2.设备在发布联动消息前,需按照MQTT协议使用一主题过滤器订阅消息,如下:
/前置主题/%联动过程id%/#
5.3.设备在发布联动消息时,需按照MQTT协议使用一主题模板生成的主题发布消息,所述主题模板如下:
/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题。
如图1所示,具体包括如下:
各层设备设定设备在层级组织中的路径,之后连接至MQTT服务,连接成功后,可以根据使用主题过滤器:/前置主题/+/主题空间/设备在层级组织中的路径/#;向MQTT服务进行订阅消息,MQTT服务发送订阅成功消息至设备;若设备待发布的消息是由某条消息所驱动,则从驱动自身产生联动的那条消息的主题中取得“联动过程id”,若设备待发布的消息不是由某条消息所驱动,则按照分布式id算法,生成一个“联动过程id”,之后通过主题过滤器:/前置主题/%联动过程id%/#;向MQTT服务订阅消息,设备可以通过MQTT主题模板:/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题向MQTT服务发布消息。
实施例一
在本实施例列举了本发明一种物联网设备间的通讯方法,包括:
步骤1、设置设备发布消息时所使用的MQTT主题模板;设置设备订阅其下层设备发出的消息所使用的MQTT上层主题过滤器;设置作为触发源的设备订阅其上层设备发出的消息使用的MQTT下层主题过滤器;每一层设备发布消息时,都应使用MQTT主题模板生成一个主题,然后再向该主题发布消息;
步骤2、设备在连接到MQTT服务器后,使用MQTT上层主题过滤器进行消息的订阅;按照MQTT协议,通过上层主题过滤器可以通配使用上述主题模板生成的所有主题,通过该主题过滤器订阅消息就能够订阅到下层设备发出的所有消息,再根据消息进行相应动作;
设备在发布联动消息前,使用MQTT下层主题过滤器进行消息的订阅;
设备在发布联动消息时,使用MQTT主题模板生成主题,之后再发布消息。
所述MQTT主题模板为:/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题。
所述MQTT上层主题过滤器为:/前置主题/+/主题空间/设备在层级组织中的路径/#。
所述MQTT下层主题过滤器为:/前置主题/%联动过程id%/#。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例列举了本发明一种物联网设备间的通讯装置,包括:
设置模块,设置设备发布消息时所使用的MQTT主题模板;设置设备订阅其下层设备发出的消息所使用的MQTT上层主题过滤器;设置作为触发源的设备订阅其上层设备发出的消息使用的MQTT下层主题过滤器;每一层设备发布消息时,都应使用MQTT主题模板生成一个主题,然后再向该主题发布消息;
消息处理模块,设备在连接到MQTT服务器后,使用MQTT上层主题过滤器进行消息的订阅;按照MQTT协议,通过上层主题过滤器可以通配使用上述主题模板生成的所有主题,通过该主题过滤器订阅消息就能够订阅到下层设备发出的所有消息,再根据消息进行相应动作;
设备在发布联动消息前,使用MQTT下层主题过滤器进行消息的订阅;
设备在发布联动消息时,使用MQTT主题模板生成主题,之后再发布消息。
所述MQTT主题模板为:/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题。
所述MQTT上层主题过滤器为:/前置主题/+/主题空间/设备在层级组织中的路径/#。
所述MQTT下层主题过滤器为:/前置主题/%联动过程id%/#。
本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例子是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所做的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (2)
1.一种物联网设备间的通讯方法,其特征在于,包括:
步骤1、设置设备发布消息时所使用的MQTT主题模板;设置设备订阅其下层设备发出的消息所使用的MQTT上层主题过滤器;设置作为触发源的设备订阅其上层设备发出的消息使用的MQTT下层主题过滤器,所述MQTT主题模板为:/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题,所述MQTT下层主题过滤器为:/前置主题/%联动过程id%/#;若设备待发布的消息是由某条消息所驱动,则从驱动自身产生联动的那条消息的主题中取得“联动过程id”,若设备待发布的消息不是由某条消息所驱动,则按照分布式id算法,生成一个“联动过程id”;
步骤2、设备在连接到MQTT服务器后,使用MQTT上层主题过滤器进行消息的订阅,所述MQTT上层主题过滤器为:/前置主题/+/主题空间/设备在层级组织中的路径/#;
设备在发布联动消息前,使用MQTT下层主题过滤器进行消息的订阅;
设备在发布联动消息时,使用MQTT主题模板生成主题,之后再发布消息。
2.一种物联网设备间的通讯装置,其特征在于,包括:
设置模块,设置设备发布消息时所使用的MQTT主题模板;设置设备订阅其下层设备发出的消息所使用的MQTT上层主题过滤器;设置作为触发源的设备订阅其上层设备发出的消息使用的MQTT下层主题过滤器,所述MQTT主题模板为:/前置主题/%联动过程id%/主题空间/设备在层级组织中的路径/后置主题,所述MQTT下层主题过滤器为:/前置主题/%联动过程id%/#;若设备待发布的消息是由某条消息所驱动,则从驱动自身产生联动的那条消息的主题中取得“联动过程id”,若设备待发布的消息不是由某条消息所驱动,则按照分布式id算法,生成一个“联动过程id”;
消息处理模块,设备在连接到MQTT服务器后,使用MQTT上层主题过滤器进行消息的订阅,所述MQTT上层主题过滤器为:/前置主题/+/主题空间/设备在层级组织中的路径/#;
设备在发布联动消息前,使用MQTT下层主题过滤器进行消息的订阅;
设备在发布联动消息时,使用MQTT主题模板生成主题,之后再发布消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111499172.4A CN114172947B (zh) | 2021-12-09 | 2021-12-09 | 一种物联网设备间的通讯方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111499172.4A CN114172947B (zh) | 2021-12-09 | 2021-12-09 | 一种物联网设备间的通讯方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114172947A CN114172947A (zh) | 2022-03-11 |
CN114172947B true CN114172947B (zh) | 2023-11-24 |
Family
ID=80484950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111499172.4A Active CN114172947B (zh) | 2021-12-09 | 2021-12-09 | 一种物联网设备间的通讯方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172947B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039942A (zh) * | 2017-08-29 | 2020-12-04 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
CN113452787A (zh) * | 2021-06-28 | 2021-09-28 | 深圳市新龙鹏科技有限公司 | 基于mqtt的主题订阅转发管理方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886513B2 (en) * | 2015-05-25 | 2018-02-06 | International Business Machines Corporation | Publish-subscribe system with reduced data storage and transmission requirements |
-
2021
- 2021-12-09 CN CN202111499172.4A patent/CN114172947B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039942A (zh) * | 2017-08-29 | 2020-12-04 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
CN113452787A (zh) * | 2021-06-28 | 2021-09-28 | 深圳市新龙鹏科技有限公司 | 基于mqtt的主题订阅转发管理方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
"基于MQTT的物联网系统消息发布/订阅方法研究";张玉杰等;《电视技术》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114172947A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7827208B2 (en) | Generating a feed of stories personalized for members of a social network | |
TW201131471A (en) | Tag cloud buddy list for messaging contacts | |
US7970793B2 (en) | Generating, and updating calendar events from non-calendar sources | |
US9276892B2 (en) | Social dialogue listening, analytics, and engagement system and method | |
DE202017103860U1 (de) | Kontextabhängige Task-Shortcuts | |
CN103782285B (zh) | 对精确用户偏好数据的收集和管理 | |
DE202017105445U1 (de) | Proaktiver virtueller Assistent | |
US20130132384A1 (en) | Social dialogue listening, analytics, and engagement system and method | |
WO2015031486A1 (en) | System and method for virtual assistants with shared capabilities and agent store | |
JP2010532027A (ja) | 個人化された社交ネットワーク用アプリケーションコンテンツ | |
CN107908637A (zh) | 一种基于知识库的实体更新方法及系统 | |
US8560606B2 (en) | Social network informed mashup creation | |
CN108259942B (zh) | 获取预览广告的方法、装置及系统 | |
CN108363684A (zh) | 表单创建方法、装置及服务器 | |
CN114172947B (zh) | 一种物联网设备间的通讯方法及装置 | |
CN106797340A (zh) | 即时通信系统及方法 | |
WO2015039105A1 (en) | System and method for distributed virtual assistant platforms | |
CN112817651A (zh) | 一种基于Canvas画布的图形生成方法及系统 | |
JP2016119082A (ja) | ソーシャルネットワーク状況内での選択的なコンテキスト公開を提供するためのコンピュータ実装システム及び方法 | |
CN111177489A (zh) | 对象数据的展示方法及系统 | |
JP2021527882A (ja) | スマート家電のステータスの要約伝達 | |
Moore et al. | Enhanced patient management in a hospital setting | |
Pallasena et al. | Context-sensitive smart devices-definition and a functional taxonomy | |
WO2021152323A1 (en) | A method of data communication | |
US20170250939A1 (en) | Social dialogue listening, analytics, and engagement system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |