Skip to content

ThingsBoard 设备自注册(允许创建新设备) ​

正文与配图来自原稿。厂商希望设备上电后自动注册并绑定设备配置,拿到凭证写入 Flash,再正式登录。

1、概述 ​

作为设备生产商,希望设备在 ThingsBoard 中自动注册并指定设备配置。自注册期间,设备可生成唯一凭证,或由服务器下发唯一凭证;设备拿到凭证后存入 Flash,再登录平台。

2、设备自注册流程 ​

流程图:

设备自注册流程

3、案例实操 ​

第一步:设备配置开启「允许创建新设备」 ​

新建设备配置(如「测试设备自注册」),一直到 设备预配置,选择 允许创建新设备,并配置:

  • 密钥名(provisionDeviceKey)
  • 设备密钥(provisionDeviceSecret)

同一类设备共用这对密钥:

预配置:允许创建新设备

密钥名与密钥

保存成功:

配置已保存

第二步:模拟设备用 provision 连接 ​

连接 MQTT 时,Client ID 与 Username 必须使用 provision(源码中 DataConstants.PROVISION):

源码 PROVISION 常量 1

源码 PROVISION 常量 2

模拟连接:

MQTT 以 provision 连接

连接后先订阅响应主题:

text
/provision/response

第三步:发自注册请求 ​

向 /provision/request 发布:

json
{
  "deviceName": "自注册设备-001",
  "provisionDeviceKey": "test",
  "provisionDeviceSecret": "123456"
}
字段含义
deviceName要注册的设备名称
provisionDeviceKey设备配置中的密钥名
provisionDeviceSecret设备配置中的密钥

发送 provision 请求

第四步:确认平台已创建设备 ​

平台出现「自注册设备-001」即注册成功:

设备已创建

设备详情

响应示例:

json
{
  "credentialsValue": "slHbk6SvQBHZaYxayvcK",
  "credentialsType": "ACCESS_TOKEN",
  "status": "SUCCESS"
}

用其中的 credentialsValue 作为后续正式连接的 Client ID / Username(Token) 登录:

用返回 Token 登录

第五步:上报遥测验证 ​

上报遥测

平台遥测正常

4、总结 ​

厂商在平台建好设备配置并设置密钥 → 设备用 provision 身份连 MQTT → /provision/request 注册 → 平台建设备并返回 Token → 设备存 Flash 后改用 Token 登录。该能力对量产设备非常实用。


补充(辅) ​

  • 正式连接后 Topic 与普通设备相同(如 v1/devices/me/telemetry)。
  • 密钥勿硬编码进公开固件仓库;可按批次烧录或安全元件存储。
  • 官方文档:Device provisioning。

相关文章 ​