接入文档

这是 S0 阶段的精简版:足够让一台设备把数据发上来。完整文档(SDK、解析脚本、Open API 参考)随 S5 发布。

在控制台「注册设备」后,会得到已填好 Key 的 mqtt.js / Python / AT / HTTP 示例,直接复制运行即可。

MQTT 接入

推荐方式。MQTT 3.1.1,支持 TCP / TLS / WebSocket。用户名固定为productKey&deviceKey,密码为设备 Secret(或 HMAC 签名)。保持长连接时平台按 $SYS 断开事件即时判定离线;低功耗设备按产品的「离线判定」秒数兜底。

mqtt
# 连接参数
host     : mqtt.<你的域名>      port: 1883 (TLS 8883)
clientId : {deviceKey}
username : {productKey}&{deviceKey}
password : {secret}            # 或 HMAC 签名 "sig:<ts>:<hmac>"

# 上报属性(QoS 1)
topic    : /{productKey}/{deviceKey}/thing/property/post
payload  : {"id":"1","params":{"temperature":24.5,"voltage":225.7},"ts":1726800000}

HTTP 接入

适合抄表器、只会发 HTTP 的模组。一次 POST 一条属性报文,鉴权走请求头。HTTP 设备没有长连接,离线只按上报间隔判定。

bash
curl -X POST "https://<你的域名>/api/device/v1/property" \
  -H "Content-Type: application/json" \
  -H "X-Device-Key: {deviceKey}" \
  -H "X-Device-Secret: {secret}" \
  -d '{"id":"1","params":{"temperature":24.5,"voltage":225.7},"ts":1726800000}'

Topic 规范

命名兼容阿里云物联网平台,方便已有固件迁移。所有 Topic 以 productKey / deviceKey 开头。

用途Topic方向说明
属性上报/{productKey}/{deviceKey}/thing/property/post设备 → 平台payload: {id, params:{k:v}, ts}
事件上报/{productKey}/{deviceKey}/thing/event/{event}/post设备 → 平台payload: {id, params:{…}, ts};{event} 为物模型事件标识符
原始报文/{productKey}/{deviceKey}/raw/up设备 → 平台二进制 / 私有协议,由产品解析脚本转成属性
服务调用/{productKey}/{deviceKey}/thing/service/{service}平台 → 设备payload: {id, params:{…}};设备订阅后执行
服务应答/{productKey}/{deviceKey}/thing/service/{service}_reply设备 → 平台payload: {id, code, data};id 与调用一致
期望值下发/{productKey}/{deviceKey}/shadow/desired平台 → 设备影子期望值,设备上线后补发
子设备拓扑/{productKey}/{deviceKey}/topo/add网关 → 平台网关注册子设备:{subDevices:[{deviceKey}]}