MQTT协议规范

MQTT是基于TCP/IP协议栈构建的异步通信消息协议,是一种轻量级的发布、订阅信息传输协议。MQTT在时间和空间上,将消息发送者与接受者分离,可以在不可靠的网络环境中进行扩展,适用于设备硬件存储空间有限或网络带宽有限的场景。物联网平台支持设备使用MQTT协议接入。

组成和基本概念

MQTT是有以下几部分组成:

  • 发布(Publish)/订阅(Subscribe)
  • 消息(Message)
  • 主题(Topics)
  • 代理(Broker)

    发布(Publish)/订阅(Subscribe)

    MQTT协议接入 - 图1
    发布-订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话)存在。

    主题(Topics)

    MQTT协议接入 - 图2
    主题通过字符串“/“进行划分,主题有2个作用:
  1. 对感兴趣的主题进行分类
  2. 具体说明你想发布消息到哪里

例子:

  1. home/office/lamp

代理(Broker)

MQTT协议接入 - 图3
(代理)Broker有三个主要作用:

  • 接受所有的消息
  • 过滤消息
  • 发布消息到所有订阅的客户端

官方地址:https://mqtt.org/