05 thingsboard-4.3-ubuntu20-rk3588-部署

05 thingsboard-4.3-ubuntu20-rk3588-部署

在rk3588安装docker,遇到一些问题,主要是nat相关的问题,需要重新编译内核,但是有点麻烦,因此决定还是使用deb包安装

安装postgresql

thingsboard 依赖thingsboard

安装

安装指令

shell 复制代码
apt install -y postgresql-12:arm64 postgresql-client-12:arm64

安装情况确认

text 复制代码
root@zhongrui:~# dpkg -l | grep -i postgresql
ii  libpq5:arm64                               12.22-0ubuntu0.20.04.4               arm64        PostgreSQL C client library
ii  postgresql-12                              12.22-0ubuntu0.20.04.4               arm64        object-relational SQL database, version 12 server
ii  postgresql-client-12                       12.22-0ubuntu0.20.04.4               arm64        front-end programs for PostgreSQL 12
ii  postgresql-client-common                   214ubuntu0.1                         all          manager for multiple PostgreSQL client versions
ii  postgresql-common                          214ubuntu0.1                         all          PostgreSQL database-cluster manager
root@zhongrui:~# psql --version
psql (PostgreSQL) 12.22 (Ubuntu 12.22-0ubuntu0.20.04.4)

配置 postgresql

配置

配置thingsboard对应的账号和密码

shell 复制代码
# 1. 切换到postgres系统用户(默认无密码)
su - postgres

# 2. 进入psql命令行
psql

# 3. 设置postgres超级用户密码为postgres(记好!)
ALTER USER postgres WITH PASSWORD 'postgres';
# 输出 "ALTER ROLE" 即为成功

# 4. 创建ThingsBoard专用数据库
CREATE DATABASE thingsboard WITH ENCODING='UTF8';

# 5. 授予postgres用户对thingsboard数据库的全部权限
GRANT ALL PRIVILEGES ON DATABASE thingsboard TO postgres;

# 6. 退出psql和postgres用户
\q
Exit

查看账号

sql 复制代码
postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

查看数据库

sql 复制代码
postgres=# \l         
                               List of databases
    Name     |  Owner   | Encoding | Collate |  Ctype  |   Access privileges   
-------------+----------+----------+---------+---------+-----------------------
 postgres    | postgres | UTF8     | C.UTF-8 | C.UTF-8 | 
 template0   | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
             |          |          |         |         | postgres=CTc/postgres
 template1   | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
             |          |          |         |         | postgres=CTc/postgres
 thingsboard | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =Tc/postgres         +
             |          |          |         |         | postgres=CTc/postgres
(4 rows)

安装 thingsboard

下载

下载安装包 https://github.com/thingsboard/thingsboard/releases/tag/v4.3


安装

shell 复制代码
dpkg -i thingsboard-4.3.deb

启动

首次启动需要执行如下指令

shell 复制代码
# 执行初始化(带演示数据,强制绑定PostgreSQL)
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

常规启动thingsboard

shell 复制代码
systemctl restart thingsboard

确认状态

