《鸿蒙智能互联设备开发(微课版)》_7.1.2 智能安防设备通信方式.pptxVIP

《鸿蒙智能互联设备开发(微课版)》_7.1.2 智能安防设备通信方式.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

通过本节学习,您可以:

了解智能安防设备的通信方式MQTT

智能安防设备通信方式

1.MQTT通信过程

在MQTT通信过程中,有3种身份:发布者(Publisher)、消息代理(Broker)和订阅者(Subscriber)。其中发布者和订阅者都是客户端,消息代理是服务器。对于同一个客户端,它可能是发布者也可能是订阅者。

MQTT客户端可以发布消息供其他客户端订阅,可以订阅其他客户端发布的消息,可以退订或者删除消息,断开与服务器的连接。

MQTT服务器作为消息代理,位于消息发布者和订阅者之间。它接收来自发布者的连接请求,接收发布者发布的消息,处理订阅者的订阅和退订请求,向订阅者转发订阅的消息。

智能安防设备通信方式

MQTT协议中传输的消息主要分为主题(Topic)和负载(Payload)。

MQTT进行通信的具体过程如图所示:

订阅者发送连接请求给代理服务器,代理服务器授权并返回一个CONNACK确认消息,形成一个会话;

订阅者发送订阅请求给代理服务器,如果订阅成功,代理服务器返回一条SUBACK确认消息;

智能安防设备通信方式

发布者先与代理服务器建立连接,之后发布相应主题的消息内容给代理服务器,代理服务器将负载转发给订阅这个主题的订阅者;

订阅者可以发送取消订阅给代理服务器,代理服务器返回UNSUBACK确认消息,经过PING命令之后可断开连接,返回DISCONNECT。

智能安防设备通信方式

2.MQTT主题

在MQTT中使用主题名来标识一个主题。一个主题名的格式是:

{app}{operator}/{infoType}/{infoTarget}/{infoPath}

{app}表示发布本消息的应用程序。比如消息是由华为eSDK发布,则对应的{app}值为esdk;如果是其他App发布的,则{app}为该应用程序的关键字名称。

{operator}是一个动作,表示操作类型,目前支持以下操作类型:

get:获取操作,适用于无输入有输出的请求/响应场景。

Set:设置操作,适用于有输入无输出的请求/响应场景。

action:命令操作,适用于既有输入又有输出的请求/响应场景,输入、输出可选。

notify:通知,适用于无须请求、主动推送的信息。

智能安防设备通信方式

操作类型operator

消息类型infoType

说明

get

set

action

request

请求消息

response

响应消息

notify

event

……

事件通知消息。后续扩展的或者其他自定义通知类型

操作类型operator

消息类型infoType

消息目标infoTarget

get

set

action

request

接收该请求消息的目标应用程序

response

接收该响应消息的目标应用程序,对应于{app},不能为*

notify

event

……

事件通知消息。后续扩展的或者其他自定义通知类型

{infoType}表示消息类型,根据操作类型{operator}而定。

{infoTarget}表示消息目标,其含义与{infoType}相关。

{infoPath}表示信息对象。例如,可用clock表示终端时间,用temperature表示温度。

智能安防设备通信方式

3.主题通配符

当订阅者订阅主题时,可以使用通配符来订阅多个主题。

MQTT支持3种通配符:

层级分隔符“/”

多层通配符“#”

单层通配符“+”

层级分隔符“/”将主题分为了多个层级,使得主题层次分明。

多层通配符“#”能够匹配当前主题层级下的所有子层级的子主题。

单层通配符“+”只能匹配“+”所在的一层的主题。

智能安防设备通信方式

4.MQTT数据报文

MQTT协议的数据报文主要由三部分组成:固定头、可变头和有效载荷。其中固定头是所有数据报文都必须包含的部分。

MQTT协议数据报文固定头格式:

Bit

7

6

5

4

3

2

1

0

Byte1

MessageType

DUPflag

QoSlevel

RETAIN

Byte2

RemainingLength

智能安防设备通信方式

MessageType:表示此数据报文的类型为连接请求、订阅请求、订阅确认、取消订阅等类型中的一种。

DUPflag:用来保证消息可靠传输。设置为1,即在变长中增加消息标识,并需要返回确认。

QoSlevel:消息的服务质量。等级表示保证传递的次数,分3个等级。

RETAIN:发布保留标识。指是否保留消息在代理服务器中,以供新的订阅者订阅此消息。

RemainingLength:表示可变头和有效载荷的字节数,最多可以占4个字节。

可变头的内容因数据报文类型不同而不同,有效载荷表示消息的具体内容。

Bit

7

6

5

4

3

2

1

0

Byt

文档评论(0)

kd8w + 关注
实名认证
文档贡献者

kd8w

1亿VIP精品文档

相关文档