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

简介: IoT Studio应用开发除了设备状态数据外,无法进行数据分析和展示。对于用户这个述求,物联网数据分析平台与IoT Studio进行了系统打通,解决了IoT Studio用户物联网数据的分析和展示问题。本文章详细介绍了如果在IoT Studio产品使用数据分析的数据API。

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查看数据

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
4月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
53 0
|
4月前
|
存储 物联网 大数据
助力工业物联网,工业大数据之脚本开发【五】
助力工业物联网,工业大数据之脚本开发【五】
40 0
|
7月前
|
关系型数据库 物联网 PostgreSQL
沉浸式学习PostgreSQL|PolarDB 11: 物联网(IoT)、监控系统、应用日志、用户行为记录等场景 - 时序数据高吞吐存取分析
物联网场景, 通常有大量的传感器(例如水质监控、气象监测、新能源汽车上的大量传感器)不断探测最新数据并上报到数据库. 监控系统, 通常也会有采集程序不断的读取被监控指标(例如CPU、网络数据包转发、磁盘的IOPS和BW占用情况、内存的使用率等等), 同时将监控数据上报到数据库. 应用日志、用户行为日志, 也就有同样的特征, 不断产生并上报到数据库. 以上数据具有时序特征, 对数据库的关键能力要求如下: 数据高速写入 高速按时间区间读取和分析, 目的是发现异常, 分析规律. 尽量节省存储空间
607 1
|
7月前
|
消息中间件 传感器 监控
IoT企业物联网平台,数据服务开发实战
IoT企业物联网平台开发实战
317 0
|
3月前
|
存储 安全 数据管理
构建智慧家庭的未来:物联网平台与智能家居系统的开发
在数字化时代,物联网平台和智能家居系统的开发日益受到关注。本文将探讨物联网平台和智能家居系统的定义、优势以及开发过程中的挑战与解决方案。通过对智能家居系统的构建和物联网平台的应用,我们可以实现更加智能、高效和安全的生活环境。
|
4月前
|
数据采集 SQL Oracle
助力工业物联网,工业大数据之DWD层构建:数据抽取分析【十一】
助力工业物联网,工业大数据之DWD层构建:数据抽取分析【十一】
51 0
|
4月前
|
人工智能 数据可视化 安全
Java带可视化数据大屏的物联网智慧工地系统源码
通过现场AI智能视频监控、临时设施动态管理,实时检测场地空间、资源、设施的运行状况,及时发现场地安全隐患,确保为工人营造一个安全、文明的场地作业环境。
61 0
|
5月前
|
存储 安全 物联网安全
物联网安全数据泄漏如何防范
物联网安全数据泄漏如何防范
107 0
|
5月前
|
边缘计算 供应链 安全
|
7月前
|
传感器 安全 物联网
一个非常优秀的跨平台物联网开发常用的网络请求库libcurl
一个非常优秀的跨平台物联网开发常用的网络请求库libcurl
177 1

相关产品

  • 物联网平台