MQTT文档

MQTT 协议介绍

MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通讯协议,主要用于物联网(IoT)设备之间的消息传递。MQTT协议被设计为在低带宽、不稳定的网络环境中使用,因此具有很好的可靠性和高效性。

协议架构

MQTT协议由三个主要部分组成:客户端、代理(broker)和主题(topic)。客户端是指与代理连接的设备或应用程序,代理是指消息的中间人,它接收客户端的消息并将其传递给订阅了相关主题的其他客户端。主题是一种消息分类的方式,每个主题都有一个唯一的名称,客户端可以通过订阅主题来接收相关的消息。

通讯流程

MQTT协议的通讯流程如下:

  1. 客户端连接代理,并进行身份验证。
  2. 客户端发布消息到代理。
  3. 代理将消息路由到订阅相关主题的客户端。
  4. 客户端接收消息并进行处理。

消息发布

客户端可以通过发布消息到代理来向其他客户端发送消息。消息发布需要指定消息内容、主题名称和服务质量(QoS)。服务质量分为三个等级:

  • QoS0:最多一次传递
  • QoS1:至少一次传递
  • QoS2:恰好一次传递
  • QoS等级越高,消息传递的可靠性越高,但是传递的开销也会相应增加。

消息订阅

客户端可以通过订阅主题来接收相关的消息。订阅需要指定主题名称和服务质量等级。客户端可以订阅多个主题,并且可以使用通配符来订阅多个相关的主题。

断开连接

客户端可以主动断开连接,也可以由代理端断开连接。在断开连接时,客户端需要发送一个断开连接的消息给代理,以便代理可以清理相关的资源。

订阅逻辑

在本平台上,关于设备的数据信息、状态信息、错误报警信息都会通过MQTT进行发布,用户可根据相应的权限和MQTT topic规则订阅相关消息。在本平台上,用户只有订阅自身账户下设备数据的权限,同步不能发布数据只能订阅。