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

简介: 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
目录
相关文章
|
5月前
|
存储 物联网 大数据
助力工业物联网,工业大数据之脚本开发【五】
助力工业物联网,工业大数据之脚本开发【五】
70 0
|
5月前
|
存储 安全 物联网
使用 Java 进行物联网(IoT)应用开发
【4月更文挑战第19天】Java,凭借其跨平台特性和丰富库,成为物联网开发热门选择。开发者利用Java进行物联网应用开发,可实现设备连接、数据处理、数据库管理及安全保障。熟悉Java基础、物联网知识、数据通信和数据库管理是必备技能。利用MQTT客户端、数据存储框架和可视化工具能提升开发效率。随着物联网发展,Java在该领域的影响力将持续增强。
874 1
|
2月前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
57 1
|
2月前
|
物联网 区块链 vr&ar
未来已来:探索区块链、物联网与虚拟现实技术的融合与应用安卓与iOS开发中的跨平台框架选择
【8月更文挑战第30天】在科技的巨轮下,新技术不断涌现,引领着社会进步。本文将聚焦于当前最前沿的技术——区块链、物联网和虚拟现实,探讨它们各自的发展趋势及其在未来可能的应用场景。我们将从这些技术的基本定义出发,逐步深入到它们的相互作用和集成应用,最后展望它们如何共同塑造一个全新的数字生态系统。
|
6天前
|
机器学习/深度学习 安全 物联网安全
探索未来网络:物联网安全的最佳实践与创新策略
本文旨在深入探讨物联网(IoT)的安全性问题,分析其面临的主要威胁与挑战,并提出一系列创新性的解决策略。通过技术解析、案例研究与前瞻展望,本文不仅揭示了物联网安全的复杂性,还展示了如何通过综合手段提升设备、数据及网络的安全性。我们强调了跨学科合作的重要性,以及在快速发展的技术环境中保持敏捷与适应性的必要性,为业界和研究者提供了宝贵的参考与启示。
|
9天前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
22天前
|
存储 传感器 物联网
结合物联网开发探讨C语言的变量
在物联网(IoT)开发中,C语言的变量起着至关重要的作用。由于物联网设备资源有限,C语言的高效性和对硬件的直接控制使其成为开发嵌入式系统的首选。
|
14天前
|
存储 安全 物联网
探索未来网络:物联网安全的最佳实践与挑战
在数字化浪潮中,物联网作为连接万物的关键技术,已深刻改变我们的工作与生活方式。然而,随着其应用的广泛化,安全问题日益凸显,成为制约物联网发展的重要瓶颈。本文旨在深入探讨物联网的安全架构、风险点及应对策略,通过分析当前技术趋势和实际案例,提出一套切实可行的安全防护方案,以促进物联网技术的健康发展。
|
2月前
|
存储 传感器 监控
理解并利用物联网(IoT)数据的技术探索
【8月更文挑战第11天】物联网数据是数字化转型的重要资源。通过深入理解物联网数据的特性和价值,并采取有效的收集、处理和分析策略,我们可以更好地利用这些数据为企业决策提供支持、优化运营效率、创造新的商业模式并推动数字化转型的深入发展。
|
3月前
|
物联网
好的资源链接,gitee全糖咖啡,B站视频转成mp4,全糖咖啡 / 物联网网关数据上传,,全糖咖啡 / springboot+百度智能车牌检测
好的资源链接,gitee全糖咖啡,B站视频转成mp4,全糖咖啡 / 物联网网关数据上传,,全糖咖啡 / springboot+百度智能车牌检测

相关产品

  • 物联网平台
  • 下一篇
    无影云桌面