使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息

小 T 导读:福建中海创集团(FUJIAN HISTRON)始创于1992年,是一家专业从事综合智能服务的大型企业集团。基于多年打造的“工业4.0”的核心技术、商业模式与产业链体系,全速执行“工业互联网+”的发展战略,全面涉及智慧工厂、智慧城市、智慧交通、智慧环保、智慧物流等领域,提供世界领先的智能化产品和解决方案。

实现目标:

1、边缘侧应用采集电表数据
2、通过TDengine Database存储能耗时序数据
3、使用钉钉机器人控件发送消息
4、实时监测电压波动报警阈值,通过阿里钉钉发送报警消息场景介绍。

配置前准备:

1、使用海创微联系统

海创物联产品是一款数据采集控制及边缘计算功能为一身的系统,通过可拖放流和连接节点方式,帮助完成设备通信和控制的需求,该系统已经成功应用到工业MES、在线能源监测、水务处理等实际场景中,简单清晰的使用体验获得不少客户好评。

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image

通用协议:
Modbus RTU 串口、Modbus TCP 网口、MQTT、soap 、websocket、http

工业PLC采集控制:
西门子S7、三菱Fx-Serial、三菱MC、欧姆龙HostLink、欧姆龙FinS、霍尼韦尔Logix、 松下Mewtocol

能源采集:
DLT645-1997、DLT645-2007、CJ/T188-2004国家规约

支持数据库:
MySQL、Oracle、SQL Server、MongoDB、InfluxDB时序数据库

云端支持
海创云、阿里云

其它支持
函数计算(用户可以通过JavaScript语法完成业务逻辑扩展)、自定义协议组件(遇到未知协议用户可以自行解析协议包)

2、安装TDengine数据库

TDengine是一个开源的专为物联网、车联网、工业互联网、IT运维等设计和优化的大数据平台。除核心的快10倍以上的时序数据库(Time-Series Database)功能外,还提供缓存、数据订阅、流式计算等功能,最大程度减少研发和运维的工作量。
TDengine安装请查看官网(https://www.taosdata.com/)

配置过程:

将会使用的控件
1、TDengine: TDengine控件模块,封装了TDengine的通讯接口。

2、Modbus:用于读取Modbus通信协议设备的数据,如电表。

3、定时器: 用于触发一个数据提交指令。

4、Function: JavaScript函数块,传入编写TDengine语法

5、模板 :用定义一个文本格式,可以是HTML、YML、JSON和JS等

6、钉钉机器人:可用于自定义消息推送到钉钉群中。

7、调试: 用于输出TDengine查询、插入的返回值。

配置步骤:

第一步:配置Modbus电表
轻松配置Modbus设备连接,请打开详细图文教程
https://www.kancloud.cn/gkiiot/gkiiot/992198点击「定时器」触发流运行,在上图可以看到“海创微联”平台右侧【调试窗口】查看到电表数据信息。配置完成截个图:

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 3

第二步:配置TDengine查询应用
在左侧节点栏中拖拽出,「定时器」、「Function」、「TDengine」、「调试」

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 1

双击控件「TDengine」,弹出属性编项卡,填写TDengine连接属性 [服务器地址、服务端口、用户名、用户口令]

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 2

双击控件「Function」,填写查询语句。这样查询命令流向到TDengine控制

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 4

点击「定时器」触发流运行,在上图可以看到“海创微联”平台右侧【调试窗口】以JSON格式输出udb库的的datatest表的信息。

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 3

第三步:配置钉钉机器人报警应用
在左侧节点栏中拖拽出,「定时器」、「模版」、「钉钉机器人」、「调试」。

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 5

双击控件「钉钉群机器人」,填写查询语句。配置连接属性 [Hook地址]
1、在钉钉中创建“自定义机器人群”
2、钉钉群Hook地址获得方法:
在机器人管理页面选择“自定义”机器人,输入机器人名字并选择要发送消息的群。如果需要的话,可以为机器人设置一个头像。点击“完成添加”,完成后会生成Hook地址,如下图:

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 4

点击“复制”按钮,即可获得这个机器人对应的Webhook地址双击控件「模版」,填写模块文本。钉钉机器的模块文件使用JSON格式
定义示例如下:

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 5
TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 6

点击「定时器」触发流运行,在上图可以看到“海创微联”平台右侧【调试窗口】以JSON格式输出udb库的的datatest表的信息。
配置完成截个图:

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 6

第四步:把以上的内容打通后,贯穿运行起来做一个能耗项目配置数据采集和报警监控应用
场景流程图:

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 7

硬件环境:

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 7

设计思路:

1、电表通过ModuBus控件时实采集,数据集流向到Function进行函式计算
2、电表通过ModuBus控件采集转存到TDengine,数据处理后,可加后面流向处理使用数据定阅到后端业务平台
3、电表电压,电流高于或低于阀值推送至钉钉机器人或微信报警处理
配置完成截个图:

TDengine 时序数据库 - 使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息 image 8

好啦,今天的教程就到这里啦,对以上内容感兴趣的朋友,可以自己亲自动手操作一下。

作者简介:

冯圣龙,现任福建中海创科技有限公司的IoT事业部总监,接触过一线不少的物联网实战案例,主要从事物联网领域相关产品线的开发和规划。

原文首发于:https://yq.aliyun.com/articles/711380