在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → mqtt物联网数据传输协议

mqtt物联网数据传输协议

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.98M
  • 下载次数:27
  • 浏览次数:238
  • 发布时间:2021-02-19
  • 实例类别:一般编程问题
  • 发 布 人:好学IT男
  • 文件格式:.pdf
  • 所需积分:2
 

实例介绍

【实例简介】
引用github的资源https://mcxiaoke.gitbooks.io/mqtt-cn/
Introduction 3.2 CONNACK一确认连接请求 o3.3 PUBLISH-发布消息 o34 PUBACK一发布确认 o35 PUBREC-发布收到(QoS2,第一步) °36 PUBREL-发布释放(QoS2,第二步) °3.7P∪ BCOME一发布完成(QoS2,第三步) o3.8 SUBSCR|BE-订阅主题 o39S∪BACK-订闶确认 o3.10 UNSUBSCR|BE-取消订阅 3.11 UNSUBACK-取消订阔确认 3.12P| NGREG一心跳请求 3.13 PINGRESE一心跳响应 o3.14D| SCONNECT一断开连接 第四章一操作行为 第五章一安全 第六章一使用 Websocket 第七章一一致性目标 附录B-强制性规范声明 旧版文档 已过期,建议使用 GifTbook版本最新版本:V1.0.12015.10.22 文档 连接 中文版HTML MQTT3.1.1中文版 中文版PDF MQTT3.1.1中文版 英文版HTML MQTT Version 3.1.1 英文版PDF MQTT∨ ersion3.1.1 许可协议 署名-非商业性位用-相同方式共享4.0国际 联系方式 Introduction Bloghttp://blog.mcxiaoke.com Github:https://github.com/mcxiaoke .Email:github@mcxiaoke.com 开源项目 ·Rx文档中文翻译:htts:/! github. com/mcxiaoke/ RXDOCS ·MQTT协议中文版:htps:/ github. com/ mcxiaoke/mgtt Awesome-kotlin:httpsgithub.com/mcxiaokelawesome-kotlin .Kotlin-koi:https:/github.com/mcxiaoke/kotlin-koi NeXt公共组件库:htps!/github.com/xiaoke/Android-Next · PackerNg极速打包:htts;/ github. com/mcxiaoke/ packer- ng-plugin Gradle渠道打包https://github.com/mcxiaoke/gradle-packer-plugin ·VentuS实现xBus:htps;/github.com/miaoke/BuS 磨菇饭App:htps:! github. com/mcxiaoke/minicat ·饭否客户端:https:/github.com/mcxiaoke/anfouapp-opensource Volleyt:https://github.com/mcxiaoke/android-volley 第一章-MQTT介绍 第一章概逃 Introduction 1.1MQTT协议的组织结构 Organization of MQTT 本规范分为七个章节: 第一章一介绍 第二章一MQTT控制报文格式 第三章一MQTT控制报文 ·第四章一操作行为 第五章一安全 第六章一使用 Websocket 第七章一一致性日标 附录B一强制性规范声明 12术语 Terminology 本规范中用到的夭键字必须MUST,不能 MUST NOT,要求 REQUIRED,将会 SHALL,不 会 SHALL NOT,应该 SHOULD,不应该 SHOULD NOT,推荐 RECOMMENDED,可以 MAY,可选 OPTIONAL都是按照 TE RFC2119[RFC2119]中的描迹解释。 网络连接 Network Connection MQTT使用的底层传输协议基础设施。 客户端使用它连接服务端。 它提供有序的丶可靠的丶双向字节流传输。 例子见42节 应用消息App| ication Message MQT协议通过网络传输应用数据。应用消息通过MQT传 输时’它们有关联的服务质量(QoS)和主题( Topic) 客户粥C|ient 使用MQπT的程序或设备。客户端总是通过网络连接到服务端。它可以 发布应用消息给其它相关的客户端。 ●订阅以请求接受相关的应用消息。 ·取消订阅以移除接受应用消息的请求 从服务端断开连接 第一章-MQTT介绍 服务端 Server 个程序或设备,作为发送消息的客户端和请求订阅的客户端之间的中介σ服务端 接受来自客户端的网络连接。 接受客户端发布的应用消息。 ·处理客户端的订阅和取消订阅请求。 转发应用消息给符合条件的已订阅客户端 订 Subscription 订阔包含一个主题过滤器( Topic Filter)和一个最大的服务质量(QoS)等级。订阅与单个会 话( Session)关联。会话可以包含多于一个的订阅。会话的每个订阅都有一个不同的主题过 主题名 Topic Name 附加在应用消息上的一个标签’服务端巳知且与订阔匹配。服务端发送应用消息的一个副本 给每一个匹配的容户端订阅。 主题过滤器 Topic Filter 订阅中包含的一个表达式,用于表示相关的一个或多个主题。主题过滤器可以使用通配符。 会话 Session 客户端和服务端之间的状态交互。一些会话持续时长与网络连接一样·另一些可以在客户端 和服务端的多个连续网络连接间扩展。 控制报文 MQTT Contro| Packet 通过网络连接发送的信息数据包。MQTT规范定义了十四种不同类型的控制报文,其中一个 ( PUBLISH报文)用于传输应用消息。 1.5数据表示 Data representations 1.51二进制位Bits 字节中的位从0到7。第7位是最高有效位’第0位是最低有效位。 1.52整数数值 Integer data values 整数数值是16位’使用大湍序( big-endian,高位字节在低位字节前面)。这意味着一个16位 的字在网络上表示为最高有效字节(MSB),后面跟着最低有效字节(LSB) 1.53UTF8编码字符串UTF8 encoded strings 后面会描逑的控制报文中的文本字段编码为UTF8格式的字符串。UTF8[RFC3629]是一个 高效的υ ncode字符编码格式’为了攴持基于文本的通信’它对ASC∏字符的编码做了优化 第一章-MQTT介绍 每一个字符串都有一个两字节的长度字段作为前缀,它给出这个字符串UTF8编码的字节数, 它门在图例1.1UTF8编码字符串的结构中描述。因此可以传送的UTF-8编码的字符串大小有 个限制,不能超过65535字节 除非另有说明’所有的UTF-8编码字符串的长度都必须在0到65535字节这个范围内。 图例1.1UTF8编码字符串的结构 Structure of ute8 encoded strings 进制位 7-0 yte 字符串长度的最高有效字节(MsB) byte 2 字符串长度的最低有效字节(LSB) byte 3 如果长度大于0,这里是UTF-8编码的字符数据。 UTF-8编码字符串中的字符数据必须是按照 Unicode规范[ Unicode]定义的和在RFC3629 [RFC3629]中重申的有效的UTF8格式。特別需要指出的是,这些数据不能包含字符码在 U+D800和U+DFFF之间的数据。如果服务端或客户端收到了一个包含无效UTF-8字符的控制 报文”它必须关闭网络连接[MQTT1.53-]。 UTF-8编码的字符串不能包含空字符U+0000如果客户端或服务端收到了一个包含U+0000的 控制报文’它必须关闭网络连接MQTT-1.53-2] 数据中不应该包含下面这些 Unicode代码点的编码。如果一个接收者(服务端或客户端)收到 了包含下列任意字符的控制报文,它可以关闭网络连接 U+0001和U+00F之间的控制字符 ∪+007F和∪+009F之问的控制字符 Unicode规范定义的非宇符代码点(例如U+ OFFFF) Unicode规范定义的保留字符(例如U+ OFFFF) UTF-8编码序列0XEF0xBB0XBF总是被解释为U+FEFF(零宽度非换行空白字符)’无论它 出现在字符串的什么位置’报文接收者都不能跳过或者剥离它[MQTT-153-3]。 非规范示例 Non normative example 例如,字符串A是一个拉丁字母A后面跟着一个代码点U+2A6D4(它表示一个中日韩统 表意文字扩展B中的字符)这个字符串编码如下 图例12UTF8编码字符串非规范示例UTF-8 encoded string non normative example 第一章-MQTT介绍 Bit 5 4 byte 1 字符串长度MSB(0x0O) 0 0 byte 2 字符串长度LSB(0×05) byte 3 A(0×41) 00000 bye4(0×F0) 000 byte 5 (OXAA) 0 0 byte 6 (0×9B) 0 byte 7 (0×94) 00 0 1.6编辑约定 Editing conventions 本规范用黃色高亮的文本标识一致性声明·毎个一致性声明都分配了一个这种袼式的引用: [MQTT××x-y] 项目主页 MQTT协议中文版 第二章一MQTT控制报文格式 第二章MQTT控制报文格式 MQTT Contro Packet format 目录 第一章-个绍 第二章一MQTT控制报文格式 第三章一MQTT控制报文 ·第四章一操作行为 第五章一安全 第六章一使用 Websocket 第七章一一致性目标 附录B-强制性规范声明 2.1MQTT控制报文的结构 Structure of an MQTT Control packet MQπT协议通过交換预定义的MQTT控制报文来通信。这一节描逃这些报文的格式。 MQTT控制报文由三部分组成’按照图例2.1-MQ∏控制报文的结构描逃的顺序 图例21-MQTT控制报文的结构 Fixed header 固定报头’所有控制报文都包含 Variable header 可变报头·部分控制报文包含 Payload 有效载荷·部分控制报文包含 22固定报头 Fixed header 每个MQTT控制报文都包含一个固定报头。图例2.2-因定报头的格式描逑了因定报头的格 式 图例22-固定报头的格式 第二章一MQTT控制报文格式 Bit 6 5 4 3 2 byte 1 MQTT控制报文的类型 用于指定控制报文类型的标志位 byte 2 剩余长度 221MQTT控制报文的类型 MQTT Control Packet type 位置:第1个字节,二进制位7-4 表示为4位无符号值,这些值的定义见表格2.1-控制报文的类型 表格2.1-控制报文的类型 名字 值报文流动方向 描述 Reserved 禁止 保留 CONNECT 客户端到服务端客户端请求连接服务端 CONNACK 2服务端到客户端连接报文确认 PUBLISH 两个方向都允许发布消息 PUBACK 丙个方向都允许QoS1消息发布收到确认 PUBREC 5两个方向都允许发布收到(保证交付第一步) PUBREL 两个方向都允许发布释放(保证交付第二步 PUBCOMP 7两个方向都允许QoS2消息发布完成(保证交互第三步) SUBSCRIBE 8客户端到服务端客户端订阅请求 SUBACK 9服务端到户风请求摄文确认 UNSUBSCRIBE10客户端到服务端客户端取消订阋请求 UNSUBACK 服务端到客戶端取消订阔报文确认 PINGREQ 12客户端到服务端 跳请求 PINGRESP 13服务端到客户端心跳响应 DISCON№ECT14客户端到服务端客户端断开连接 Reserved 15禁止 保留 222标志Fags 固定报头第1个字节的剩余的4位[30]包含每个MQTT控制报文类型特定的标志,见表格22- 标志位。表格2.2中任何标记为“保留”的标志位·都是保留给以后使用的·必须设置为表柊中 出的值[MQT「-22.2-1。如果收到非法的标志’接收者必须关闭网络连接。有美错误处理 的详细信息见4.8节MQTT2222] 【实例截图】
【核心代码】

标签:

实例下载地址

mqtt物联网数据传输协议

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警