资讯详情

MQTT协议--MQTT协议简介及原理

MQTT(Message Queuing Telemetry Transport,基于消息队列遥测传输协议)发布/订阅publish/subscribe)该协议构建了该模式的轻量级通信协议TCP/IP协议上,由IBM在1999年发布。MQTT最大的优点是,它可以为连接远程设备提供实时可靠的信息服务,代码少,带宽有限。作为一种低成本、低带宽占用的即时通信协议,广泛应用于物联网、小型设备和移动应用。

1.MQTT协议特点

MQTT基于客户端-服务器的消息发布/订阅传输协议。MQTT协议重量轻、简单、开放、易于实现,使其应用广泛。在许多情况下,包括有限的环境,如机器和机器(M2M)通信和物联网(IoT)。广泛应用于卫星链路通信传感器、偶尔拨号的医疗设备、智能家居和一些小型化设备。

MQTT本协议的当前版本为2014年发布的MQTT v3.1.1.除了标准版,还有简化版。MQTT-SN,该协议主要针对嵌入式设备,一般工作在100台TCP/IP网络,如:ZigBee。

MQTT协议运行在TCP/IP或提供有序、无损、双向连接的其他网络协议。其特点包括:

  1. 发布/订阅消息模式提供一对多的消息分发,以实现与应用程序的解耦。
  2. 屏蔽负载内容的信息传输机制。
  3. 传输信息有三种服务质量(QoS):
    • 最多一次,消息丢失或重复将丢失或重复,消息发布依赖于底层TCP/IP网络。即:<=1
    • 至多一次,这一级别将确保消息到达,但消息可能会重复。>=1
    • 只有一次,确保消息只到达一次。即:=1。这个级别可以用于一些要求严格的计费系统。
  4. 为了减少网络流量,最小化数据传输和协议交换节),以减少网络流量
  5. 通知机制在异常中断时通知双方

2.MQTT协议原理

2.1MQTT实现协议的方式

  • 实现MQTT协议需要:客户端服务器端
  • MQTT协议中有三种身份:发布者(Publish)代理(Broker)(服务器),订阅者(Subscribe)。其中,新闻发布者订阅者都是客户端,消息代理是服务器,新闻发布者可以同时是订阅者
  • MQTT传输信息分为:主题(Topic)负载(payload)两部分
    • Topic,可理解为新闻类型,订阅者订阅(Subscribe)之后,您将收到主题的消息内容(payload
    • payload,可以理解为新闻的内容,是指订阅者使用的具体内容

2.2 网络传输和应用信息

MQTT底层网络传输将建立:它将建立客户端与服务器的连接,并提供基于字节流的有序、无损的双向传输。

通过应用数据MQTT网络发送时,MQTT相关质量相关(QoS)和主题名(Topic)相关连。

2.3MQTT客户端

一个使用MQTT该协议的应用程序或设备总是建立在服务器的网络连接上。客户端可以:

  • 发布其他客户端可能订阅的信息
  • 订阅其他客户端发布的消息
  • 退订或删除应用程序消息
  • 断开连接到服务器

2.4MQTT服务器

MQTT服务器被称为消息代理(Broker),它可以是应用程序或设备。它位于新闻中发布者订阅者之间,它可以:

  • 接受客户的网络连接
  • 接受客户发布的应用信息
  • 处理客户端的订阅和退订请求
  • 将应用程序消息转发给订阅客户

2.5MQTT订阅、主题、会话

订阅包括主题筛选器(Topic Filter)以及最大的服务质量(QoS)。订阅会和会话(Session)关联。一个会话可以包含多个订阅。每个会话中的每个订阅都有不同的主题筛选器。

每个客户端与服务器建立连接后,都是客户端与服务器之间的状态交互。会话存在于网络之间,也可能跨越客户端与服务器之间的多个连续网络连接。

连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。

在订阅表达式中使用主题名通配符筛选器,表示订阅匹配的多个主题。

消息订阅者收到的具体内容

2.6MQTT协议中的方法

MQTT协议中定义了一些方法(也称为动作), 来表示操作确定资源。 根据服务器的实现,该资源可以代表预先存在的数据或动态生成数据。一般来说,资源是指服务器上的文件或输出。

Connect,等待与服务器建立连接

Disconnect,等待MQTT客户端完成工作,与服务器断开TCP/IP会话

Subscribe,等待订阅完成

UnSubscribe,一个或多个等待服务器取消客户端topics订阅

Publish,MQTT客户端发送消息请求,发送后返回应用程序线程

(原文地址:MQTT协议-MQTT协议简介及协议原则)

标签: zwb传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台