ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

TDengine 与 Ignition 集成实战:通过 JDBC 将工业数据接入 TDengine

TDengine 与 Ignition 集成实战:通过 JDBC 将工业数据接入 TDengine TDengine 与 Ignition 集成实战通过 JDBC 将工业数据接入 TDengine【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine本指南讲解如何将 Inductive Automation 的 Ignition 工业应用平台与 TDengine 时序数据库集成通过 Ignition 的 SQL Bridge 模块与 TDengine 官方 JDBC 连接器将 PLC 采集的工业数据写入 TDengine并进一步在 TDengine IDMP 中构建资产模型、进行实时分析与 AI 可视化。读完本文你将掌握 TDengine JDBC 连接器的下载与安装、Ignition 数据源的完整配置流程以及连接 URL 的常用参数与排错方法。TDengine–Ignition 集成架构集成架构与适用场景Ignition 是由 Inductive Automation 推出的工业应用平台用于构建和部署 SCADA、HMI 以及工业物联网IIoT系统提供实时数据采集、可视化、告警、报表与控制的一体化开发环境。其 SQL Bridge 模块支持通过 JDBC 连接多种 SQL 数据库。TDengine 与 Ignition 的集成链路如上图所示整体分为四个环节数据采集层工厂车间的 PLC 持续产生设备状态、传感器读数等原始工业数据数据转换层Ignition 作为数字化转型平台接收 PLC 数据由 SQL Bridge 模块完成协议转换与 SQL 标准化数据存储层Ignition 通过 JDBC 协议紫色箭头将处理后的数据写入 TDengine 时序数据库数据消费层TDengine 中的数据可供 TDengine IDMP工业资产管理、第三方可视化大屏以及第三方 BI/分析工具使用。从源码结构看该集成的核心是 docs/en/13-ecosystem-integrations/05-iot/02-Ignition.md 所描述的 JDBC 桥接方案其技术基础是 TDengine 官方 Java 连接器taos-jdbcdriver相关实现细节见 Java 客户端库参考。前置条件在开始配置前需要准备以下环境安装 TDengine TSDB完整安装步骤参见 快速入门确保 taosAdapter 可用Ignition 使用 WebSocket 方式连接数据需要经由 taosAdapter 转发默认监听端口为6041TCP该端口同时承载 WebSocket 与 RESTful 接口见 taosAdapter 端口规划 与 连接方式概述安装 Ignition按照 Inductive Automation 官方文档完成 Ignition 平台的安装与启动。需要说明的是本文推荐的 WebSocket 连接方式不依赖 TDengine 客户端驱动 taosc因此 Ignition 所在机器无需单独安装客户端详见 连接 TDengine 中的推荐说明。配置数据源1. 下载 TDengine JDBC 连接器从 Maven Central 获取 TDengine 官方 JDBC 连接器com.taosdata.jdbc:taos-jdbcdriver打开连接器页面在Versions版本选项卡中点击最新版本对应的Browse在展开的文件列表中下载taos-jdbcdriver-version-dist.jar到本地。该 JAR 包即包含了 Ignition 所需的 JDBC 驱动实现无需额外安装客户端驱动。2. 在 Ignition 中添加 JDBC 驱动按照 Ignition 官方文档中“Add a new JDBC driver”的说明在 Ignition 的数据库中新增一个 JDBC 驱动并选中上一步下载的taos-jdbcdriver-version-dist.jar文件。3. 配置驱动参数添加驱动后按下表进行关键项配置配置项填写内容说明Classnamecom.taosdata.jdbc.ws.WebSocketDriverTDengine JDBC 的 WebSocket 驱动实现类必须精确填写URL Formatjdbc:TAOS-WS://taosAdapter-address:port/database-name连接 URL 模板其中taosAdapter-address:port替换为 taosAdapter 实际地址与端口database-name替换为目标数据库名其他选项保留默认值即可无需配置数据库翻译器database translator。为什么使用 WebSocketDriver从源码文档可以确认taos-jdbcdriver提供两个 JDBC 驱动实现类com.taosdata.jdbc.ws.WebSocketDriver用于 WebSocket 连接com.taosdata.jdbc.TSDBDriver用于 Native 连接见 JDBC Driver 说明。原生连接与 REST 连接已进入弃用流程计划于 2027-01-01 停止支持官方推荐迁移到 WebSocket 连接因此集成 Ignition 时应选用 WebSocket 驱动。4. 添加数据库连接按照 Ignition 官方文档中“Add a database connection”的说明新增数据库连接选择上一步创建的 JDBC 驱动在Connect URL字段中填写连接 URLjdbc:TAOS-WS://taosAdapter-address:port/database-name。保存后即可完成数据源配置。连接 URL 详解与常用参数URL 基本格式TDengine JDBC WebSocket 连接 URL 的完整格式为jdbc:TAOS-WS://[host1:port1,host2:port2,...,hostN:portN]/[database_name]?[param1value1param2value2...]例如jdbc:TAOS-WS://taosdemo.com:6041/power?userrootpasswordtaosdatavarcharAsStringtrue与 Native 连接相比使用 WebSocket 连接只需要三步调整驱动类指定为com.taosdata.jdbc.ws.WebSocketDriverURL 以jdbc:TAOS-WS://开头端口使用6041taosAdapter 默认端口。此外WebSocket 连接支持多端点配置——多个host:port以逗号分隔连接时会随机选取以实现负载均衡参见 URL 规范。常用连接参数WebSocket 连接中常见的 URL 参数如下完整说明见 Java 连接器 URL 参数参数默认值说明userrootTDengine 登录用户名passwordtaosdata用户登录密码varcharAsStringfalse将 VARCHAR/BINARY 类型映射为 String仅在 WebSocket 连接下生效timezone系统时区客户端时区官方建议不设置使用系统时区可获得更优性能useSSLfalse连接是否启用 SSL/TLShttpConnectTimeout60000连接超时时间毫秒messageWaitTimeout60000消息等待超时时间毫秒batchErrorIgnorefalseexecuteBatch批量执行时某条 SQL 失败后是否继续执行后续 SQLconmode0设为1时启用 BI 模式元数据不计入子表适用于 BI 工具集成场景环境与版本兼容性taos-jdbcdriver支持 JDBC 4.2 及以上标准运行环境要求 JRE 8 及以上WebSocket 连接支持所有可运行 Java 的平台且无需安装客户端驱动taos-jdbcdriver3.x 版本仅支持 TDengine 3.0 及以上版本见 版本历史。使用与消费数据完成数据源配置后即可在 Ignition 的 SQL Bridge 模块中直接使用 TDengine数据写入SQL Bridge 将来自 PLC、HMI 等设备的数据通过 JDBC 写入 TDengine 指定的数据库数据查询在 Ignition 的标签、报表、可视化组件中通过标准 SQL 查询 TDengine 中的时序数据。当数据持续流入 TDengine 后可以进一步接入 TDengine IDMP——这是一款 AI 原生的工业数据管理平台基于采集数据可自动感知应用场景无需提示即可生成仪表盘与报表、执行实时分析、检测异常从而在资产建模与 AI 可视化层面释放工业数据的价值。常见问题与排错结合taos-jdbcdriver的使用文档见 Java 连接器 FAQ配置过程中可能遇到以下问题连接失败多数情况是 taosAdapter 地址FQDN配置错误或防火墙未放行6041端口请确认taosAdapter-address:port与目标数据库名正确并检查网络连通性java.lang.UnsatisfiedLinkError: no taos in java.library.path该错误源于程序找不到本地函数库通常出现在 Native 连接场景改用 WebSocket 连接可完全规避对本地驱动的依赖taos.dll无法加载AMD 64 bit on IA 32-bit platformTDengine JDBC 目前仅支持 64 位 JDK请更换为 64 位 JDKjava.lang.NoSuchMethodError: setByteArraytaos-jdbcdriver3.x 只支持 TDengine 3.0 及以上版本如连接 TDengine 2.x 需使用 2.x 版本的驱动从 REST 连接迁移到 WebSocket 连接将驱动类由com.taosdata.jdbc.rs.RestfulDriver改为com.taosdata.jdbc.ws.WebSocketDriverURL 前缀由jdbc:TAOS-RS://改为jdbc:TAOS-WS://并移除不再需要的batchfetchtrue参数。WebSocket 连接具备更低的延迟、更优的性能、自动重连支持以及更丰富的功能。总结通过 Ignition SQL Bridge 与taos-jdbcdriver的 WebSocket 驱动可以快速搭建“PLC → Ignition → TDengine → IDMP/第三方 BI”的完整工业数据链路。整个集成的关键要点是在 Ignition 中正确注册taos-jdbcdriver-version-dist.jar将驱动类与 URL 严格配置为com.taosdata.jdbc.ws.WebSocketDriver与jdbc:TAOS-WS://前缀格式并确保 taosAdapter 的6041端口可达。此方案无需在 Ignition 机器上安装客户端驱动同时为后续在 TDengine IDMP 中开展资产建模、实时分析与 AI 驱动的可视化奠定了数据基础。【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表