使用前必读
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
设备发放平台
设备
设备接收发放服务下发的引导信息。
场景示例矩阵
注册/注册组 |
认证类型 |
策略类型 |
示例 |
---|---|---|---|
注册 |
证书认证 |
证书策略 |
|
注册 |
密钥认证 |
静态策略 |
|
注册组 |
证书认证 |
自定义策略 |
|
注册组 |
云证书认证 |
证书策略 |
|
注册组 |
证书认证 |
自定义策略 |
|
注册 |
密钥认证 |
静态策略(跨账号) |