物联网数据应用开发最佳实践

IoT Studio对接后可以在web页面引用展示当前IoT Studio项目关联设备的一些运行数据及统计指标,获取设备的运行状态等

前提条件

  • 使用真实设备或SDK模拟设备连续多天上报数据
  • 上报的属性必须为数值类型属性

背景信息

本文以IoT Studio项目引用同一产品多个设备为例,设备主要属性为三个温度值(temperature_1,temperature_2,temperature_3),代表设备不同部件温度值,一个温度告警事件,

查看设备单一属性一天内最高温度,最低温度,平均温度

单一设备 最近一天温度报警次数 (针对temperature_1属性)

整个studio项目(分组)最近一天温度报警次数(针对temperature_1属性)

操作步骤

注:购买数据型企业实例,或已有企业实例升配至数据型实例请参考实例购买或升配,产品,设备的创建及设备上报属性不在此赘述

1: 创建studio项目

进入增值服务studio控制台,左侧选择相应的实例,点击新增项目,创建studio项目

物联网数据应用开发最佳实践

2: 绑定产品和设备

进入新建的项目后,关联产品及设备

物联网数据应用开发最佳实践

关联产品

在产品列表页勾选要关联的产品,点击确认,将产品关联到stuido项目中,即可在后续的操作中使用该产品

物联网数据应用开发最佳实践

关联设备

可选择关联物联网平台设备(需要是上一步绑定的产品下的设备),勾选相应的设备后点击确定,或直接添加设备(新建设备并绑定到项目)

物联网数据应用开发最佳实践

添加设备

物联网数据应用开发最佳实践

3. 数据分析

IoT Studio项目在数据分析工作台会映射为一个分组(注:需要在stuido项目所归属示例中操作)

eg: 示例中使用的项目名为: test0525mxj 则在LA数据分析中可在分组视角中看到该项目

该分组只能查看,不能做其他编辑

物联网数据应用开发最佳实践

点击查看,可看到设备列表中展示分组绑定的四个产品(三个之前绑定,一个新增设备)

物联网数据应用开发最佳实践

3.1 备份产品数据

数据备份为了保存了设备上报的历史数据(默认只能存储1个月,开启备份后可根据需要选择备份周期),为后续数据分析提供原始数据

进入数据分析-> 数据管理

搜索相应的产品(IoT Studio项目中绑定的产品),示例中产品为:IoT Studio产品

注: 若之前未开启备份,操作按钮会有 备份按钮,若已开启备份(备份状态为运行中),则操作中包含“停止”,若已停止,则可选择“开启”

未开启备份示例:

物联网数据应用开发最佳实践

已开启备份示例

物联网数据应用开发最佳实践

3.2 属性数据分析

数据资产中,点击新建指标即可创建指标

物联网数据应用开发最佳实践

3.2.1 为分组下的设备创建指标

选择设备,表明该指标为设备的衍生指标

选择分组->test0525mxj(分组名)-> lzf_test_studio01(设备名)

表示:为分组(studio项目) test0525mxj 中的 lzf_test_studio01 设备创建一个衍生指标

注: 选择所属实体选择时:使用分组,若选择产品,则会导致指标创建在产品-》设备维度下,无法在studio项目中引用

物联网数据应用开发最佳实践

选择事件修饰词,原子词,以及计算规则等,为lzf_test_studio01 创建一个衍生指标,计算温度1 这个属性最近一天的平均值


物联网数据应用开发最佳实践

注:若原子词表义不够精确,或当前可选原子词中没有期望值,可根据需要新建原子词

例如: 以下截图中选择的原子词表义不够明确,应该为:最近一天温度1的平均值

可创建新的原子词,温度1度平均值 ,再返回创建指标即可使用新的原子词

物联网数据应用开发最佳实践

使用新的原子词

物联网数据应用开发最佳实践

根据上述流程,分别为lzf_test_studio01- lzf_test_studio04创建温度1的最近1天平均值,最大值,最小值等指标

3.2.2 为分组创建指标

选择分组,表明该指标为分组的衍生指标

选择分组: test0525mxj(分组名)

物联网数据应用开发最佳实践

其他操作参考 3.2.1

3.2.3 回刷指标

指标上线后,会每天凌晨开始自动调度,生成上一日的统计值

若期望当天使用该指标,可根据历史数据,回刷之前的数据,生成今天之前的统计数据

创建回刷任务:

  1. 点击指标任务,进入指标任务管理页面
  2. 选择回刷实例(周期实例为周期调度产生,详情请产考数据分析周期实例介绍文档)
  3. 新增回刷任务
  4. 选择开始时间结束时间(单次回刷最多可选择30天范围,若期望更长时间,可在将时间分割为多个时间多,分多次回刷)
  5. 选择要回刷的指标(一个回刷任务可回刷一个指标,回刷多个指标需创建多个回刷任务)
  6. 点击确认

物联网数据应用开发最佳实践

物联网数据应用开发最佳实践

回刷任务列表:

可点击查看运行状态,若回刷失败,可点击重跑,(单次回刷多个可能导致上下依赖,或任务等待超时,导致失败),若持续失败,可进入答疑群,由技术同学提供支持

物联网数据应用开发最佳实践

3.3 事件解析

通过对设备上报的事件数据解析,可获取事件上报内容,实现对事件进行分类,统计等操作

以下示例对温度报警事件进行分类统计,统计最近1天温度1的报警次数

3.3.1 解析事件内容

在数据分析工作台,可以通过topic解析任务来处理设备上报的数据

1: 创建topic解析任务

物联网数据应用开发最佳实践

2: 设置源定义

选择指定的实例, 产品,选择全部设备(所有设备上报的数据均会被解析),选择物模型通信topic(若事件通过自定义topic上报,则可选择自定义topic), 选择对应的事件topic

物联网数据应用开发最佳实践

可通过拉去线上数据查看事件内容

3: 设置筛选器

这里只对温度1的报警事件进行统计,暂时只选择

params.identifier_name = temperature_1 的数据进行统计

物联网数据应用开发最佳实践

4:设置表达式

在此期望后续对报警次数进行统计,可新增一个计数器,每处理一条符合条件的事件记录,则产出一个指标,数值为1,表示该事件触发一次,后续对该改字段进行累加即可获取相应时间段内该事件触发次数

物联网数据应用开发最佳实践

物联网数据应用开发最佳实践

5: 输出相应字段

可根据需要输出期望字段,移除不需要的字段

物联网数据应用开发最佳实践

6: 调试

物联网数据应用开发最佳实践

7:上线

物联网数据应用开发最佳实践

查看生成的原始指标:

物联网数据应用开发最佳实践

3.3.2 回刷解析任务

解析任务上线后,会每天凌晨开始自动调度,解析上一日的事件记录

若期望处理历史事件数据,可创建回刷任务,回刷历史数据

1: 点击解析任务,进入解析任务管理页

2: 进入回刷任务列表(周期任务为定时调度产生)

3: 创建回刷任务

选择回刷日期,相关任务,点击确认即可提交任务

4: 若执行失败可进行重跑

物联网数据应用开发最佳实践


物联网数据应用开发最佳实践

3.3.3 进行统计分析

创建分析指标,引用topic解析生成的原始指标

截图为 为lzf_test_studio04创建 温度1报警记录统计

物联网数据应用开发最佳实践

选择新生成的 temperature_1_alert_count进行sum求和获取最近一天温度1的报警次数

物联网数据应用开发最佳实践

创建后,回刷请参考3.2.3

4 创建数据服务

系统API主要提供系统指标以及产品原始数据查询API

数据服务- > 自定义服务-> 新增API

物联网数据应用开发最佳实践填写 API 名称和APIpath 点击进入下一步

物联网数据应用开发最佳实践

指标域可选 分组/设备 或这个分组

表示引用分组下的设备的指标创建API,或引用分组下的衍生指标创建API

数据集,选择相应的分组,以及分组下的设备

请求参数和返回参数可选择该设备已上线的指标以及业务时间(当天创建的指标需要回刷后或第二天自动调度成功后方可使用)

物联网数据应用开发最佳实践

配置完成后,对API进行测试

物联网数据应用开发最佳实践

测试成功后点击发布API,即可在studio中调用该API

5: IoT Studio使用数据分析数据

5.1 使用系统API查看原始数据

准备

新建web页面,拖入时间范围组件(可以为后续API提供时间参数)

设置默认时间,避免接口饮用时无默认值导致失败

物联网数据应用开发最佳实践

选择折线图组件(或者表格组件等其他组件),点击配置数据源

物联网数据应用开发最佳实践

配置数据源

1: 数据源选择接口

2:接口来源选择数据分析服务

3:接口类型选择: 通用接口(系统API)

4:选择需要需要查看的产品的原始数据查询API

物联网数据应用开发最佳实践

设置参数:

1: 静态参数

直接对参数进行赋值,页面发布后,每次请求都会以此参数请求数据

物联网数据应用开发最佳实践

2:动态参数

进入动态参数列表,选择timestamp参数来源于组件(可选择之前拖入对时间组件)

物联网数据应用开发最佳实践

选择之前拖入的时间组件的值为接口入参

物联网数据应用开发最佳实践物联网数据应用开发最佳实践

配置完成后,会自动获取指定时间范围内的数据

物联网数据应用开发最佳实践

配置图表展示数据

点击确认后可查看当前API所有可选字段包含:

设备名,设备id,以及产品下设定的物模型属性,通过topic解析生成的原始指标(temperature_1_alert_count)

物联网数据应用开发最佳实践


物联网数据应用开发最佳实践

以上数据需要重新上传,数据可读性不高

期望: 展示温度1的历史记录,同时在数据大于20时,会触发一次报警

5.2 使用自定义API查案统计数据

配置数据源选择用户接口:

studioTestApi (上一步创建的自定义API)

物联网数据应用开发最佳实践

其他步骤参考使用系统API查看数据

上一篇:Hyper-V对支持USB设备的支持


下一篇:IoT数据倾斜之实时任务调优