shell 复制代码
systemctl status thingsboard
text 复制代码
root@zhongrui:/work/thingboard# systemctl status thingsboard
● thingsboard.service - thingsboard
     Loaded: loaded (/lib/systemd/system/thingsboard.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2026-01-25 13:53:05 CST; 5s ago
   Main PID: 32408 (thingsboard.jar)
     CGroup: /system.slice/thingsboard.service
             ├─32408 /bin/bash /usr/share/thingsboard/bin/thingsboard.jar
             └─32423 /usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -Dplatform=deb -Dinstall.data_dir=/usr/share/thingsboard/data -Xms512M -Xmx1024M -Xlog:gc*,heap*>

Jan 25 13:53:05 zhongrui thingsboard.jar[32423]: OpenJDK 64-Bit Server VM warning: Option UseBiasedLocking was deprecated in version 15.0 and will likely be removed in a future re>
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:   _____ _     _                 ____                      _
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:  |_   _| |__ (_)_ __   __ _ ___| __ )  ___   __ _ _ __ __| |
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:    | | | '_ \| | '_ \ / _` / __|  _ \ / _ \ / _` | '__/ _` |
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:    | | | | | | | | | | (_| \__ \ |_) | (_) | (_| | | | (_| |
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:    |_| |_| |_|_|_| |_|\__, |___/____/ \___/ \__,_|_|  \__,_|
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:                       |___/
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:  ===========================================================
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:  :: ThingsBoard ::       (v4.3.0)
Jan 25 13:53:08 zhongrui thingsboard.jar[32423]:  ===========================================================

查看端口号

正常如果启动成功,开启8080端口

shell 复制代码
ss -tulpn | grep java
text 复制代码
root@zhongrui:/work/thingboard# ss -tulpn | grep java
udp    UNCONN  0        0                        *:37695                *:*      users:(("java",pid=32423,fd=95))                                               
udp    UNCONN  0        0                        *:5683                 *:*      users:(("java",pid=32423,fd=92))                                               
udp    UNCONN  0        0                        *:5685                 *:*      users:(("java",pid=32423,fd=146))                                              
udp    UNCONN  0        0                        *:5686                 *:*      users:(("java",pid=32423,fd=147))                                              
udp    UNCONN  0        0                        *:5687                 *:*      users:(("java",pid=32423,fd=93))                                               
udp    UNCONN  0        0                        *:5688                 *:*      users:(("java",pid=32423,fd=94))                                               
tcp    LISTEN  0        0                        *:1883                 *:*      users:(("java",pid=32423,fd=91))                                               
tcp    LISTEN  0        0                        *:7070                 *:*      users:(("java",pid=32423,fd=145))                                              
tcp    LISTEN  0        0                        *:8080                 *:*      users:(("java",pid=32423,fd=114))      

UDP是无连接的轻量级传输协议,适合低功耗/窄带宽的物联网设备(如传感器、嵌入式设备):

端口 协议/功能 核心用途 你的使用场景
5683 CoAP 主端口 ThingsBoard的CoAP协议服务端,接收CoAP设备的遥测数据上报、命令下发 适用于低功耗物联网设备(如NB-IoT传感器),比MQTT更轻量化
5685/5686/5687/5688 CoAP 备用/扩展端口 ThingsBoard内置的CoAP扩展端口,用于多租户隔离、协议适配或负载分担 日常使用主要用5683,这些端口默认备用,无需关注
37695 随机UDP端口 Java进程的临时UDP端口,用于内部网络通信(如服务发现、心跳检测) 系统自动分配,无实际业务用途,无需干预

TCP是面向连接的可靠传输协议,用于Web访问、API调用、高可靠的设备接入:

端口 功能 核心用途 你的使用场景
8080 Web UI + REST API ① 访问ThingsBoard的Web管理界面(登录、仪表盘、设备管理);② 调用REST API(创建设备、查询数据、配置规则引擎) 你日常操作的核心端口,访问http://RK3588_IP:8080就是用这个端口
1883 MQTT 主端口 ThingsBoard的MQTT协议服务端,接收MQTT设备的遥测数据上报、设备状态上报、远程控制命令下发 物联网设备接入的核心端口(90%的IoT设备用MQTT),比如传感器、网关通过这个端口上报温湿度、开关状态等
7070 边缘计算/远程RPC ThingsBoard Edge(边缘节点)的通信端口,用于边缘设备和云端的双向RPC调用、数据同步 若你用RK3588做边缘网关,这个端口用于和云端ThingsBoard同步数据;仅用单机版的话,默认备用即可
  1. 所有核心端口正常监听 → ThingsBoard完全安装成功
    • 8080(Web/API)、1883(MQTT)、5683(CoAP)都在监听,说明ThingsBoard的核心功能(Web管理、设备接入)全部就绪;
    • 无端口缺失/未监听,排除了"服务启动不完整"的问题。
  2. 不同端口的使用优先级
    • 日常管理:优先用8080端口(Web界面);
    • 设备接入:优先用1883端口(MQTT,适配绝大多数物联网设备);
    • 低功耗设备:用5683端口(CoAP,比如电池供电的传感器)。
  3. 无需关注的端口
    • 37695(随机UDP)、5685-5688(CoAP备用)、7070(边缘计算),这些端口不影响基础使用,保持默认即可。

web访问

默认账号

ThingsBoard 安装后默认提供 3个不同权限的账号,分别对应系统管理、租户管理、客户查看三类核心场景,适配不同的操作需求,默认账号密码如下:

角色 登录邮箱 默认密码 核心权限 适用场景
系统管理员 sysadmin@thingsboard.org sysadmin 最高权限,管理所有租户、用户、设备、规则链,可分配租户资源 平台整体运维、租户创建与管理
租户管理员 tenant@thingsboard.org tenant 管理本租户下的设备、仪表盘、客户、规则引擎,无法管理其他租户 单个租户的设备接入与数据管理
客户用户 customer@thingsboard.org customer 仅能查看被授权的设备和仪表盘,无修改权限 终端用户查看数据(如设备运维人员)
相关推荐
湘-枫叶情缘2 分钟前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy6481 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满1 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠1 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio1 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice1 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
主机哥哥1 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
Harvey9031 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技3 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
A星空1233 小时前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c