Ignition 是一个基于WEB的监控和数据采集工具(SCADA)- 一个开放且可扩展的通用平台。Ignition可以让你更轻松地控制、跟踪、显示和分析企业的所有数据,提升业务能力。更多介绍详情请参考Ignition官网
Ignition-IoTDB Connector分为两个模块:Ignition-IoTDB连接器、Ignition-IoTDB With JDBC。其中:
system.iotdb.insert和system.iotdb.query脚本接口用于方便在Ignition编程使用Transaction Groups 模块中使用,不适用于 Tag Historian模块,可以用于自定义写入和查询。两个模块与Ignition的具体关系与内容如下图所示。
| 准备内容 | 版本要求 |
|---|---|
| IoTDB | 要求已安装V1.3.1及以上版本,安装请参考 IoTDB 部署指导 |
| Ignition | 要求已安装 8.1.x版本(8.1.37及以上)的 8.1 版本,安装请参考 Ignition 官网安装指导(其他版本适配请联系商务了解) |
| Ignition-IoTDB连接器模块 | 请联系商务获取 |
| Ignition-IoTDB With JDBC模块 | 下载地址:https://repo1.maven.org/maven2/org/apache/iotdb/iotdb-jdbc/ |
Ignition-IoTDB连接器模块可以将数据存入与历史数据库提供程序关联的数据库连接中。数据根据其数据类型直接存储到 SQL 数据库中的表中,以及毫秒时间戳。根据每个标签上的值模式和死区设置,仅在更改时存储数据,从而避免重复和不必要的数据存储。
Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的能力。
步骤一:进入 Config - System- Modules 模块,点击最下方的Install or Upgrade a Module...
步骤二:选择获取到的 modl,选择文件并上传,点击 Install,信任相关证书。
步骤三:安装完成后可以看到如下内容
步骤四:进入 Config - Tags- History 模块,点击下方的Create new Historical Tag Provider...
步骤五:选择 IoTDB并填写配置信息
配置内容如下:
配置好 Provider 后就可以在 Designer 中使用 IoTDB Tag Historian 了,就跟使用其他的 Provider 一样,右键点击对应 Tag 选择 Edit tag(s),在 Tag Editor 中选择 History 分类
设置 History Enabled 为 true,并选择 Storage Provider 为上一步创建的 Provider,按需要配置其它参数,并点击 OK,然后保存项目。此时数据将会按照设置的内容持续的存入 IoTDB 实例中。
也可以在 Report 的 Data 标签下面直接选择存入 IoTDB 的 Tags
在 Components 中也可以直接浏览相关数据
脚本说明:将数据写入到 IoTDB 实例中
脚本定义:
system.iotdb.insert(historian, deviceId, timestamps, measurementNames, measurementValues)
参数:
str historian:对应的 IoTDB Tag Historian Provider 的名称str deviceId:写入的 deviceId,不含配置的 database,如 Sinelong[] timestamps:写入的数据点对于的时间戳列表str[] measurementNames:写入的物理量的名称列表str[][] measurementValues:写入的数据点数据,与时间戳列表和物理量名称列表对应返回值:无
可用范围:Client, Designer, Gateway
使用示例:
system.iotdb.insert("IoTDB", "Sine", [system.date.now()],["measure1","measure2"],[["val1","val2"]])
脚本说明:查询写到 IoTDB 实例中的数据
脚本定义:
system.iotdb.query(historian, sql)
参数:
str historian:对应的 IoTDB Tag Historian Provider 的名称str sql:待查询的 sql 语句返回值: 查询的结果:List<Map<String, Object>>
可用范围:Client, Designer, Gateway
使用示例:
system.iotdb.query("IoTDB", "select * from root.db.Sine where time > 1709563427247")
Ignition-IoTDB With JDBC提供了一个 JDBC 驱动,允许用户使用标准的JDBC API 连接和查询 lgnition-loTDB 数据库
步骤一:进入 Config - Databases -Drivers 模块,创建 Translator
步骤二:进入 Config - Databases -Drivers 模块,创建 JDBC Driver,选择上一步配置的 Translator并上传下载的 IoTDB-JDBC,Classname 配置为 org.apache.iotdb.jdbc.IoTDBDriver
步骤三:进入 Config - Databases -Connections 模块,创建新的 Connections,JDBC Driver 选择上一步创建的 IoTDB Driver,配置相关信息后保存即可使用
在Transaction Groups中的 Data Source选择之前创建的 Connection
Table name 需设置为 root 开始的完整的设备路径Automatically create tableStore timestame to 配置为 time不选择其他项,设置好字段,并 Enabled 后 数据会安装设置存入对应的 IoTDB
Database Query Browser 中选择Data Source选择之前创建的 Connection,即可编写 SQL 语句查询 IoTDB 中的数据