# 集成 IoTDB
# 环境准备
按照 IoTDB 快速上手 (opens new window) 的步骤下载和安装 IoTDB。
# 以 Unix/OS X 系统为例,启动 IoTDB:
bash sbin/start-standalone.sh
Copied!
1
使用 CLI 工具登录 IoTDB 命令行终端:
bash sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root
Copied!
1
# 创建数据库和时间序列:
IoTDB> CREATE DATABASE root.ln IoTDB> CREATE TIMESERIES root.ln.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN IoTDB> CREATE TIMESERIES root.ln.temperature WITH DATATYPE=FLOAT, ENCODING=RLE
Copied!
1
2
3
4
2
3
4
# 创建资源
打开 EMQX Dashboard (opens new window),选择左侧的 “资源” 选项卡,点击创建,资源类型选择 “IoTDB”。
填写以下参数:
- IoTDB 版本:根据您下载的 IoTDB 版本选择。
- IoTDB 用户名:用于认证的用户名
- IoTDB 密码:用于认证的密码
其他参数保持默认值。
点击测试链接按钮,显示测试成功之后点击确定按钮创建资源。
# 创建规则
打开 EMQX Dashboard (opens new window),选择左侧的 “规则” 选项卡。
填写规则 SQL:
SELECT payload.st as st, payload.tmp as tmp FROM "t/#"
Copied!
1
2
3
4
5
2
3
4
5
# 关联动作
在创建规则页面下方的 “响应动作” 界面选择 “添加动作”,然后在 “动作类型” 下拉框里选择 “数据持久化” - “保存数据到 IoTDB”。
填写以下参数:
- 使用资源:在下拉框选择上面创建好的资源。
- 设备名称:
root.ln
- 要插入的数据:要插入 IoTDB 的数据行,其中
时间戳字段
可以为空。测点名称
和值
可以使用${var}
格式的占位符。时间戳 测点名称 数据类型 值 status BOOLEAN ${st} temperature FLOAT ${tmp}
其他参数保持默认值。
最后点击 “确定” 按钮完成动作的创建,并返回规则创建页面点击 “确定”。
规则已经创建完成,现在发一条消息:
Topic:
t/1
QoS:
0
Payload:
{"st": true, "tmp": 36.5}
在 IoTDB 终端中查询结果:
IoTDB> select * from root.ln; +-----------------------------+-------------------+--------------+ | Time|root.ln.temperature|root.ln.status| +-----------------------------+-------------------+--------------+ |2023-03-04T13:53:45.804+08:00| 36.5| true| +-----------------------------+-------------------+--------------+
Copied!
1
2
3
4
5
6
2
3
4
5
6