0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【产品应用】如何利用IoT云平台统计设备数据?— 进阶篇

ZLG致远电子 2023-05-30 17:18 次阅读

设备数据上云,解析后的设备数据一般是时序存储,但纯粹的设备时序数据无法给用户带来更大的业务价值,需要根据业务需求进行额外的数据统计分析。本文将介绍如何利用ZWS云平台的自定义统计算法对数据进行统计。

d8203fc4-f9c9-11ed-ba01-dac502259ad0.jpg  应用场景

上一篇《如何利用IoT云平台统计设备数据?—基础篇》介绍了如何运用ZWS云平台中的内置统计算法进行数据统计,这次将介绍如何创建自定义统计算法。

为什么需要自定义统计算法?由于业务需求各式各样,有的需要求平均值,有的需要求累加值,不同维度需要不同统计算法,开发者可以通过自定义统计算法来满足对应的项目需求。


d83bd75c-f9c9-11ed-ba01-dac502259ad0.jpg  统计数据准备首先,需要在ZWS云平台中创建设备并上报设备数据:

d856a65e-f9c9-11ed-ba01-dac502259ad0.png

d83bd75c-f9c9-11ed-ba01-dac502259ad0.jpg  统计算法ZWS云平台的统计算法有两种,分别是内置统计算法自定义统计算法

  1. 内置算法为云平台定义好的算法,可以直接关联设备进行统计,无需关心统计算法内容和过程。

自定义算法可以自己拟定数据统计的方式(例如取某段时间的最大最小值、总和等等)来统计设备数据。


d83bd75c-f9c9-11ed-ba01-dac502259ad0.jpg  创建自定义统计算法不同于内置算法,自定义算法从请求参数、统计过程、统计结果均由用户自定义,需要开发者编写脚本。目前自定义统计中支持了Groovy和JavaScript两种脚本语言解析。

d8b359bc-f9c9-11ed-ba01-dac502259ad0.png

1. 请求参数

  • 类别:云平台提供给自定义算法的参数;
  • 参数名:参数的别名。

在云平台中,提供了6种参数给自定义算法的开发者使用:

devType:设备类型;

devId:创建设备定义的ID,可以用于选取一个设备进行统计;

dataSource:设备类型功能块中的某一个字段;

dataCompareOperation:字段的比较条件,有大于、小于和等于;

dataValue:需要比较的数据值;

  • group:软件分组,可以对一整个软件分组进行统计。

2.算法代码

统计数据的过程代码,可以使用Groovy或者JavaScript语言编写。

3.返回参数

定义统计后结果显示的字段。

这里以统计一小时内设备的某个数据的总和为例,编写一个JavaScript脚本:

// 载入需要实现的接口var DataStatisticScriptMethod = Java.type("com.zlgcloud.iotplatform.iotdata.service.data.statistics.DataStatisticScriptMethod");// 创建继承实现接口的类var JsDataStatisticScriptMethod = Java.extend(DataStatisticScriptMethod);
// 创建func对象var func = new JsDataStatisticScriptMethod() { execute: function(param) {
//获取创建算法页面的请求参数,参数值会由云平台根据算法实例的选择项,进行自动填充 var thirdThingsId = param.get("devId"); var infoModelId = param.get("devType"); var property = param.get("property");
//可以自定义统计时间范围,如果查询条件没有range,则会根据算法实例的数据开始时间和数据结束时间范围进行统计 var currentTime = new Date().valueOf(); var anHourAgo = currentTime - 3600000;
// 拼装elasticseach 查询的dsl // 这里根据业务需要设置数据范围. 查询时会限制租户和用户管理的设备. var esParam = { "aggregations": { "result_in_hour": { "sum": { "field": "data." + property } } }, "query": { "bool":{ "must": [ { "term": { "third_things_id.keyword": thirdThingsId } }, { "range": { "timestamp": { "gte": anHourAgo, "lt": currentTime } } } ] } } }; //获取统计结果 var result = Java.super(func).queryEs(infoModelId, esParam); var rtn = {"result_in_hour":result['aggregations']['result_in_hour']['value']}; return rtn; }}

将脚本复制到自定义算法中。

d8e459e0-f9c9-11ed-ba01-dac502259ad0.png

同时创建实例,给设备的数据进行统计。

d91fc75a-f9c9-11ed-ba01-dac502259ad0.png

执行算法过后,可以看到自定义统计结果。

d946a62c-f9c9-11ed-ba01-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 设备
    +关注

    关注

    2

    文章

    4250

    浏览量

    69884
  • IOT
    IOT
    +关注

    关注

    186

    文章

    4048

    浏览量

    194082
