更新时间:2023-04-13 GMT+08:00
分享

使用前必读

非联通用户请查看设备接入服务

MQTT概述

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

MQTT的语法和接口细节,请以此标准为准。平台目前只支持MQTTS接入。

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

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

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

  • 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。

Topic

消息发送方

(Publisher)

消息接收方

(Subscriber)

说明

/huawei/v1/devices/{deviceId}/data/{codecMode}

设备

物联网平台

设备向物联网平台上报数据。

  • “codecMode”为订阅的编解码类型,当用户使用自身开发的编解码插件时“codecMode”取值为“binary”,没有开发编解码插件的“codecMode”取值为“json”
  • “deviceId”的值,对一机一密设备,使用deviceId接入时填写为设备注册成功后返回的“deviceId”值;使用nodeId接入时填写为设备注册成功时的“nodeId”值。

/huawei/v1/devices/{deviceId}/command/{codecMode}

物联网平台

设备

设备接收物联网平台下发的命令。

  • “codecMode”为订阅的编解码类型,当用户使用自身开发的编解码插件时“codecMode”取值为“binary”,没有开发编解码插件的“codecMode”取值为“json”
  • “deviceId”的值,对一机一密设备,使用deviceId接入时填写为设备注册成功后返回的“deviceId”值;使用nodeId接入时填写为设备注册成功时的“nodeId”值。

设备注册

一机一密设备支持通过以下两种方式在物联网平台进行注册:

  • 调用API注册设备

    通过注册设备(密码方式)接口在物联网平台进行一机一密设备注册,注册成功会返回设备“deviceId”“secret”

  • 在控制台注册设备

    选择设备管理 > 设备 > 设备注册 > 单个注册,点击“创建”,根据页面内容填写设备信息,注册成功后返回设备“deviceId”“secret”

相关文档