Skip to main content
Version: 3.2.1

MQTT 设备 API

基础入门

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

详情参考:MQTT协议接入

MQTT连接及错误代码

您可以使用设备访问令牌,它也称为 $ACCESS_TOKEN。应用程序需要发送用户名为 $ACCESS_TOKEN 的 MQTT CONNECT 消息。

错误码说明:

codemessage备注
0x00Connected成功连接到物联平台
0x04Connection Refused, bad username or password用户名为空
0x05Connection Refused, not authorized未授权- 用户名包含无效的 $ACCESS_TOKEN

数据格式-键值对

默认情况下,物联平台支持以 JSON 格式的Key-Value内容。键始终是字符串,而值可以是string, boolean, double, long 或 JSON。例如:

{
"stringKey":"value",
"booleanKey":true,
"doubleKey":28.2,
"longKey":45,
"jsonKey": {
"number": 1,
"array": [100,200,300],
"object": {"key": "value"}
}
}

遥测上报接口

发送遥测数据到物联平台,请将 PUBLISH 消息发送到以下主题:

v1/devices/me/telemetry

支持的数据格式为:

{"key1":"value1", "key2":"value2"}

请注意,在这种情况下,服务器端时间戳将分配给上传的数据!

如果您的设备能够获取客户端时间戳,您可以使用以下格式:

{"ts":1653667614599, "values":{"key1":"value1", "key2":"value2"}}

属性上报接口

上报属性到设备

客户端属性最常见的用法是报告设备状态,比如向平台报告设备已安装的固件、应用程序版本等

您可以将客户端设备属性发布到物联平台,请发送 PUBLISH 消息到以下主题:

v1/devices/me/attributes
{"currentFirmwareVersion":"1.0.0"}

请求设备属性

您可以向物联平台请求客户端或共享设备属性,请将 PUBLISH 消息发送到以下主题:

v1/devices/me/attributes/request/$request_id

其中 $request_id 是您的整数请求标识符,在发送带有请求的 PUBLISH 消息之前,客户端需要订阅

v1/devices/me/attributes/response/+

例如:

订阅属性更新

要订阅共享设备属性更改,请向以下主题发送 SUBSCRIBE 消息:

v1/devices/me/attributes

如果服务端更改了共享属性时,客户端就会收到对应属性值: