最近在整理thingsboard课程,基于最新thingsboard版本3.9.1/4.0,欢迎大家收藏、关注我,提问,在评论区留言,我争取把最新、最准、最好的课程,呈现在各位亦师亦友的csdn广大读者面前。
目录
1. 基础概念-OTA/通知/仪表板
1.1 OTA升级
升级流程图:
TB系统从3.3版本开始提供完整的OTA升级功能,支持设备固件(Firmware)和软件(Software)的远程分发、状态跟踪和版本管理。核心功能是通过无线网络(如 MQTT、HTTP、CoAP)远程更新设备固件或软件,无需物理接触设备。
1.2 通知中心
通知中心是一个很强大的功能模块,可以管理和发送通知(如邮件、短信、移动推送等)给用户或设备,支持多种通知类型和灵活触发条件,与规则引擎无缝集成,实现联动通知。
(1)基本功能介绍如下:
支持通知类型:邮件通知(Email)、短信通知(SMS)、移动应用通知(Mobile App)、Slack 通知、自定义通知(通过规则引擎集成外部系统)等。
支持灵活触发方法:基于规则引擎的事件触发(如设备报警、设备状态变化、遥测数据阈值等),手动触发(通过API或管理界面发送通知)。
支持通知模板:支持动态模板,可以根据设备属性、用户信息等动态生成通知内容。
支持通知历史记录:记录所有通知的发送状态(成功、失败、已读等),支持历史查询功能。
(2)通知功能的实现方法和流程,基于规则引擎和消息队列,如下:
a.规则引擎集成
通知中心与规则引擎深度集成,规则引擎负责监听事件(如设备报警、遥测数据变化等),并根据配置的规则触发通知。规则引擎中的通知中心节点是通知中心功能的核心组件,用于定义通知的触发条件和发送逻辑。
b.消息队列
通知请求通过消息队列(如 Kafka、RabbitMQ等)进行异步处理,确保高并发场景下的可靠性和性能。消息队列还可用于实现通知的负载均衡和故障恢复。
c.通知分发
通知分发模块负责将通知请求转换为具体的通知类型(如邮件、短信等),并通过相应的服务提供商(如 SMTP 服务器、短信网关等)发送通知。
支持多种通知分发策略(如重试机制、优先级队列等)。
1.3仪表板
仪表板是可视化的具体载体,本质上就是把设备或资产(包括遥测、属性、告警)的静态/动态信息以图表可视化方式展示,也可以有交互操作(如设备控制RPC、仪表板状态跳转)。
仪表板涉及到的其他重要概念:部件、部件包、仪表板状态。
部件,是具体的某一项可视化组件,比如文本框、下拉框、按钮、表格、卡片及地图等。
部件包,是按照功能分类的在一起的若干部件的集合。
TB系统(v3.9.1版本)预装的部件包有30个:[标记]Mark-20250102-1
部件包名称 (中文) | 功能描述 | 包含的典型部件 | |
Home page widgets | 首页部件包 | 用于构建仪表板首页的快速导航和概览视图 | 设备状态卡片、快捷操作按钮、摘要统计 |
Industrial widgets | 工业部件包 | 工业场景专用部件(如PLC监控、产线控制) | 设备状态指示灯、生产计数器、报警看板 |
Maps | 地图部件包 | 展示设备地理位置和轨迹 | OpenStreetMap标记、Google Maps 热力图、设备轨迹线 |
High-performance SCADA fluid system | 高性能SCADA流体系统 | 流体系统监控(如管道压力、流量) | 动态管道图、流量计、阀门状态控制器 |
Input widgets | 输入部件包 | 提供用户输入控件 | 文本输入框、下拉选择框、数字调节器 |
Count widgets | 计数部件包 | 统计和显示数值(如设备数量、事件次数) | 数字计数器、环形进度条、增量统计卡 |
General high-performance SCADA symbols | 通用高性能SCADA符号 | 工业标准符号库(如ISA/IEC符号) | 泵、传感器、电机符号 |
Navigation widgets | 导航部件包 | 仪表板页面跳转和菜单管理 | 侧边栏菜单、面包屑导航、状态切换按钮 |
GPIO widgets | GPIO部件包 | 可视化GPIO设备状态(如树莓派引脚控制) | 引脚状态指示灯、开关控件 |
Entity admin widgets | 实体管理部件包 | 管理设备/资产的增删改查操作 | 设备列表表格、资产树形结构、批量操作工具 |
Control widgets | 控制部件包 | 远程控制设备(如开关、调节) | 开关按钮、滑块调节器、RPC命令发送器 |
Status indicators | 状态指示部件包 | 显示设备运行状态(如正常/故障) | LED状态灯、图标指示器、状态标签 |
Tables | 表格部件包 | 以表格形式展示数据 | 设备属性表、遥测数据表、分页表格 |
Digital gauges | 数字仪表部件包 | 数字式数值展示(如温度、电压) | 数字显示屏、柱状进度条 |
Entity widgets | 实体部件包 | 展示设备/资产的基础信息 | 设备详情卡片、资产概要视图 |
Alarm widgets | 告警部件包 | 管理设备告警(如触发、清除) | 告警表格、告警统计卡片、告警详情弹窗 |
Liquid level | 液位部件包 | 液体容器监控(如水箱、油罐) | 液位高度计、填充动画、阈值报警器 |
Analogue gauges | 模拟仪表部件包 | 传统指针式仪表(如压力表、速度表) | 圆形指针仪表、半圆仪表 |
HTML widgets | HTML部件包 | 自定义HTML内容(支持嵌入式代码) | 自由HTML卡片、Markdown渲染器 |
Buttons | 按钮部件包 | 触发动作(如重启设备、跳转页面) | 普通按钮、图标按钮、下拉动作菜单 |
SCADA symbols | SCADA符号部件包 | 工业控制系统标准符号 | 阀门、泵、传感器图标 |
Edge widgets | 边缘计算部件包 | 边缘设备(Edge)专用监控部件 | 边缘规则链状态、离线事件统计 |
Indoor Environment | 室内环境部件包 | 室内环境监测(如温湿度、空气质量) | 温湿度计、PM2.5指示器、CO₂浓度图 |
Air quality | 空气质量部件包 | 空气质量数据可视化 | AQI指数表、污染物浓度趋势图 |
Outdoor Environment | 室外环境部件包 | 室外环境监测(如气象站数据) | 风速风向仪、降雨量图、紫外线指数 |
Charts | 图表部件包 | 绘制历史/实时数据曲线 | 折线图、面积图、堆叠柱状图 |
Date | 日期部件包 | 时间范围选择器 | 日历控件、时间区间选择器 |
Cards | 卡片部件包 | 紧凑型数据展示(如最新值、状态摘要) | 数值卡片、状态摘要卡、图标卡片 |
Traditional SCADA fluid system | 传统SCADA流体系统 | 旧版流体系统监控部件(兼容性支持) | 静态管道图、简易流量计 |
Gateway widgets | 网关部件包 | 网关设备管理(如协议转换、子设备状态) | 子设备列表、协议统计、网关日志 |
数据保存在widgets_bundle表中:
参考链接: