使用IoT-Fast,轻松增删读写TDengine数据

使用IoT-Fast,轻松读写TDengine数据。

Iot-Fast是一款全流程低代码物联网平台,提供了丰富的设备采集控制协议(Modbus RTU 串口、Modbus TCP 网口、通用 OpcUa 通讯协议、西门子 S7 通讯协议、三菱 Fx-Serial 协议、三菱 MC 通讯协议、欧姆龙 HostLink 通讯协议、欧姆龙 FinS 通讯协议、霍尼韦尔 Logix 通讯协议、松下 Mewtocol 通讯协议、永宏Fatek协议、DLT645-1997 国家规约、DLT645-2007 国家规约、CJ/T188-2004 国家规约、104电力规约)通过拖拉拽的方式快速实现物联网传感器的数据采集和设备控制,同时支持自定义协议开发,函数计算能力,数据库使用能力等,满足各类复杂业务需求。同时,Iot-Fast还具备物联网云平台、视频监控、云组态(整合集成了工业/农业/制造业等多种行业的场景元素,可以自由快速搭建自己的物联场景。)等功能,同时还有移动app和小程序,可在任何地点自由查看平台数据和组态场景,帮助中小型集成商快速搭建物联网行业应用,降低集成商使用成本。

下载地址:
https://www.gkiiot.com/download.html

文章以对接TDengine为例,包括TDengine的介绍,采集,共分为两个部分:

  • TDengine介绍

简单介绍TDengine数据库,以下用taos简称,提供两种对接方式。

  • IoT-Fast-采集控制系统

对底层设备进行数据读取、写入的配置界面,还可以进行数据处理。

一、TDengine

TDengine是一款开源、高性能、分布式、支持SQL的时序数据库,官网地址:

https://www.taosdata.com/

使用IoT-Fast对接taos,提供两种对接方式。一种为使用IoT-Fast已经封装好TDengine节点,实现简单对接;另外一种为调用taos的dll库,用户可以使用C++根据taos的API文档进行对接。下面我会分别介绍两种对接实例,用户需要先搭好taos的环境。

二、IoT-Fast-采集控制系统

打开IoT-Fast的采集控制系统,选择左边的节点,按住鼠标左键拖入到中间的配置栏。

方法一

先说第一种方式,从左侧的存储节点中拉出TDengine

双击TDengine控件配置数据库的IP、端口、账号和密码。

从左侧通用节点中拉出定时器调试节点,再拉出一个function

双击function进入配置界面,写上“查询当前数据库下的所有数据表信息”语句,代码如下。

msg.payload="SHOW DATABASES" 
return msg;

按住白色小框可以拉出一条线连接上另一个白色小框。这样就将两个控件用线连接起来,数据是从左往右流动的,最后流入调试控件就会在右侧的调试窗口显示。

按下图连接后点击右上角的部署按钮,将右侧的界面调到调试窗口

点击定时器前面的按钮,调试窗口显示查询到的系统所有数据库,点击箭头可以打开数组。

附上一些增删查写语句,只需要修改function中的内容就可以了。

msg.payload="CREATE DATABASE IF NOT EXISTS fdauto "
return msg;
msg.payload="DROP DATABASE IF EXISTS fdauto"
return msg;
msg.payload="CREATE TABLE IF NOT EXISTS fdauto.data (t1 TIMESTAMP ,num INT)
return msg;
msg.payload="DROP TABLE IF EXISTS fdauto.data"
return msg;
msg.payload="CREATE TABLE IF NOT EXISTS fdauto.auto (t1 TIMESTAMP ,num INT) TAGS (t1_name INT, t2_name INT) "
return msg;
msg.payload="DROP TABLE IF EXISTS fdauto.auto"
return msg;
msg.payload="ALTER TABLE fdauto.auto ADD TAG t4 BOOL;"
return msg;
msg.payload="ALTER TABLE fdauto.auto DROP TAG t4"
return msg;
msg.payload="INSERT INTO fdauto.data VALUES (1601446732369,2)"
return msg;
msg.payload="select * from fdauto.data"
return msg;
msg.payload="use fdauto"
return msg;

方法二

方法二对比方法一较为复杂,是通过调用taos的dll库获取到数据,taos的dll库是用C++语言编程的,从左侧拉出一个C++的dll链接库节点。

双击配置dll链接库,点击箭头处选择taos的dll文件;全局变量名是用于function等控件获取全局变量用,例如:global.get("taos");下方的方法名返回类型参数类型需要查看taos的API文档配置。

拉出定时器调试function节点,连接起来。

双击function节点编写一段查询客户端和服务端版本信息的语句。

let ref = global.get("ref");
let libtaos = global.get("taos");//获取dll动态链接库设置的全局变量

libtaos.taos_init();//涛思数据库初始化函数

//涛思数据库连接(从前往后依次配置IP、账号、密码、数据库名、端口)
let connection = libtaos.taos_connect(ref.allocCString("192.168.18.139"), ref.allocCString("root"), ref.allocCString("taos"), ref.allocCString("mes_center"), ref.alloc(ref.types.int, 6030));

//涛思数据库客户端信息
msg.clientInfo= ref.readCString(libtaos.taos_get_client_info());

//涛思数据库服务器信息
msg.serverInfo= ref.readCString(libtaos.taos_get_server_info(connection));

return msg;

配置完成后点击部署,点击定时器按钮,调试窗口返回客户端和服务端的版本信息。

数据获取到之后,就可以上传到云平台展示了,这里就上传一下版本信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值