本指南提供在Windows上使用Docker安装ThingsBoard Edge的分步说明。
前置条件
要运行 ThingsBoard Professional Edition Edge,需具备支持 Edge 功能的活跃 ThingsBoard Professional Edition 账号。
注册 ThingsBoard Cloud 账号,这是最简单的入门方式。在本教程后续内容中,该URL将称为 SERVER_URL。 请使用ThingsBoard Cloud 租户凭据登录。 |
|
您可以安装ThingsBoard Professional Edition本地Server。请参阅 ThingsBoard安装指南。 可通过 http://localhost:8080 访问本地Server。在本教程中,我们将该URL称为 SERVER_URL。请使用以下凭据登录:
|
Edge 硬件要求
ThingsBoard Edge 的硬件要求取决于连接设备数量及与平台界面的交互强度。 为获得最佳性能,建议如下:
- 至少 1GB RAM(轻负载): 适用于与平台界面交互较少(如 dashboards 和设备管理)及少于 100 台连接设备的场景。
- 至少 4GB RAM(重负载): 适用于与平台频繁交互及单台机器连接 100 台以上设备的场景。
部署新 Edge 实例
要创建新的 Edge:
-
登录 ThingsBoard PE 实例,进入 Edge Management > Instances 区域。点击右上角 ”+” 图标并选择 “Add new edge”。
-
输入要创建的 Edge 名称,如 “My New Edge”。如需要,更新 cloud endpoint。
- 若 Edge 运行在 Docker 容器中,不要使用 “localhost” 作为endpoint,应使用 ThingsBoard PE 所在且 Edge 容器可访问的机器 IP 地址,如 http://10.7.2.143:8080。
- 若使用 ThingsBoard Cloud,则无需修改此设置。
- 点击 “Add” 按钮以确认添加 Edge instance。
-
新 Edge 已创建,将出现在列表顶部(默认按创建时间排序)。
登录 ThingsBoard PE 实例,进入 Edge Management > Instances 区域。点击右上角 ”+” 图标并选择 “Add new edge”。
输入要创建的 Edge 名称,如 “My New Edge”。如需要,更新 cloud endpoint。
- 若 Edge 运行在 Docker 容器中,不要使用 “localhost” 作为endpoint,应使用 ThingsBoard PE 所在且 Edge 容器可访问的机器 IP 地址,如 http://10.7.2.143:8080。
- 若使用 ThingsBoard Cloud,则无需修改此设置。
- 点击 “Add” 按钮以确认添加 Edge instance。
新 Edge 已创建,将出现在列表顶部(默认按创建时间排序)。
Docker安装
安装和配置
步骤1. 运行ThingsBoard Edge
ThingsBoard Edge Docker 镜像位置:
Windows用户应使用Docker管理卷来存储ThingsBoard Edge数据库。
在执行docker run命令之前,先创建Docker卷(例如mytb-edge-data)。
打开”Docker Quickstart Terminal”,执行以下命令创建Docker卷:
1
2
3
docker volume create mytb-edge-data
docker volume create mytb-edge-logs
docker volume create mytb-edge-data-db
在 edge 详情区域点击 Copy Edge Key 和 Copy Edge Secret。 这将把 edge 凭证复制到剪贴板。 请妥善保存,后续步骤将用到这些值。
为ThingsBoard Edge服务创建Docker Compose文件:
1
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
version: '3.8'
services:
mytbedge:
restart: always
image: "thingsboard/tb-edge-pe:4.3.0.1EDGEPE"
ports:
- "8080:8080"
- "1883:1883"
- "5683-5688:5683-5688/udp"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/tb-edge
EDGE_LICENSE_INSTANCE_DATA_FILE: /data/instance-edge-license.data
CLOUD_ROUTING_KEY: PUT_YOUR_EDGE_KEY_HERE # e.g. 19ea7ee8-5e6d-e642-4f32-05440a529015
CLOUD_ROUTING_SECRET: PUT_YOUR_EDGE_SECRET_HERE # e.g. bztvkvfqsye7omv9uxlp
CLOUD_RPC_HOST: PUT_YOUR_CLOUD_IP # e.g. 192.168.1.1 or thingsboard.cloud
CLOUD_RPC_SSL_ENABLED: 'false' # set it to 'true' if you are connecting edge to thingsboard.cloud
volumes:
- mytb-edge-data:/data
- mytb-edge-logs:/var/log/tb-edge
postgres:
restart: always
image: "postgres:15"
ports:
- "5432"
environment:
POSTGRES_DB: tb-edge
POSTGRES_PASSWORD: postgres
volumes:
- mytb-edge-data-db:/var/lib/postgresql/data
volumes:
mytb-edge-data:
external: true
mytb-edge-logs:
external: true
mytb-edge-data-db:
external: true
说明:
- restart: always: 系统重启或故障后 ThingsBoard Edge 将自动启动。
- 8080:8080: 将本地端口 8080 映射到容器内部 HTTP 端口 8080。
- 1883:1883: 将本地端口 1883 映射到容器内部 MQTT 端口 1883。
-
5683-5688:5683-5688/udp: 将本地 UDP 端口 5683–5688 映射到容器内部 CoAP 与 LwM2M 端口。
-
thingsboard/tb-edge-pe:4.3.0.1EDGEPE: ThingsBoard Edge PE Docker 镜像。
- CLOUD_ROUTING_KEY: 填入实际的 Edge key。
- CLOUD_ROUTING_SECRET: 填入实际的 Edge secret。
-
CLOUD_RPC_HOST: 运行 ThingsBoard 平台的机器 IP 地址或主机名。
- CLOUD_RPC_SSL_ENABLED: 定义 Edge 与 ThingsBoard 服务器间连接是否使用 SSL。true 启用,false 禁用。
要更新 docker-compose.yml 中的端口配置,请执行:
1
sed -i 's/8080:8080/18080:8080/; s/1883:1883/11883:1883/; s/5683-5688:5683-5688\/udp/15683-15688:5683-5688\/udp/' docker-compose.yml
将终端切换到包含 docker-compose.yml 文件的目录,执行以下命令直接启动该 docker compose:
1
docker compose up -d && docker compose logs -f mytbedge
步骤2. 打开ThingsBoard Edge UI
Edge 服务启动后,在 http://localhost:8080 打开 Edge UI。
请使用 ThingsBoard Server 的租户凭证 or ThingsBoard Cloud{: target=登录 ThingsBoard Edge。
步骤3. 分离、停止和启动命令
可使用 Ctrl-p Ctrl-q 键序从会话终端分离——容器将继续在后台运行。
如有问题,可检查服务日志以排查错误。 例如,查看 ThingsBoard Edge 容器日志请执行以下命令:
1
docker compose logs -f mytbedge
停止容器:
1
docker compose stop mytbedge
启动容器:
1
docker compose start mytbedge
故障排查
DNS问题
注意 若出现与 DNS 相关的错误,例如:
1
127.0.1.1:53: cannot unmarshal DNS message
可将系统配置为使用 Google 公共 DNS 服务器。
下一步
恭喜!您已成功配置、安装 ThingsBoard Edge 并连接到 ThingsBoard 服务器。
可继续阅读 入门指南 了解 ThingsBoard Edge 基础知识,或直接进入更进阶主题:
-
Getting started guide(入门指南)- 快速概览 ThingsBoard Edge 主要功能。预计 15–30 分钟完成:
-
Edge 规则引擎:
-
Rule Chain Templates(规则链模板)- 了解如何使用 ThingsBoard Edge 规则链模板。
-
Provision Rule Chains from cloud to edge(从云端向 Edge 下发规则链)- 了解如何从云端向 Edge 下发边缘规则链。
-
- 安全:
- gRPC over SSL/TLS - 了解如何为 Edge 与云端之间的通信配置 gRPC over SSL/TLS。
-
功能:
-
Edge Status(Edge 状态)- 了解 ThingsBoard Edge 上的 Edge Status 页面。
-
Cloud Events(云端事件)- 了解 ThingsBoard Edge 上的 Cloud Events 页面。
-
-
使用场景:
-
Manage alarms and RPC requests on edge devices(在边缘设备上管理告警和 RPC 请求)- 本指南展示如何在 Edge 上生成本地告警并向连接到 Edge 的设备发送 RPC 请求:
-
Data filtering and traffic reduce(数据过滤与流量削减)- 本指南展示如何从 Edge 向云端仅发送过滤后的设备数据:
-
- Roadmap(路线图)- ThingsBoard Edge 路线图。