导读:ThingsBoard 是业界领先的开源物联网平台,但在面对复杂的工业工艺流程图、管网拓扑或数字孪生大屏时,原生组件往往显得力不从心。是否需要重写 Angular 代码来开发自定义 Widget?完全不需要!
本文基于官方文档深度解析,手把手教你如何通过 SceneV 提供的专用部件包,将专业的工业组态软件无缝嵌入 ThingsBoard。更令人兴奋的是,该方案原生支持直接获取 ThingsBoard 的所有数据上下文,包括设备属性 (Attributes)、实体信息 (Entity)、最新遥测数据 (Latest Telemetry) 等,无需任何中间件,真正实现“拖拽即所得,数据即连通”。
🌟 为什么选择 SceneV + ThingsBoard?
在工业物联网项目中,我们常面临这样的困境:
- ThingsBoard 很强:设备接入、规则引擎、权限管理无懈可击。
- 可视化太弱:原生图表难以表达复杂的管道流向、阀门联动、动态产线状态。
- 开发成本高:自定义开发一个支持缩放、拖拽、数据绑定的组态 Widget,需要深厚的前端功底和大量时间。
SceneV 的出现完美解决了这一痛点。它作为一个第三方部件库 (Widget Bundle) 集成到 ThingsBoard 中,具备以下核心优势:
- 零代码集成:导入 JSON 包即可使用,无需修改 ThingsBoard 源码。
- 全数据直通:直接读取当前仪表盘上下文中的所有数据(属性、遥测、实体详情),自动映射到组态图元。
- 低代码设计:在独立的在线设计器中拖拽生成复杂画面,导出 JSON 填入配置即可。
- 多端自适应:一次设计,完美适配 PC 大屏、平板及手机移动端。
🚀 核心亮点:全维度数据无缝对接
这是 SceneV 集成方案最强大的地方。不同于普通图表只能绑定单一数据源,SceneV 部件能够直接感知 ThingsBoard 的完整数据上下文。
当你在 ThingsBoard 仪表盘中配置好数据源后,SceneV 内部可以直接访问以下数据维度:
| 数据类型 | 描述 | 应用场景示例 |
|---|---|---|
| 📊 最新遥测数据 (Latest Telemetry) | 设备实时上报的时间序列数据(如温度、压力、转速)。 | 驱动仪表盘指针旋转、实时曲线绘制、温度颜色渐变。 |
| 🏷️ 服务器/客户端属性 (Attributes) | 设备的静态或半静态配置信息(如设备型号、安装位置、额定功率)。 | 显示设备铭牌信息、根据型号加载不同图标、设定阈值参数。 |
| 🆔 实体信息 (Entity Details) | 设备本身的元数据(如设备名称、标签 Tags、类型、ID)。 | 动态标题显示、根据设备类型自动切换组态模板、权限控制。 |
| 🔗 关联实体数据 | 通过 ThingsBoard 关系链获取的上下游设备数据。 | 展示整条产线的联动状态、泵站与水管的关联监控。 |
💡 工作原理: SceneV 部件会自动监听 ThingsBoard 下发的
data对象。你在设计器中绑定的变量名(Key),只需与 ThingsBoard 数据源中的键名一致,数据流便会自动注入,驱动图元动态变化。
🛠️ 实战教程:三步完成集成
第一步:获取并导入 SceneV 部件包
首先,你需要将 SceneV 的部件库“安装”到你的 ThingsBoard 环境中。
-
下载部件包
- 访问官方资源页下载专用的部件定义文件(JSON格式)。
- 👉 下载地址:点击获取 SceneV 部件包
- 注:若链接需要提取码,请前往 社区页面 获取。
-
导入到 ThingsBoard
- 登录 ThingsBoard 管理员账号。
- 进入左侧菜单 部件库 (Widgets Library)。
- 点击右下角的 导入 (Import) 按钮(向上箭头图标)。
- 选择下载的 JSON 文件并确认。
- 导入成功后,在部件列表中找到名为
SceneV的新分类。
第二步:在仪表盘中添加组态部件
将导入的部件添加到你的监控大盘中。
-
编辑仪表盘
- 打开目标仪表盘,点击右上角 编辑 (Edit) 进入布局模式。
- 点击 添加新部件 (Add new widget)。
-
选择 SceneV 部件
- 在弹窗的 包过滤器 (Bundle filter) 中,选择 所有部件 (All widgets) 或直接找到
SceneV包。 - 搜索
scenev,点击对应的卡片。 - 将其添加到仪表盘的任意位置。
- 在弹窗的 包过滤器 (Bundle filter) 中,选择 所有部件 (All widgets) 或直接找到
第三步:配置数据源与组态内容(关键步骤)
这一步是将 ThingsBoard 的数据“喂”给组态画面的核心。
-
配置数据源 (Datasources)
- 在部件配置界面,点击 数据源 (Datasources) 区域。
- 添加设备:选择你要监控的一个或多个设备。
- 选择数据类型:
- 勾选 最新遥测数据 (Latest Telemetry):选择如
temperature,pressure,status等实时键值。 - 勾选 属性 (Attributes):选择如
model,location等设备属性。 - 此时,这些数据已完全对 SceneV 可见。
- 勾选 最新遥测数据 (Latest Telemetry):选择如
-
填入组态配置
- 在 设置 (Settings) 或 高级配置 区域,找到 组态内容 (Widget Config) 输入框。
- 方式 A(推荐):在 SceneV 在线设计器 中画好图,导出 JSON 字符串,直接粘贴到这里。
- 方式 B:填入设计器的项目 ID(如果支持云端加载)。
- 填写授权 Key:在对应输入框填入从官网获取的合法 Key(获取 Key),去除水印并解锁全部功能。
-
保存并预览
- 点击 添加/保存。
- 退出编辑模式,你将看到精美的工业组态画面,且其中的数值、颜色、状态正随着 ThingsBoard 的设备数据实时跳动。
💡 进阶技巧:如何绑定数据?
在 SceneV 在线设计器中,数据绑定逻辑非常简单,只需遵循 “键名一致” 原则:
-
在 ThingsBoard 端:
- 数据源配置了键名:
temp(遥测),device_type(属性)。
- 数据源配置了键名:
-
在 SceneV 设计器端:
- 选中一个文本组件,在数据绑定面板中,变量名填写
temp。 - 选中一个管道组件,在颜色联动规则中,判断变量
temp> 80 时变红。 - 选中一个图标,根据变量
device_type的值切换不同的图片资源。
- 选中一个文本组件,在数据绑定面板中,变量名填写
无需编写任何 JavaScript 代码转换数据,ThingsBoard 传来的原始数据直接被 SceneV 引擎消费。
⚠️ 常见问题与优化
1. 依赖资源加载失败
- 现象:部件白屏,控制台报 CDN 错误。
- 解决:在部件配置的 资源 (Resources) 选项卡中,将默认的 JS/CSS 链接替换为国内镜像源,或下载到你自己的服务器静态目录并修改引用路径。确保
canvasSvg.js等核心库能正常加载。
2. 数据不更新
- 检查:
- 确认 ThingsBoard 设备是否有实时数据上报。
- 检查部件配置中的数据源是否已正确勾选了对应的 Key。
- 确认 SceneV 设计器中的变量名与 ThingsBoard 的 Key 完全一致(区分大小写)。
3. 移动端适配
- 建议:在 SceneV 设计器中设计时,务必使用百分比布局或锚点定位,避免使用固定像素值,以确保在 ThingsBoard 移动端 App 或 H5 页面中完美展示。
🎯 总结
通过集成 SceneV,ThingsBoard 瞬间拥有了企业级的工业组态能力:
- ✅ 全数据支持:无缝读取遥测、属性、实体等所有上下文数据。
- ✅ 极低门槛:无需懂 Angular/React,业务人员也能通过拖拽构建复杂监控画面。
- ✅ 原生体验:作为标准 Widget 存在,完美融合在 ThingsBoard 的权限与架构体系中。
- ✅ 高性能:基于 Canvas/WebGL 渲染,轻松支撑万级图元与高频数据刷新。
不要再为复杂的可视化需求发愁,立即导入 SceneV 部件包,让你的 ThingsBoard 仪表盘焕发新生!
🔗 资源直达
- 🎨 SceneV 在线设计器(立即开始绘图): www.meta2dthingsboard.cn/#/designer
- 📦 部件包下载 & 提取码: api.meta2dthingsboard.cn/community.h…
- 📚 官方集成文档: api.meta2dthingsboard.cn/thingsboard…
- 💻 GitHub 开源项目: github.com/TheXiong/me…
标签:#ThingsBoard #工业组态 #SceneV #物联网 #数据可视化 #低代码 #数字孪生 #前端开发 #MQTT #智慧工厂 #开源项目