2023/4/24
将物联网传感器设备接入 ThingsCloud 并完成初步的数据采集后,我们需要思考如何对设备历史数据进行分析,以便为我们的业务场景提供决策和洞察。
通常的分析方法包括:
ThingsCloud 物联网平台提供了开箱即用的数据分析工具和方法,不论您是在温室实时采集环境和土壤数据,还是在工厂生产线采集机床设备的运行数据,这些方法都会帮助您快速的上手。
以能耗数据监测为例,智能电表接入 ThingsCloud,利用看板的时序数据组件,我们可以轻松的分析最近30天里每日的回路瞬时电流平均值。
在组件配置中,历史数据区间选择最近30天,聚合时间段选择1天,在左侧的数据源设置中,选择电表设备和电流属性,将聚合计算类型选择平均值,ThingsCloud 会自动计算每天的电流数据平均值。
接下来,将聚合计算类型换为最大值,我们便可以看到每天瞬时电流的峰值。
通过更多数据指标和聚合计算类型的组合,您可以全面分析能耗指标的变化规律和趋势,再结合背后具体的业务场景和需求,达到分析的最终目的。
通过灵活使用聚合计算类型,我们可以对同一个监测指标,观察不同聚合计算结果的趋势分析。
例如:将温度最近30天的历史数据,按每日的平均值、最大值和最小值,分别生成历史数据折线图,横向对比可以看出随时间的变化规律,纵向对比可以看出每日温差的浮动情况。
您还可以对每项指标进行配置,包括样式风格和相关的展示参数。
通常多种数据指标会被同时采集,例如:温室大棚中的网关设备将温室、湿度、二氧化碳、光照强度等传感器数据获取后,可以放在一个时间轴的折线图上,来分析对比多组数据之间的相关性。
对于不同单位的数据,我们可以分别设置独立的Y轴和数值范围,便于我们更加容易的纵向对比不同数据的变化趋势。
通过将项目中所有物联网设备统一接入 ThingsCloud,跨设备甚至跨地域的数据分析,不再有任何难度。
这里我们在不同地点安装的温湿度传感器,通过历史数据可以方便的汇总分析,既可以看到总体湿度随着时间的变化,也可以快速得知每天不同地点的湿度对比情况。
另外,在很多场景下,我们需要对多个指标进行叠加分析。
例如:通过将两个电表的功率最大值进行叠加计算,就可以轻松的分析出每日的总功率峰值。
在上边的叠加分析中,总功率只作为临时计算结果,出现在图表中。如果我们需要将一些叠加结果保存下来,那么可以使用消息规则中的属性上报预处理,来进行实时求和计算。
创建一个属性上报预处理规则。
在操作中,选择预处理函数。
编写一段非常简单的 Javascript
代码。
代码如下:
module.exports = function (report_attributes) { /** * report_attributes: 上报的属性对象,同时作为函数返回值。函数中可更新属性对象。 */ if (report_attributes.Pa && report_attributes.Pb) { report_attributes.PTotal = report_attributes.Pa + report_attributes.Pb; } return report_attributes;}
如上所示,当规则生效后,每次设备上报属性数据时,都会自动求和并生成新的属性 PTotal
。
当然,这种方式只适用于同一个设备下的多个属性求和。
另一种时候,当需要求和的两个属性不是同时上报,怎么办呢?
没有关系,预处理函数中提供了内置函数,可以读取设备最近一次上报的所有属性,同样可以完成求和计算。
代码参考如下:
module.exports = function (report_attributes) { /** * report_attributes: 上报的属性对象,同时作为函数返回值。函数中可更新属性对象。 */ // 读取设备最近一次的所有属性 const attributes = Cloud.getCurrentAttributes(); if (report_attributes.Pa && attributes.Pb) { // 将上报的属性 Pa 和设备现有的属性 Pb,计算求和 report_attributes.PTotal = report_attributes.Pa + attributes.Pb; } return report_attributes;}
除了以上的工具和方法,您还可以通过 ThingsCloud 提供的多种数据导出方式,获得设备历史数据,实现更多自定义分析。
ThingsCloud 支持的数据导出方式有:
获得数据后,您可以:
本期介绍的方法您都学会了吗?快来体验吧!
ThingsCloud 是物联网设备统一接入平台,帮助企业在极短的时间内搭建个性化的物联网平台和应用,并适应不断变化的发展需求。
ThingsCloud 可接入各类网关,传感器、执行器、控制器、智能硬件等,实现数据采集、远程控制,数据分析、告警通知、智能联动。同时还可以零代码生成项目应用 SaaS 和用户应用 App,并开放 API 和实时消息,能够和其它系统集成对接。
通过使用 ThingsCloud,企业可以大大缩短搭建物联网系统的时间,节省软件开发费用,降低定制开发的风险,快速落地数字化和智能化项目。