- 前置条件
- 步骤1. 安装Java 17 (OpenJDK)
- 步骤2. ThingsBoard服务安装
- 步骤3. 配置ThingsBoard数据库
- 步骤4. 选择ThingsBoard队列服务
- 步骤5. 低配机器内存更新(4GB内存)
- 步骤6. 运行安装脚本
- 步骤7. 启动ThingsBoard服务
- 安装后步骤
- 故障排查
- 下一步
前置条件
本指南介绍如何在Raspberry Pi上安装ThingsBoard。 硬件要求取决于所选数据库及连接系统的设备数量。 运行ThingsBoard和PostgreSQL至少需要4GB内存。 运行ThingsBoard和Cassandra至少需要8GB内存。
步骤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服务安装
下载安装包。
1
wget https://github.com/thingsboard/thingsboard/releases/download/v4.3.0.1/thingsboard-4.3.0.1.deb
将ThingsBoard安装为服务
1
sudo dpkg -i thingsboard-4.3.0.1.deb
步骤3. 配置ThingsBoard数据库
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"
然后输入并确认密码。
然后,以 “postgres” 用户身份连接 “postgres” 数据库:
1
psql -U postgres -d postgres -h 127.0.0.1 -W
创建名为 “thingsboard” 的 ThingsBoard 数据库:
1
CREATE DATABASE thingsboard;
按两次 “Ctrl+D” 退出 PostgreSQL。
ThingsBoard 配置
编辑 ThingsBoard 配置文件
1
sudo nano /etc/thingsboard/conf/thingsboard.conf
将以下内容添加到配置文件中。请勿忘记将 “PUT_YOUR_POSTGRESQL_PASSWORD_HERE” 替换为您的实际 postgres 用户密码:
1
2
3
4
5
6
7
# 数据库配置
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
# 指定时间戳键值存储的分区大小。允许的值:DAYS、MONTHS、YEARS、INDEFINITE。
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
步骤4. 选择ThingsBoard队列服务
ThingsBoard 使用队列服务进行微服务间的 API 调用,支持以下队列服务:In Memory(默认)和基于 Kafka 的系统。
In Memory 队列已内置且默认启用,无需额外配置。 |
Confluent Cloud 配置要访问 Confluent Cloud,您需要先创建账户,然后创建 Kafka 集群并获取您的 API Key。 ThingsBoard 配置编辑 ThingsBoard 配置文件 将以下内容添加到配置文件中。请勿忘记将 “CLUSTER_API_KEY”、”CLUSTER_API_SECRET” 和 “localhost:9092” 替换为实际的 Confluent Cloud 引导服务器: 您可以通过 UI 更新默认规则引擎队列配置。有关 ThingsBoard 规则引擎队列的更多信息,请参阅文档。 |
步骤5. 低配机器内存更新(4GB内存)
编辑 ThingsBoard 配置文件
1
sudo nano /etc/thingsboard/conf/thingsboard.conf
在配置文件中添加以下行:
1
2
# 更新 ThingsBoard 内存使用并限制为 2G,路径:/etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms2G -Xmx2G"
建议根据服务器资源调整这些参数。该值应至少设置为 2G(GB),若有更多可用 RAM 可相应增加。通常,若不运行其他内存密集型进程(如 Cassandra),可设置为总 RAM 的 1/2,否则设为 1/3。
步骤6. 运行安装脚本
ThingsBoard 服务安装完成且 DB 配置更新后,可执行以下脚本:
1
2
# --loadDemo 选项将加载演示数据:users、devices、assets、rules、部件。
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
步骤7. 启动ThingsBoard服务
执行以下命令启动 ThingsBoard:
1
sudo service thingsboard start
启动后,可通过以下链接访问 Web UI:
1
http://localhost:8080/
若在运行安装脚本时指定了 –loadDemo,可使用以下默认凭证:
- System Administrator:sysadmin@thingsboard.org / sysadmin
- Tenant Administrator:tenant@thingsboard.org / tenant
- Customer User:customer@thingsboard.org / customer
可随时在账户资料页面修改各账户密码。
安装后步骤
升级到新版本ThingsBoard
Raspberry Pi的升级流程与Ubuntu完全相同。
保持平台安全与更新
当有新 ThingsBoard 版本发布时,我们提供简化的更新流程,确保系统获得最新功能和安全补丁,且不危及您的数据。
请参阅官方 升级说明,获取针对您当前部署环境的详细步骤。
故障排查
ThingsBoard 日志存储在以下目录中:
1
/var/log/thingsboard
可使用以下命令检查后端是否有错误:
1
cat /var/log/thingsboard/thingsboard.log | grep ERROR