收藏 人收藏

    评论

    相关推荐

    ZWS平台应用(4)-设备数据上报

    智能设备连接到物联网,会产生大量的数据,可以说:物联网最大的价值,其实是数据,那么设备数据是如何上报到
    的头像 发表于 04-12 08:25 410次阅读
    ZWS<b class='flag-5'>云</b><b class='flag-5'>平台</b>应用(4)-<b class='flag-5'>设备</b><b class='flag-5'>数据</b>上报

    产品应用】ZWS平台应用(3)-设备基于DTU接入

    传统设备要接入物联网,选择什么方式比较好?本文将介绍通过DTU智能网联终端CATCOM-100接入ZWS物联网平台的功能。对于一些工业制造、机械设备对温度有特殊的要求,我们就需要控制
    的头像 发表于 03-29 08:23 231次阅读
    【<b class='flag-5'>产品应用</b>】ZWS<b class='flag-5'>云</b><b class='flag-5'>平台</b>应用(3)-<b class='flag-5'>设备</b>基于DTU接入

    RT-Thread驱动开发指南进阶篇-动手驱动先楫未适配的外设LCD

    经过上一的《《RT-Thread设备驱动开发指南》基础--以先楫bsp的hwtimer设备为例》阐述,可以大致了解到RT-thread设备
    的头像 发表于 02-25 11:04 1234次阅读
    RT-Thread驱动开发指南<b class='flag-5'>进阶篇</b>-动手驱动先楫未适配的外设LCD

    RK3568驱动指南|驱动基础进阶篇-进阶5 自定义实现insmod命令实验

    RK3568驱动指南|驱动基础进阶篇-进阶5 自定义实现insmod命令实验
    的头像 发表于 02-20 14:10 307次阅读
    RK3568驱动指南|驱动基础<b class='flag-5'>进阶篇</b>-<b class='flag-5'>进阶</b>5 自定义实现insmod命令实验

    RK3568驱动指南|驱动基础进阶篇-进阶8 内核运行ko文件总结

    RK3568驱动指南|驱动基础进阶篇-进阶8 内核运行ko文件总结
    的头像 发表于 01-31 14:58 764次阅读
    RK3568驱动指南|驱动基础<b class='flag-5'>进阶篇</b>-<b class='flag-5'>进阶</b>8 内核运行ko文件总结

    LoRa ZWS应用(4)-环境监测设备接入

    在环境监测系统中,要将监测设备接入物联网平台,才能进行对环境数据实现实时监测、统计分析等操作。本文将介绍通过LoRa网关将环境监测
    的头像 发表于 01-26 08:25 507次阅读
    LoRa  ZWS<b class='flag-5'>云</b>应用(4)-环境监测<b class='flag-5'>设备</b>接入<b class='flag-5'>篇</b>

    PLC设备接入网关实现工厂PLC接入物联网IOT平台

    管理方面存在一些困难。物通博联提供PLC设备接入网关,可以将PLC设备接入物联网IOT平台。 物通博联PLC
    的头像 发表于 01-24 16:43 546次阅读
    PLC<b class='flag-5'>设备</b>接入网关实现工厂PLC接入物联网<b class='flag-5'>IOT</b><b class='flag-5'>云</b><b class='flag-5'>平台</b>

    ESP32的接口不能随便用,如何快速从Arduino过渡到ESP32的新手指南-进阶篇

    进阶篇 接续如何快速从Arduino过渡到ESP32的新手指南-基础,继续了解ESP32的各种引脚接口吧! 内容介绍 1. SPI引脚 2. I2C引脚 3. UART引脚 4. RTC引脚 5.
    的头像 发表于 12-12 15:54 1.5w次阅读
    ESP32的接口不能随便用,如何快速从Arduino过渡到ESP32的新手指南-<b class='flag-5'>进阶篇</b>

    设备互联(IOT数据采集)平台有什么功能

    设备互联(IOT数据采集)平台是一种用于物联网数据采集和处理的平台。它通过连接各种工业
    的头像 发表于 10-24 16:59 642次阅读

    STM32通过NB-IoT连接阿里IOT平台

    NB-IoT技术介绍 整体框架结构 • 硬件连接注意事项 • DEMO运行效果 • 在阿里物联网平台创建并配置产品 • 在
    发表于 09-11 07:04

    智能建筑与平台数据交互BL110 BACnet IP

    IoT、ThingsBoard、金鸽等,并实现多个平台和上位机系统同时在线。 选择合适的平台
    的头像 发表于 09-04 10:45 403次阅读
    智能建筑与<b class='flag-5'>云</b><b class='flag-5'>平台</b>的<b class='flag-5'>数据</b>交互BL110 BACnet IP

    基于DTU&amp;amp;ZWS的智慧环境监控系统之数据统计

    ,它能够将串口设备数据通过无线网络传输到云端服务器,实现设备的远程管控,常被应用于环境监测、电力配电、智慧工厂等多种行业场景。ZWS平台
    的头像 发表于 08-23 15:17 397次阅读
    基于DTU&amp;amp;ZWS<b class='flag-5'>云</b>的智慧环境监控系统之<b class='flag-5'>数据统计</b><b class='flag-5'>篇</b>

    物通博联设备联网智能网关设备数据采集上传百度IOT平台

    在当今的数字化时代,物联网(IoT)技术正以其无可比拟的便利性和效率,设备需要通过互联网进行数据采集和分析对各行各业产生深远影响。随着物联网技术的不断发展,越来越多的设备被连接到互联网
    的头像 发表于 08-22 16:29 386次阅读
    物通博联<b class='flag-5'>设备</b>联网智能网关<b class='flag-5'>设备</b><b class='flag-5'>数据</b>采集上传百度<b class='flag-5'>云</b><b class='flag-5'>IOT</b><b class='flag-5'>平台</b>

    【解决方案】设备如何上报数据到ZWS平台

    在物联网中,监测设备数据已是一个基础必备功能,可那些不同种类的物联设备究竟是如何上报数据平台
    的头像 发表于 07-19 11:55 312次阅读
    【解决方案】<b class='flag-5'>设备</b>如何上报<b class='flag-5'>数据</b>到ZWS<b class='flag-5'>云</b><b class='flag-5'>平台</b>?

    【解决方案】如何通过IoT设备数据进行自定义统计

    设备→网关 → 服务器,可以实现将数据采集到物联网平台,但业务需求各式各样,有时需要不同的统计数据
    的头像 发表于 07-17 14:45 273次阅读
    【解决方案】如何通过<b class='flag-5'>IoT</b><b class='flag-5'>云</b>对<b class='flag-5'>设备</b><b class='flag-5'>数据</b>进行自定义<b class='flag-5'>统计</b>?