目录
前言
ThingsBoard是一个开源的物联网平台,专为快速开发、管理和扩展IoT项目而设计。它为云端和本地IoT基础设施提供了开箱即用的解决方案,使开发者能够轻松地配置设备、管理资产、收集和可视化数据,以及分析遥测数据。
本文记录了我从环境搭建到规则链开发的完整实践过程,旨在为同样入门 ThingsBoard 的开发者提供一份可复用的操作指南。在我的学习过程中,通过结合PostgreSQL数据库和Docker容器化技术,我从零搭建一套完整的 IoT 平台,涵盖 PostgreSQL + Docker 部署、设备管理、数据收集、数据处理规则链、可视化仪表板和告警机制。
整套方案采用 ThingsBoard + PostgreSQL + Docker 的组合,PostgreSQL 作为主数据库,Docker 用于容器化运行 ThingsBoard 服务。
一、环境部署与配置
1.1 PostgreSQL 安装配置
从官网下载安装包:
EDB: Open-Source, Enterprise Postgres Database Management

选择合适的安装包,下载到本地,然后运行安装程序,双击下载的安装包,遵循安装向导。
创建数据库:

参考教程:
postgreSQL安装教程及使用方法(保姆级)-CSDN博客
1.2 Thingsboard安装配置
从github下载压缩包:
https://github.com/thingsboard/thingsboard/releases/download/v3.4.4/thingsboard-windows-3.4.4.zip
将压缩包解压到目标目录,例如: Q:\thingsboard\thingsboard_backend\thingsboard-windows-3.4.4\thingsboard
找到: Q:\thingsboard\thingsboard_backend\thingsboard-windows-3.4.4\thingsboard\conf\thingsboard.yml,打开
找到PostgreSQL配置部分,修改为之前创建的数据库信息:

参考教程:
开源物联网平台Thingsboard安装部署详细教程(适用于windows、linux平台)-CSDN博客
1.3 Docker安装配置
从官网下载安装包:
Docker Desktop: The #1 Containerization Tool for Developers | Docker

选择合适的安装包,下载到本地,然后运行安装程序,遵循安装向导。
安装完成后,打开命令提示符或PowerShell,运行 docker --version命令,能显示版本号即表示安装成功。
为了提高下载速度,配置docker下载镜像:

创建项目目录:
Q:\thingsboard\thingsboard_backend\docker\data\thingsboard,用于存放配置文件和数据。
在该目录下创建 docker-compose.yml文件。

编写docker-compose.yml:
services:
thingsboard:
image: thingsboard/tb-postgres:latest
restart: always
platform: linux/amd64
ports:
- "9090:9090" # Web UI端口
- "8080:8080" # HTTP API 和前端界面
- "1883:1883" # MQTT 协议端口
- "5683:5683/udp" # CoAP 协议端口
environment:
TB_QUEUE_TYPE: in-memory
volumes:
- ./data:/data
- ./logs:/var/log/thingsboard
depends_on:
- postgres
postgres:
image: postgres:13
restart: always
platform: linux/amd64
environment:
POSTGRES_DB: thingsboard
POSTGRES_PASSWORD: postgres
volumes:
- ./postgres-data:/var/lib/postgresql/data
在该目录下打开命令行,执行以下命令:
docker-compose up -d

打开docker,如果看到以下容器在运行,即为操作成功:

1.4 Thingsboard界面
完成以上,thingsboard可以正常运行,登陆 http://localhost:9090 或 http://localhost:8080 ,可以看到:

初始密码:sysadmin
二、平台管理配置
2.1 初始化平台
平台管理配置是使用ThingsBoard的核心起点,涉及系统初始化、用户角色体系的理解与实际操作。
登陆ThingsBoard:

2.2 租户与用户管理
在ThingsBoard的多租户架构中,租户是一个核心概念,代表一个独立的客户或组织单元。系统管理员可以为每个客户创建一个租户。每个租户都有自己的管理员账户,该管理员可以独立管理其下的:设备、资产和实体视图、客户和最终用户、规则链、仪表板、告警。
创建租户配置:

创建租户:

创建用户:

2.3 租户管理员界面
在ThingsBoard中,租户管理员拥有对规则链、客户、资产、设备、仪表板等资源的全面管理权限。我可以为租户创建普通用户,并限制其不能操作规则链、高级功能、安全设置等。

三、设备配置与设备
3.1 设备配置
创建设备配置:

3.2 设备
创建设备:

外部通过mqtt连接设备,通过topic:v1/devices/me/telemetry发送遥测数据:

ThingsBoard端接收:

3.3 告警规则
在设备配置里添加告警规则:


当遥测数据值越界,ThingsBoard触发告警:

四、仪表板创建与数据可视化
创建仪表板:

添加图表部件:

五、规则链配置与数据处理
ThingsBoard的规则引擎是一个基于事件驱动的系统,可以根据定义好的规则对设备产生的数据进行处理。规则链是一系列按顺序执行的规则节点,每个节点都可以对传入的数据进行特定的处理,如过滤、转换、存储或发送等。
5.1 规则链
创建规则链:

添加规则节点:


5.2 配置规则节点
配置script节点:

script节点调试:

配置mqtt节点:

结语
通过系统学习ThingsBoard,我掌握了物联网平台的核心概念和实际操作技能。从环境部署、数据库配置到设备管理、数据可视化和告警处理,我构建了一个完整的物联网平台解决方案。
学习收获:
-
理解了ThingsBoard架构和核心组件
-
掌握了ThingsBoard与PostgreSQL的集成配置
-
学会了使用Docker容器化部署ThingsBoard
-
熟练掌握了设备管理、规则链配置和仪表板创建
-
了解了告警机制和物联网数据流处理
通过本次学习,我为后续的物联网项目开发奠定了坚实基础,能够快速构建可靠的物联网解决方案,实现设备数据的采集、处理、可视化和智能告警。本次 ThingsBoard 学习过程的全记录,希望能对各位有所参考。

6373

被折叠的 条评论
为什么被折叠?



