编辑整理:整理来源:百度知道,浏览量:89,时间:2022-07-07 07:56:01
iot项目数据采集及分析,iot数据采集架构,IOT数据采集
使用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-采集控制系统对底层设备进行数据读取、写入的配置界面,还可以进行数据处理。
一、TDengineTDengine是一款开源、高性能、分布式、支持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 (-底部咨询-9,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;配置完成后点击部署,点击定时器按钮,调试窗口返回客户端和服务端的版本信息。
数据获取到之后,就可以上传到云平台展示了,这里就上传一下版本信息。