MQTT MQTT 基本知识简介

      最后更新:2021-10-18 19:09

      本博客涵盖MQTT的基本内容。

      1 MQTT 介绍

      MQTT( 邮件队列遥测传输): 传输信息队列遥测的协议 。

      其主要目标是提供两种更简单、更轻、更便于使用的订阅/分发模式,特别是在受限制的情况下(低带宽、高网络延迟、网络连接不可靠)信息传播模式,以及物联网标准传输协议。 不,我不认为如此。

      优点:​

      • 发行/订阅信件方法用于提供不止一对信件和脱钩程序。
      • 提供 TCP/IP 网络连接,以启用 TLS 。
      • 服务的质量(QoS)用于确保信息可靠性。
      • 压缩传输、低成本(2个字节长度定的字节)和最低协议交换,以尽量减少网络通信量
      • 利用《最后意愿》和《条约》的要点,已建立一项机制,提醒各方注意意外中断。

      2 MQTT协议

      二楼,二楼,二楼,二楼,二楼,二楼,1 MQTT协议执行技术

      MQTT 协议涉及客户端和服务器端通信,而 MQTT协议有三种身份:出版商(Publish)、代理商(Broker) (服务器)和订阅者(指令性),其中发送者和订阅者都是客户,信息代理是服务器,信息发布者既可以是订阅者,也可以是发送者。

      MQTT广播分为两个部分:主题(专题)和负荷(有效载荷):

      • 当订阅者订阅某一专题(定义为通信类型)时,他将获得关于该主题的信息(Payload)。
      • 有效载荷通常被称为电文的物质,是指用户打算使用什么。

      二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼二楼

      MQTT将建立一个底层网络传输:客户对服务器的连接,使两者之间能够有序、无破坏性、基于字节的双向通信。

      当数据在 MQTT 网络上应用时, MQTT 将相关服务质量( Qos) 与主题名称( Topic) 连接。

      二楼,二楼,二楼,二楼,MQTT客户在二楼

      使用 MQTT 协议的应用程序或设备总是建立与服务器的网络连接。

      • 无法将信件附加到 mh 文件夹:%s:%s
      • 订阅其他客户的电讯
      • 未收到信件:%s%s
      • 断开与服务器连接

      二楼,二楼,二楼,二楼,二楼MQTT服务器

      MQTT 服务器,又称 " 经纪人 ",可以是应用程序,也可以是设备。 它位于发件人和用户之间,可以从事以下工作:

      • 允许客户端网络连接
      • 接受客户提供的应用程序信息。
      • 客户订阅和退款得到处理。
      • 订阅客户应该收到应用程序信息。

      二楼,二楼,二楼,二楼,二楼。

      • 订阅者拥有专题过滤器(Topic过滤器)和最高服务质量(QoS),与届会有关,届会可包含多个订阅器,届会的每次订阅都有不同的主题过滤器。

      • 会话 : 每个客户端连接到服务器, 并且与服务器有互动状态 。 会话存在于一个网络内部, 可以连接客户端与服务器之间随后的许多网络连接 。

      • 主题名称( Topic Name): 与服务器订阅对应的应用程序消息相关的标签。 服务器向每个订阅标签的客户端发送信件 。

      • 主题过滤器( Topic 过滤器) : 用于订阅表达式中使用的主题名称的通配符过滤器, 用以识别订阅符合的许多主题 。

      • 用户收到的内容称为负载(负载)。

      二楼二楼二楼二楼,《协定》二楼MQTT方法

      MQTT 协议包括显示指定资源运行的方法(也称为动作) 。 此资源可以代表先前存在的或动态的数据创建, 取决于服务器的性能 。 一般来说, 资源与服务器的文件或输出有关 。

      • 正在等待服务器连接 。
      • 中断: 等待 MQTT 客户端完成任务, 然后再断开 TCP/ IP 与服务器的连接 。
      • 订阅:正在处理订阅。
      • 订阅者 : 等待服务器取消客户端的一个或多个主题订阅 。
      • 公开: MQTT 客户端发送信息请求, 然后返回应用程序线索 。

      二楼二楼二楼二楼二楼二楼二楼二楼二楼。

      请添加图片描述
      以下是图中与MQTT有关的责任:

      • MQTT 客户端: 跟踪 MQTT 应用程序或设备 。
      • MQTT Broker: MQTT软件或装置,作为发送信息的客户与订阅信息的客户之间的中间媒介。
      • 主题:可被解释为信件的标签。无法将信件附加到文件夹:%s:%s:%s
      • 有效载荷: 可能被解释为信件的内容 。
      • 出版商:允许发布信息的软件或设备。
      • 订阅者是接收通信的程序或装置。

      3个重要的 MQTT 特性

      MQTT协议旨在与低带宽、不可靠的网络中的遥控传感器和控制设备进行互动,协议包括以下关键特征:

      • 要提供不止一对信件和未组合的应用程序, 请使用解密/ 订阅信件模式。 这与 XMP 相当相似, 但 MQTT 的信息冗余比 XMP 少得多, 因为 XMPP 使用 XML 格式文本发送数据 。

      • 无法打开信件

      • 提供TCP/IP网络连接。

      • 由于这两个版本基于各种连接手段,其利弊本质上是不同的。 主流MQTT是一个基于TCP连接的数据驱动器,但也包括一个基于UDP的名为MQTT-SN的版本。

      • 信息传播服务分为三类:

        • “不超过一次” (QosS0) 信息发布完全取决于底部 TCP/IP 网络。 信息将丢失或重复。 此水平可用于环境传感器数据, 无需丢失一读记录, 因为它会在不远的将来再次发送 。 这主要是普通的 AP 发送, 如果您的智能设备在发送邮件时没有连接, 并且它先前已被没收, 则不会被没收 。

        • “至少一次”(Qos1),以确保发送信息,但可以重复。

        • 这一水平可用于一些要求最高的计费系统,在计费系统中,信息重复或丢失可能导致错误的结果,这种最高质量的信息分发服务也可以用于即时通信类型APP发送,以确保用户只收到一次。

      • 小型传输、廉价成本(两字节的固定长头)和减少网络交通的最低限度交换协议。 因此,导言指出“在物体网络、传感器-服务器连接和信息收集领域”是理想的,尽管嵌入设备在计算能力和带宽方面通常有限。

      • 利用《最后意愿》和《条约》的要点,已建立一项机制,提醒各方注意意外中断。

        • 最后遗嘱和约言:在同一主题下通知其他设备发送最后一分钟电文的最后一分钟方法已经退役。

        • 说明:一种与最后意愿和声明相仿的机制。

      MQTT 协议协议数据包的结构 4

      MQTT 协议中的 MQTT 数据包由三部分组成:固定头(固定信头)、可变头(可变信头)和信件正文( payload)。

      • 固定头( 固定页眉) 。 所有 MQTT 数据集都存在, 标明软件包类型以及软件包的组类身份 。
      • 变量标题。 作为 MQTT 数据包的一部分存在; 数据包的类型定义变量的存在和内容 。
      • 信件正文( payload) 。 MQTT 数据包的 A 组件显示客户端收到的确切内容 。

      这篇文章是我们特别报导埃及2011年抗议事件的一部分。 1 MQTT固定头目。

      所有 MQTT 控制报告以及固定信头都包含变量信头。 有效载荷也包含在 MQTT 控制报告中。 固定信头占用两个字节的空间, 如下所示:
      请添加图片描述

      固定信头的前四个字节分为控制报告类型(4比特)和电文类型的标志,总共14种控制类型,其中0和15种由系统保存,其他为:
      请添加图片描述
      固定信头的位元 0比特3 保留给路标,该路标根据电文类型有不同的含义,实际上,除PUBLISH类型报告外(PUBLISH类型报告得到系统维护),在未使用标识符的电文类型中,则保留标记。如果收到错误的符号,接收端必须停止网络连接。

      • DUP( 位数 3) : 释放的复制件。 如果设定为 0, 则表示这是客户端或服务首次想要发送 PUBLISH 消息, 如果设定为 1, 这可能是重复先前的邮件请求, 将信件添加到下面的长度, 并需要回复确认以确认信件已经完成, 但没有用于识别重复信件 。

      • QOS (bit 2-bit1): 信息服务质量,即保证信息数量

        • Ø00:最多一次,即:<=1

        • Ø01:至少一次,即:>=1

        • 10:1,即:=1

        • Ø11:预留

      • 如果发送给客户端的 PBULISH 信息保留标识设置为 1, 服务器必须保持应用程序信息及其服务质量水平( QOS), 以便将其传播给符合主题名称的未来用户。 当新订阅时, 如果最近更新了给客户端的 PBULISH 信息保留标识( RETENS) 设置为 1, 服务器必须保持应用程序信息及其服务质量水平( QOS), 以便将其传播给符合主题名称的未来用户 。 当新订阅形成时, 如果最近更新了信息, 则每个匹配主题名称必须发送给该用户 。

      其余的长度字段用于记录电文的剩余长度,显示当前电文的剩余字节,包括可变信头和有效载荷区域(如果有的话),尽管剩余长度不包括编码剩余长度字段本身所需的字节。

      其余的长度字段有一个可变长度编码方法,该方法对低于128的值使用单一字节编码法,而较大的字节处理如下:低的7位/字节用于编码数据长度,最高的位(Bit7)用于确定剩余长度字段是否有额外字节,并用大端模式编码,因此每个字节可能包含128个值和一个扩展名,其余的字节则使用最高位(Bit7)用于编码数据长度,因此每个字节可能包含128个值和一个扩展名,其余的字节

      请添加图片描述

      一般而言,MQTT信息在理论上可以传送256 M信息,这是非常不寻常的。

      这篇文章是我们对埃及2011年抗议特别报导的一部分。 2 MQTT变种人头目。

      MQTT 数据包包含一个位于固定头和负载之间的变量头。根据数据包的类型,变量内容的变化取决于数据包的类型,而最常见的应用程序是软件包标记:
      请添加图片描述

      只有某些报纸有可变页眉,其内容因电文类型而异,固定页头与有效负载之间不同,但可变页头的纸张识别符(Packet I识别符)字段存在于许多类型的纸张中,而如表所示,其他报纸则没有,报告识别码的编排如下:
      请添加图片描述

      本文是埃及2011年抗议活动3 独家报导的部分内容。

      有效载荷信息定位MQTT数据包第三部分,包括四种信息:Centlection、Applycribe、SubACK和UNSUBCRIBE:

      • CONECT. 客户识别码、订阅专题、信息、用户名和密码是主要信息。
      • 电文机构 " 附属机构 " 是一份要订阅的议题清单以及 " 质保 " 。
      • SubACK 的信息体是服务器的身份, 并回答 伯克利和科斯所要求的主题 。
      • 订阅的主题是UNSUBSCBE,即信息主体内容。

      参考文章

      • MQTT–入门

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类