# 教你如何在 ThingsBoard 中集成工业组态软件:零代码解锁全数据可视化

40 阅读7分钟

导读:ThingsBoard 是业界领先的开源物联网平台,但在面对复杂的工业工艺流程图管网拓扑数字孪生大屏时,原生组件往往显得力不从心。是否需要重写 Angular 代码来开发自定义 Widget?完全不需要!

本文基于官方文档深度解析,手把手教你如何通过 SceneV 提供的专用部件包,将专业的工业组态软件无缝嵌入 ThingsBoard。更令人兴奋的是,该方案原生支持直接获取 ThingsBoard 的所有数据上下文,包括设备属性 (Attributes)实体信息 (Entity)最新遥测数据 (Latest Telemetry) 等,无需任何中间件,真正实现“拖拽即所得,数据即连通”。


🌟 为什么选择 SceneV + ThingsBoard?

在工业物联网项目中,我们常面临这样的困境:

  • ThingsBoard 很强:设备接入、规则引擎、权限管理无懈可击。
  • 可视化太弱:原生图表难以表达复杂的管道流向、阀门联动、动态产线状态。
  • 开发成本高:自定义开发一个支持缩放、拖拽、数据绑定的组态 Widget,需要深厚的前端功底和大量时间。

SceneV 的出现完美解决了这一痛点。它作为一个第三方部件库 (Widget Bundle) 集成到 ThingsBoard 中,具备以下核心优势:

  1. 零代码集成:导入 JSON 包即可使用,无需修改 ThingsBoard 源码。
  2. 全数据直通直接读取当前仪表盘上下文中的所有数据(属性、遥测、实体详情),自动映射到组态图元。
  3. 低代码设计:在独立的在线设计器中拖拽生成复杂画面,导出 JSON 填入配置即可。
  4. 多端自适应:一次设计,完美适配 PC 大屏、平板及手机移动端。

🚀 核心亮点:全维度数据无缝对接

这是 SceneV 集成方案最强大的地方。不同于普通图表只能绑定单一数据源,SceneV 部件能够直接感知 ThingsBoard 的完整数据上下文

当你在 ThingsBoard 仪表盘中配置好数据源后,SceneV 内部可以直接访问以下数据维度:

数据类型描述应用场景示例
📊 最新遥测数据 (Latest Telemetry)设备实时上报的时间序列数据(如温度、压力、转速)。驱动仪表盘指针旋转、实时曲线绘制、温度颜色渐变。
🏷️ 服务器/客户端属性 (Attributes)设备的静态或半静态配置信息(如设备型号、安装位置、额定功率)。显示设备铭牌信息、根据型号加载不同图标、设定阈值参数。
🆔 实体信息 (Entity Details)设备本身的元数据(如设备名称、标签 Tags、类型、ID)。动态标题显示、根据设备类型自动切换组态模板、权限控制。
🔗 关联实体数据通过 ThingsBoard 关系链获取的上下游设备数据。展示整条产线的联动状态、泵站与水管的关联监控。

💡 工作原理: SceneV 部件会自动监听 ThingsBoard 下发的 data 对象。你在设计器中绑定的变量名(Key),只需与 ThingsBoard 数据源中的键名一致,数据流便会自动注入,驱动图元动态变化。


🛠️ 实战教程:三步完成集成

第一步:获取并导入 SceneV 部件包

首先,你需要将 SceneV 的部件库“安装”到你的 ThingsBoard 环境中。

  1. 下载部件包

  2. 导入到 ThingsBoard

    • 登录 ThingsBoard 管理员账号。
    • 进入左侧菜单 部件库 (Widgets Library)
    • 点击右下角的 导入 (Import) 按钮(向上箭头图标)。
    • 选择下载的 JSON 文件并确认。
    • 导入成功后,在部件列表中找到名为 SceneV 的新分类。 在这里插入图片描述

第二步:在仪表盘中添加组态部件

将导入的部件添加到你的监控大盘中。

  1. 编辑仪表盘

    • 打开目标仪表盘,点击右上角 编辑 (Edit) 进入布局模式。
    • 点击 添加新部件 (Add new widget)
  2. 选择 SceneV 部件

    • 在弹窗的 包过滤器 (Bundle filter) 中,选择 所有部件 (All widgets) 或直接找到 SceneV 包。
    • 搜索 scenev,点击对应的卡片。
    • 将其添加到仪表盘的任意位置。 在这里插入图片描述

第三步:配置数据源与组态内容(关键步骤)

这一步是将 ThingsBoard 的数据“喂”给组态画面的核心。

  1. 配置数据源 (Datasources)

    • 在部件配置界面,点击 数据源 (Datasources) 区域。
    • 添加设备:选择你要监控的一个或多个设备。
    • 选择数据类型
      • 勾选 最新遥测数据 (Latest Telemetry):选择如 temperature, pressure, status 等实时键值。
      • 勾选 属性 (Attributes):选择如 model, location 等设备属性。
      • 此时,这些数据已完全对 SceneV 可见。
  2. 填入组态配置

    • 设置 (Settings)高级配置 区域,找到 组态内容 (Widget Config) 输入框。
    • 方式 A(推荐):在 SceneV 在线设计器 中画好图,导出 JSON 字符串,直接粘贴到这里。
    • 方式 B:填入设计器的项目 ID(如果支持云端加载)。
    • 填写授权 Key:在对应输入框填入从官网获取的合法 Key(获取 Key),去除水印并解锁全部功能。 在这里插入图片描述
  3. 保存并预览

    • 点击 添加/保存
    • 退出编辑模式,你将看到精美的工业组态画面,且其中的数值、颜色、状态正随着 ThingsBoard 的设备数据实时跳动

在这里插入图片描述

💡 进阶技巧:如何绑定数据?

在 SceneV 在线设计器中,数据绑定逻辑非常简单,只需遵循 “键名一致” 原则:

  1. 在 ThingsBoard 端

    • 数据源配置了键名:temp (遥测), device_type (属性)。
  2. 在 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 仪表盘焕发新生!


🔗 资源直达

标签:#ThingsBoard #工业组态 #SceneV #物联网 #数据可视化 #低代码 #数字孪生 #前端开发 #MQTT #智慧工厂 #开源项目