ThingsBoard IoT Gateway支持设备预配 功能,可在ThingsBoard平台上自动注册并获取凭证,无需手动配置。
特别适用于:
- 设备厂商 — 以最少配置实现批量部署。
- 系统集成商 — 简化现场安装,避免逐台设备手动配置。
预配完成后,网关使用获取的凭证连接平台并作为标准ThingsBoard设备运行。
工作原理
网关启动时:
1.检查本地是否已存储设备凭证。
2.如果缺少凭证,则使用预配凭证(Key和Secret)向平台请求注册。
3.平台:
-根据设备配置文件中选择的设备预配策略,创建新设备或使用已有设备。
-为设备分配请求的名称或默认名称。
-生成设备凭证。
4.网关将这些凭证存储在本地,并在后续所有连接中使用。
如果需要更改或重新生成凭证,可以删除已存储的凭证,网关将在下次启动时重新进行预配。
环境变量
预配参数通过环境变量进行配置。
您可以在docker-compose.yml中定义,也可以在环境中手动设置。
| 变量名 | 必填 | 说明 |
|---|---|---|
TB_GW_PROVISIONING_DEVICE_KEY |
是 | 预配设备Key(由平台管理员提供)。 |
TB_GW_PROVISIONING_DEVICE_SECRET |
是 | 预配设备Secret(由平台管理员提供)。 |
TB_GW_PROVISIONING_DEVICE_NAME |
否 | ThingsBoard中预配设备的名称。如未设置,将生成随机名称。 |
TB_GW_PROVISIONING_DEVICE_ACCESS_TOKEN |
否 | 如已设置,平台将为设备分配此令牌并使用Access Token认证。 |
TB_GW_PROVISIONING_DEVICE_USERNAME |
否 | MQTT Basic认证用户名。必须与密码/客户端ID配合使用(凭证类型为MQTT Basic)。 |
TB_GW_PROVISIONING_DEVICE_PASSWORD |
否 | MQTT Basic认证密码。与用户名/客户端ID配合使用。 |
TB_GW_PROVISIONING_DEVICE_CLIENT_ID |
否 | MQTT Basic认证客户端ID。 |
TB_GW_PROVISIONING_DEVICE_CA_CERT_FILENAME |
否 | config/文件夹中CA证书文件的名称。如已设置,网关将生成客户端证书并使用X.509 Certificate认证。 |
注意:
凭证类型由您提供的可选参数决定。
例如:
ACCESS_TOKEN→ Access Token认证USERNAME/PASSWORD/CLIENT_ID→ MQTT Basic认证CA_CERT_FILENAME→ X.509认证
预配流程
1.配置好预配变量后启动网关。 2.网关使用设备Key和Secret发送预配请求。 3.平台根据提供的配置返回生成的凭证。 4.凭证保存在本地网关的配置目录中。 5.网关使用这些凭证连接ThingsBoard。
重置预配凭证
如果您希望网关重新进行预配(例如更改认证类型或轮换凭证),可以通过服务RPC删除已存储的凭证:
RPC方法: remove_provisioned_credentials
执行后: -网关将从配置文件夹中删除已存储的凭证。 -在下次重启时,将重新执行预配流程。
示例:使用设备预配
使用预配功能需要执行以下步骤:
1.创建设备配置文件
-进入”设备配置文件“页面,点击”加号“按钮,从下拉菜单中选择”创建新设备配置文件“。 -输入设备配置文件名称并打开设备预配标签页。 -选择”允许创建新设备“选项以启用预配。 -复制/保存预配设备Key和预配设备Secret。 -点击”添加“创建设备配置文件。
复制/保存**预配设备Key**和**预配设备Secret**。
点击"**添加**"创建设备配置文件。" itemprop="contentUrl"> <img src="/images/gateway/device-provisioning/gateway-device-provisioning-3-ce-preview.png title:选择"**允许创建新设备**"选项以启用预配。
复制/保存**预配设备Key**和**预配设备Secret**。
点击"**添加**"创建设备配置文件。" itemprop="thumbnail" alt=''> </a>
2.下载网关配置文件
3.编辑配置文件
-打开下载的docker-compose.yml并设置预配变量:
1
2
3
4
5
6
7
8
...
environment:
- host=THINGSBOARD_HOST
- port=THINGSBOARD_PORT
- TB_GW_PROVISIONING_DEVICE_KEY=YOUR_PROVISION_KEY
- TB_GW_PROVISIONING_DEVICE_SECRET=YOUR_PROVISION_SECRET
- TB_GW_PROVISIONING_DEVICE_NAME=Factory-Gateway-01
...
*将THINGSBOARD_HOST和THINGSBOARD_PORT替换为您的ThingsBoard实例的主机地址和端口。
*将YOUR_PROVISION_KEY和YOUR_PROVISION_SECRET替换为设备配置文件中的值。
4.启动网关
-执行以下命令运行网关:
1
docker compose up
5.验证连接
网关自动注册,获取凭证并使用凭证进行连接。
在ThingsBoard界面中,可在”网关“页面或设备详情中查看状态。