快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → 带你了解MQTT协议

带你了解MQTT协议

时间:2022-09-26 21:36:24人气:作者:快盘下载我要评论
目前MQTT协议被广泛应用于自动驾驶、工业、通信等领域。本文将详细介绍MQTT协议的特点、如何运作等相关问题。

作者 | 王映月,单位:中国移动智慧家庭运营中心

​Labs 导读

目前MQTT协议被广泛应用于自动驾驶、工业、通信等领域。而在智能家居领域市场上,中国移动、华为、阿里、腾讯等多家IoT平台都支持MQTT协议接入。本文将详细介绍MQTT协议的特点、如何运作等相关问题。

MQTT是结构化信息标准促进组织(OASIS,Organization for the Advancement of Structured Information Standards)标准下的物联网消息传递协议,其轻量级的发布/订阅传输机制,非常适合为远程连接设备提供可靠的消息通信服务。目前MQTT协议被广泛应用于自动驾驶、工业、通信等领域。而在智能家居领域市场上中国移动、华为、阿里、腾讯等多家IoT平台都支持MQTT协议接入。

带你了解MQTT协议

Part 01MQTT协议的特点

- 轻量高效

只需极少的资源即可实现MQTT客户端,这使得MQTT协议可以轻松地在微型芯片上运行。极简报文设置实现最小网络开销。

- 范围广播

轻松实现百万设备消息广播。

- 稳定传输

3种消息传输保障等级,提供不同场景下消息传递的可靠性保证。

- 弱网支持

会话保持机制减少弱网环境下设备重连时间。

- 安全保障

支持多种认证协议保障消息安全

Part 02MQTT协议是怎么工作的●

MQTT协议定义了消息代理节点(Broker)及MQTT客户端(Client),两种网络实体类型。Broker接收Client发送的消息并负责转发这些消息到指定的Client。Client是能与Broker产生交互的任何实体,负责发送与接收消息。常见的Client比如IoT传感器,云端服务器。可见在MQTT协议中消息是通过Broker进行转发的,而不是由一个Client与另一个Client直接连接通信。为了区分,我们可以把Client定义为消息发送者(Publisher-Client)与消息接收者(Subscriber-Client)。

Client与Broker建立连接,该连接可以是一个TCP/IP连接,也可以是一个加密的TLS连接。Subscriber-Client订阅一个主题(Topic)。Publisher-Client发送某个Topic消息到Broker。Broker将该条消息转发给所有订阅该Topic的Subscriber-Client。

Part 03MQTT协议质量保障

众所周知,物联网设备往往处在复杂的网络环境下,比如农业物联网中,蔬菜大棚的传感器设备;工业物联网中,封闭车间的温湿度传感器等等。在这些复杂网络场景下,设备状态是无法确定的,为了在这些场景下保障连接,MQTT协议提供了消息服务质量保障等级(QOS,Quality of Service levels)。

Qos-0最多一次

Qos 0 保障消息到达终点最多不超过1次。消息可能到达1次或根本不会到达。适用于功率受限设备,可以最大减少传播时间,减少消息传递成本;适用于非关键消息传递,例如被频繁重复发送的消息。

MQTT协议

Qos-1 最少一次

Qos 1保障消息到达终点最少不低于1次。Broker在确认接收消息后会返回一个PUBACK消息给到Publisher-Client。如果消息发送失败,Publisher-Client将在一段时间后重发消息。此类型消息适用于重要不可丢失的消息传递,可利用该传输机制保证消息在离线设备上线后仍能收到。Subscriber-Client需要做好重复消息处理工作。

协议

Qos-2 只有一次

Qos 2 保障消息到达终点只有1次。此类消息保证接接收端对于一条消息只接收一次,是MQTT协议中最安全且传输速度最慢的一种消息传递形式。适用于十分重要且不允许重复消息出现的场景使用,由于消息十分重要,因此可忽视额外的网络开销。

协议

Part 04最小MQTT应用搭建

在了解MQTT理论基础概念后,我们一起在Windows系统上搭建一个最小MQTT服务,实现MQTT消息的发送及订阅。

(1)Broker搭建

我们选择开源代理平台Mosquitto作为此次最小MQTT应用的单点Broker。

将Mosquitto Windows版下载完成后,通过Windows系统终端打开mosquitto.exe文件。输入./mosquitto.exe -p 1883 即在Windows系统上启动了一个MQTT服务,监听地址为127.0.0.1,端口是1883。

(2)Client搭建

完成Broker搭建后,我们还需要Client实现消息的发送和订阅。我们选择mqtt.fx软件作为此次最小MQTT应用的Client。打开mqtt.fx软件,我们通过设置MQTT Broker Address为127.0.01,Broker Port为1883,并自定义Client ID。完成设置后,点击主页面的Connect,页面右上角的连接指示灯显示为绿色即表示完成了连接,此时我们实现了Client到Broker的连接。

(3)消息订阅

假定步骤二创建的Client为一个Subscriber-Client,此时通过点击主页面中的Subscribe,填写订阅Topic信息,在示例中我订阅的Topic为test,即可完成该Client对于该Topic订阅。

(4)消息发送

重新打开一个mqtt.fx客户端,创建一个Publisher-Client,设置MQTT Broker信息与Subscriber-Client信息一致,成功连接Broker后,在Publish页面下,向指定Topic即test发送信息,此时我们可以在Subscriber-Client界面上看到消息成功的从Broker转发至Subscriber-Client。

至此一个最小的MQTT应用就搭建完成了。

MQTT协议

综上所述,MQTT协议关注于消息,拥有轻量、高效、低开销等特性,相对于HTTP等广泛应用于互联网场景的协议来说,MQTT协议与物联网通信领域更加契合。​

相关文章

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。