Skip to content

1. Provision 解决什么问题

当你不想在网关侧手工配置 token/账号,而希望网关“启动后自动获取凭据”时,可以使用 Provision。

插件会:

  1. 连接到 TB 的 provision MQTT broker(通常同 host/port)
  2. 订阅 /provision/response
  3. 发布 /provision/request
  4. 等待响应并提取凭据
  5. 将凭据持久化到 extension storage(下次启动复用)

2. 你需要在 ThingsBoard 侧准备什么

你需要在 TB 中配置 Device Profile 配置,获得:

  • provision_device_key
  • provision_device_secret

Tb provision

device_name 的来源

当前实现中,ProvisionRequest 的 device_name 使用 App 名称(app_name)。
因此建议:把 App 命名为你期望在 TB 中出现的网关名(稳定、可运维)。


3. 重试与超时语义

Provision 配置字段:

  • timeout_ms整个 provision 流程的总超时
  • max_retries:最大重试次数
    • 0 表示无限重试(直到总超时耗尽)
    • 1 表示只尝试一次(失败立即返回)
  • retry_delay_ms:重试间隔

WARNING

即使 max_retries=0,也会受 timeout_ms 约束,超时后会返回 Timeout。


4. 常见排障

  • 一直超时:检查 TB 是否启用了 provision、端口是否可达、ACL/防火墙
  • NotFound/Failure:device key/secret 不匹配,或 TB已存在同名设备
  • 证书模式失败:确认 TB 返回的证书字段格式(certificate/privateKey)与网关解析一致

基于 Apache License 2.0 许可发布.