- 前置条件
- 步骤1. 安装Java 17(OpenJDK)
- 步骤2. 安装ThingsBoard Edge服务
- 步骤3. 配置ThingsBoard Edge数据库
- 步骤4. 队列服务
- 步骤5. (可选)为低配机器调整内存
- 步骤6. 运行安装脚本
- 步骤7. 重启ThingsBoard Edge服务
- 步骤8. 打开ThingsBoard Edge UI
- 故障排查
- 下一步
本指南提供在Raspberry Pi上安装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 已创建,将出现在列表顶部(默认按创建时间排序)。
步骤1. 安装Java 17(OpenJDK)
ThingsBoard 服务运行在 Java 17 上。请按以下说明安装 OpenJDK 17:
1
sudo apt update && sudo apt install openjdk-17-jdk-headless
将您的操作系统配置为默认使用 OpenJDK 17。您可以通过运行以下命令来配置默认版本:
1
sudo update-alternatives --config java
要检查系统上已安装的 Java 版本,请使用以下命令:
1
java -version
预期输出为:
1
2
3
openjdk version "17.x.xx"
OpenJDK Runtime Environment (...)
OpenJDK 64-Bit Server VM (...)
步骤2. 安装ThingsBoard Edge服务
下载安装包。
1
wget https://dist.thingsboard.io/tb-edge-4.3.0.1pe.deb
进入下载目录并安装ThingsBoard Edge服务:
1
sudo dpkg -i tb-edge-4.3.0.1pe.deb
步骤3. 配置ThingsBoard Edge数据库
ThingsBoard Edge 使用 PostgreSQL 作为本地存储。
以下说明将帮助您安装 PostgreSQL。
1
2
3
4
5
6
7
8
9
10
11
12
13
# 若尚未安装 **wget**,请先安装:
sudo apt install -y wget
# 导入软件源签名密钥:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# 将软件源添加到系统:
echo "deb https://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
# 安装并启动 postgresql 服务:
sudo apt update
sudo apt -y install postgresql
sudo service postgresql start
安装 PostgreSQL 后,建议为 PostgreSQL 主用户 设置密码。
以下命令将切换当前用户为 PostgreSQL 用户并在 PostgreSQL 中直接设置密码。
1
sudo -u postgres psql -c "\password"
然后输入并确认密码。
最后,执行以下命令创建名为 tb_edge 的 PostgreSQL 数据库:
1
echo "CREATE DATABASE tb_edge;" | psql -U postgres -d postgres -h 127.0.0.1 -W
ThingsBoard 配置
编辑 ThingsBoard Edge 配置文件:
1
2
3
4
5
sudo bash -c 'echo "export DATABASE_TS_TYPE=sql
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS" >> /etc/tb-edge/conf/tb-edge.conf'
- PUT_YOUR_POSTGRESQL_PASSWORD_HERE: 替换为 实际的 PostgreSQL 密码。
- SQL_POSTGRES_TS_KV_PARTITIONING: 指定时间序列 key-value 存储的分区大小。可选值:DAYS、MONTHS、YEARS、INDEFINITE。
步骤4. 队列服务
默认情况下,ThingsBoard Edge使用内置的队列实现,无需额外配置。
适用于开发或概念验证(PoC)环境,但由于可扩展性有限,不建议用于生产或任何类型的集群部署。
步骤5. (可选)为低配机器调整内存
执行以下命令编辑 ThingsBoard Edge 配置文件:
1
echo 'export JAVA_OPTS="$JAVA_OPTS -Xms512M -Xmx1G"' | sudo tee -a /etc/tb-edge/conf/tb-edge.conf
该命令在 JAVA_OPTS 当前值后追加两个选项:
- Xms512M: 将 Java 虚拟机(JVM)初始堆大小设为 512 MB。
- Xmx1G: 将 JVM 最大堆大小设为 1 GB。
建议根据服务器资源调整这些参数。
应至少设为 2G,若有更多 RAM 可相应增加。
一般情况下,若不运行其他内存密集型进程(如 Cassandra),可设为总 RAM 的 1/2,否则设为 1/3。
步骤6. 运行安装脚本
ThingsBoard Edge 安装并配置完成后,请执行以下安装脚本:
1
sudo /usr/share/tb-edge/bin/install/install.sh
步骤7. 重启ThingsBoard Edge服务
1
sudo service tb-edge restart
步骤8. 打开ThingsBoard Edge UI
Edge 服务启动后,在 http://localhost:8080 打开 Edge UI。
请使用 ThingsBoard Server 的租户凭证 or ThingsBoard Cloud{: target=登录 ThingsBoard Edge。
- 或将localhost替换为您的Raspberry Pi实际本地IP
故障排查
ThingsBoard Edge的日志存储在以下目录:
1
/var/log/tb-edge
要检查服务端是否有错误,请执行以下命令:
1
cat /var/log/tb-edge/tb-edge.log | grep ERROR
启动 ThingsBoard Edge 服务:
1
sudo service tb-edge start
停止 ThingsBoard Edge 服务:
1
sudo service tb-edge stop
重启 ThingsBoard Edge 服务:
1
sudo service tb-edge restart
查看 ThingsBoard Edge 服务状态:
1
sudo service tb-edge status
下一步
恭喜!您已成功配置、安装 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 路线图。