产品定价 立即试用
边缘
安装 > 本地部署 > Raspberry Pi
入门 文档
架构 API 常见问题
目录

在 Raspberry Pi 上安装 ThingsBoard Edge

文档警告图标

版本兼容规则 - 操作前请阅读

安装 ThingsBoard Edge 前,请确保 ThingsBoard Server安装更新至最新版本。

此外,请确认 ThingsBoard Edge 与 ThingsBoard Server 版本兼容

兼容规则:

  • ThingsBoard Edge 版本 X.Y.Z 可与 ThingsBoard Server 版本 X.Y.Z 及后续 两个版本配合使用。
    • 示例:ThingsBoard Edge 3.8.0 可与 ThingsBoard Server 3.8.0 及两个后续版本(3.9.0、3.9.1)配合。查看 ThingsBoard Server 发行说明
  • ThingsBoard Edge 版本 X.Y.Z 无法与较旧版本的 ThingsBoard Server 配合使用。
    • 示例:ThingsBoard Edge 3.9.1 不支持 ThingsBoard Server 3.8.0 或更早版本,需先将 ThingsBoard Server 升级至最新版本

注意: 若使用较旧版本的 ThingsBoard Edge(如 3.6.0),ThingsBoard 团队无法保证所有功能可用或正常工作。

本指南介绍在 Raspberry Pi 上安装 ThingsBoard Edge 的步骤。

前置条件

要运行 ThingsBoard Community Edition Edge,需具备支持 Edge 功能的活跃 ThingsBoard Community Edition 账号

您可以安装ThingsBoard CE本地Server。请参阅 ThingsBoard安装指南

可通过 http://localhost:8080 访问本地Server。在本教程中,我们将该URL称为 SERVER_URL。请使用以下凭据登录:

  • 用户名: tenant@thingsboard.org
  • 密码: tenant

Edge 硬件要求

ThingsBoard Edge 的硬件要求取决于连接设备数量及与平台界面的交互强度。 为获得最佳性能,建议如下:

  • 至少 1GB RAM(轻负载): 适用于与平台界面交互较少(如 dashboards 和设备管理)及少于 100 台连接设备的场景。
  • 至少 4GB RAM(重负载): 适用于与平台频繁交互及单台机器连接 100 台以上设备的场景。

部署新 Edge 实例

要创建新的 Edge

  • 登录 ThingsBoard CE 实例,进入 Edge Management > Instances 区域。点击右上角 ”+” 图标并选择 “Add new edge”

  • 输入要创建的 Edge 名称,如 “My New Edge”。点击 “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://github.com/thingsboard/thingsboard-edge/releases/download/v4.3.0.1/tb-edge-4.3.0.1.deb

进入下载目录并安装 ThingsBoard Edge 服务

1
sudo dpkg -i tb-edge-4.3.0.1.deb

步骤 3:配置 ThingsBoard Edge 数据库

文档信息图标

ThingsBoard 团队建议在 中等负载(低于 5000 msg/sec) 的开发和生产环境中使用 PostgreSQL。 多数云服务商提供托管 PostgreSQL 服务,对大多数 ThingsBoard 部署来说性价比较高。

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:Queue 服务

默认情况下,ThingsBoard Edge 使用内置 queue 实现,无需额外配置。

适用于开发或概念验证(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
文档信息图标

请确保在根目录下运行此脚本。要切换到根目录,可执行命令 cd /

步骤 7:重启 ThingsBoard Edge 服务

1
sudo service tb-edge restart

步骤 8:打开 ThingsBoard Edge UI

Edge 服务启动后,在 http://localhost:8080 打开 Edge UI

文档信息图标

若Edge安装时将HTTP bind port修改为18080,请通过 http://localhost:18080 访问 ThingsBoard Edge 实例。

请使用 ThingsBoard Server 的租户凭证 登录 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 规则引擎:

  • 安全:
    • gRPC over SSL/TLS - 了解如何为 Edge 与云端之间的通信配置 gRPC over SSL/TLS。
  • 功能:

    • Edge Status(Edge 状态)- 了解 ThingsBoard Edge 上的 Edge Status 页面。

    • Cloud Events(云端事件)- 了解 ThingsBoard Edge 上的 Cloud Events 页面。

  • 使用场景:

  • Roadmap(路线图)- ThingsBoard Edge 路线图。