更新时间:2024-10-23 GMT+08:00
分享

使用前必读

MQTT概述

MQTT标准规范参见《mqtt-v3.1.1-os.pdf》。

MQTT的语法和接口细节,请以此标准为准。设备发放目前仅支持MQTTS/HTTPS这种安全接入的设备进行发放,暂不支持MQTT/HTTP这种非安全接入的设备进行发放。

MQTT消息分为固定报头(Fixed header)、可变报头(Variable header)和有效载荷(Payload)部分。

固定报头(Fixed header)和可变报头(Variable header)格式的填写直接MQTT标准规范。有效载荷(Payload)部分在PUB消息中可以由应用定义,即设备和设备发放平台之间自己定义。

下面主要介绍CONNECT、SUB和PUB消息格式的填写。

  • CONNECT - Client requests a connection to a server

    有效载荷(Payload)中的主要参数填写,具体参见MQTT CONNECT连接鉴权

  • SUBSCRIBE - Subscribe to named topics

    有效载荷(Payload)中的主要参数填写:Topic name,填写为设备想要订阅的主题消息,目前填写为设备自己的topic,具体参见Topic说明

  • PUBLISH - Publish message
    • 可变报头(Variable header):Topic name,设备发往设备发放平台时,为平台的Topic name,设备接收消息时,为设备的Topic name,具体参见Topic说明
    • 有效载荷(Payload)中的主要参数填写:为完整的数据上报和命令下发的消息内容,目前是一个JSON对象。

Topic说明

  • 设备发放平台作为消息接收方时,已默认订阅了相关Topic,设备只要向对应Topic发送消息,设备发放平台就可以接收。
  • 设备作为消息接收方时,需要先订阅相关Topic,这样设备发放平台向对应Topic发送消息时,设备才能接收到。设备需要根据具体实现的业务来决定订阅哪些Topic。
    表1 设备发放Topic

    Topic

    消息发送方

    (Publisher)

    消息接收方

    (Subscriber)

    说明

    $oc/devices/{device_id}/sys/bootstrap/up

    设备

    设备发放平台

    设备向发放服务请求对应设备接入实例的引导信息。

    $oc/devices/{device_id}/sys/bootstrap/down

    设备发放平台

    设备

    设备接收发放服务下发的引导信息。

场景示例矩阵

表2 示例列表

注册/注册组

认证类型

策略类型

示例

注册

证书认证

证书策略

MQTT X.509证书认证设备使用证书策略发放示例

注册

密钥认证

静态策略

MQTT 密钥设备使用静态策略发放示例

注册组

证书认证

自定义策略

MQTT 注册组自定义策略发放示例

注册组

云证书认证

证书策略

MQTT 华为云证书注册组发放示例

注册组

证书认证

自定义策略

MQTT 注册组自定义策略发放示例

注册

密钥认证

静态策略(跨账号)

MQTT 密钥设备跨账号使用静态策略发放示例

相关文档