版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.1.2智能安防设备通信方式通过本节学习,您可以:了解智能安防设备的通信方式MQTT智能安防设备通信方式1.MQTT通信过程在MQTT通信过程中,有3种身份:发布者(Publisher)、消息代理(Broker)和订阅者(Subscriber)。其中发布者和订阅者都是客户端,消息代理是服务器。对于同一个客户端,它可能是发布者也可能是订阅者。MQTT客户端可以发布消息供其他客户端订阅,可以订阅其他客户端发布的消息,可以退订或者删除消息,断开与服务器的连接。MQTT服务器作为消息代理,位于消息发布者和订阅者之间。它接收来自发布者的连接请求,接收发布者发布的消息,处理订阅者的订阅和退订请求,向订阅者转发订阅的消息。发布者订阅者订阅者代理服务器发布消息Publish订阅请求Subscribe订阅请求Subscribe订阅请求Subscribe智能安防设备通信方式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说明getsetactionrequest请求消息response响应消息notifyevent……事件通知消息。后续扩展的或者其他自定义通知类型操作类型operator消息类型infoType消息目标infoTargetgetsetactionrequest接收该请求消息的目标应用程序response接收该响应消息的目标应用程序,对应于{app},不能为*notifyevent……事件通知消息。后续扩展的或者其他自定义通知类型{infoType}表示消息类型,根据操作类型{operator}而定。{infoTarget}表示消息目标,其含义与{infoType}相关。{infoPath}表示信息对象。例如,可用clock表示终端时间,用temperature表示温度。智能安防设备通信方式3.主题通配符当订阅者订阅主题时,可以使用通配符来订阅多个主题。MQTT支持3种通配符:层级分隔符“/”多层通配符“#”单层通配符“+”层级分隔符“/”将主题分为了多个层级,使得主题层次分明。多层通配符“#”能够匹配当前主题层级下的所有子层级的子主题。单层通配符“+”只能匹配“+”所在的一层的主题。智能安防设备通信方式4.MQTT数据报文MQTT协议的数据报文主要由三部分组成:固定头、可变头和有效载荷。其中固定头是所有数据报文都必须包含的部分。MQTT协议数据报文固定头格式:Bit76543210Byte1MessageTypeDUPflagQoSlevelRETAINByte2RemainingLength智能安防设备通信方式MessageType:表示此数据报文的类型为连接请求、订阅请求、订阅确认、取消订阅等类型中的一种。DUPflag:用来保证消息可靠传输。设置为1,即在变长中增加消息标识,并需要返回确认。QoSlevel:消息的服务质量。等级表示保证传递的次数,分3个等级。RETAIN:发布保留标识。指是否保留消息在代理服务器中,以供新的订阅者订阅此消息。RemainingLength:表示可变头和有效载荷的字节数,最多可以占4个字节。可变头的内容因数据报文类型不同而不同,有效载荷表示消息的具体内容。Bit76543210Byte1MessageTypeDUPflagQoSlevelRETAINByte2RemainingLength智能安防设备通信方式5.MQTT消息格式JSON是一种存储和交换文本信息的语法,它采用了键值对(key/value)的方式。MQTT消息的JSON格式如下:字段类型说明Tokenstring消息标识。相同源发出的相同类型消息的token应该各不同,可以用自增数、随机数表示Timestampstring消息产生的时间戳…………其他的自定义拓展字段bodyJSON消息体,以JSON格式表示
{
“token”:”12345”,
“timestamp”:”2022-10-10T17:20:30Z”,
……
“body”:消息体
}智能安防设备通信方式6.MQTT数据访问操作类型为get、set、和action的主题,称为“数据访问”。一般是通信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《离婚的法律后果》课件
- 合规培训讲义版
- 院落买卖合同范本
- 木工施工合同范本
- 礼宾接待客户培训
- 电气教学课件
- 民法典房产纠纷课件
- 2024年度医疗健康信息共享与服务平台合同2篇
- 社区消防安全培训
- 去甲醛合同范本
- 第10课时-小人物-大情怀-单元总结-七年级语文下册(部编版)
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 网站推广引流优化方案
- MOOC 财务会计Ⅰ-中国石油大学(北京) 中国大学慕课答案
- 人教版小学数学计算去括号练习100题及答案
- (高清版)TDT 1075-2023 光伏发电站工程项目用地控制指标
- 处方点评与不合理用药分析
- 金融科技与银行业的数字化转型与创新实践案例分享
- 阅读素养:培养学生良好的阅读习惯和能力
- 区块链技术在旅游行业中的应用培训
- 设备技改方案范文
评论
0/150
提交评论