IoT Studio 物联网开发训练营 第三天 云组态进阶开发 | 学习笔记

简介: 简介:快速学习 IoT Studio 物联网开发训练营 第三天 云组态进阶开发

开发者学堂课程【物联网应用开发 IoT Studio训练营: IoT Studio 物联网开发训练营 第三天 云组态进阶开发】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/910/detail/14410


IoT Studio 物联网开发训练营 第三天 云组态进阶开发

 

目录:

一、业务逻辑

二、自定义组件

三、推广你的移动应用


一、业务逻辑

1.介绍

(1)物联网业务逻辑的开发工具,支持通过编排服务节点的方式快速完成简单的物联网业务逻辑的设计。

l 简单易用可视化编排方式提供免代码/低代码能力

l 丰富的编排能力提供通用型节点和领域节点多种编排能力

l 云端托管服务云端托管能力,开箱即用

l 持续的功能集成高可用、稳定的持续集成

(2)业务逻辑编排操作界面由节点、编排器、调试面板、操作栏和属性面板组成

① 编辑器有五个部分组成:左侧栏是节点的选择面板,底部是操作栏用户在进行服务编辑对服务进行部署、发布以及对应的调试工作,中间是用于承载整个可视化搭建中逻辑编排里面的节点拖拽的容器和画布。进行服务编排时是将左侧的一些节点通过一些配置后在编辑器上面用对应的线条把对应的逻辑串起来。

② 调试面板:在业务逻辑编排的这个开发过程中,需要有一些这种开发和调试的工作,是将调试的一些结果进行透出了一个面板。

③ 属性面板:每一块节点,需要有一些属性的一块配置,以及节点所需要填入的一些必填的信息。通过整个可视化编辑器里对编辑器各个组成部分的了解。

(3)当前业务逻辑编排,节点大体上是分为三大类

① 第一类:触发和输入节点呢每个业务逻辑编排,所编排出来的服务只有一个起始节点这个起始节点通常是由一些对应的条件进行触发,或者一些用户的系统的主动调用发起,命名为处罚和失误节点

② 第二类起始节点之后需要满足对应的一些特定功能。通常称之为功能节点,在每一个服务里面它支持的功能型节点是不确定的。

③ 第三类:输出型节点。服务里面需要输出结果时的一个节点承载。

2.搭建一个编排服务

(1)流程:

创建项目——创建对应的服务——编辑器编辑——部署/调试——发布——服务应用

(2)调试方式:

云端调试:需要在服务开发之后点击部署/调试操作

设备调试:mqt 调试、空间调试设备触发调试。它需要由设备端里面有对应的一些条件来进行触发。例:设备触发通常可以有设备的属性、事件和服务。如果发生调用它可以触发对应的条件。

这种情况下是以设备模拟器方式来用一个虚拟的方式来模拟一个真实设备来完成调试。

(3)快速搭建具体流程:

调试环节:

l 新建开发者流程项目

l 业务逻辑底面模板中新建一个对应的服务,有对应的模板供我们用

l 弄一个空白模板没有任何内容完成服务搭建后会跳转到编辑器

l 搭建一个 http 请求,里面默认情况下没有参数如果有需要我们可以添加

l 第二块最简单的应用并不期望 http 返回具体内容,这里返回一个常量,这个常量可以在 http 返回对应的属性面板里面将它固定。

l 假设返回一百我们要调试这个服务时,直接点击部署调试服务会先在云端进行部署操作会唤起对应的调试

l 服务成功,这边直接返回100

发布操作:

l 如何将返回获得100的这个值被别的部分使用?

将在可视化里来直接使用服务

l 先拖一个简单的文字组件,内容选择数据源,选择对应的接口,接口来自业务逻辑编排工作台里

l 快速搭建一个服务是刚发布的服务

3.对接可视化搭建

(1)可视化搭建和业务逻辑编排有协作的关系,来组合完成对应的场景。这种方式简称:可视化搭建双向数据通信 

(2)双向数据通信主要是:

可视化搭建可以使用接口数据源来访问业务逻辑编排它所快速搭建出来的http服务。

业务逻辑编排在某些触发类场景时向设备触发、空间触发等等一系类触发任务,在自动执行时会产生一些对应的数据和行为,这类数据和行为可视化搭建感知不到,所以有一个应用推送的途径,可以把对应这块产生的数推给可视化搭建。整个可视化搭建和业务逻辑编排就完成了双向数据的对接。

(3)应用数据源是业务逻辑编排所搭建的http服务可以作为可视化搭建的一个数据源,能够被可视化搭建中使用。

l 如何通过应用推送将可视化业务逻辑编排里能拿到能主动推给可视化对应的应用。

l 建一个新的服务使用一个新建的——应用推送数据源,使用对应的设备触发,设备触发通过应用推送节点。设备触发属性面板里需要选择对应的产品

l 应用推送所需要推送的数据是?

l 可以看到这个产品上有各种对应的状态,整个设备触发是触发之后执行应用推送节点,会将对应的数据推给绑定之后数据源的应用。先部署

l 触发设备触发,如果报错表明没有推送的对象,应用推送没有应用绑定的数据源。

(4)在可视化中绑定数据源:

l 将当前新配置一个数据源,这个数据源选择应用推送,将新建的应用推送数据源。

l 重新在设备模拟器下面模拟一个1000功率的属性上报,整个应用就接收到了1000功率的数据,完成了数据的接收

4.案例

(1)设备告警:设备当发生一定的属性、事件、服务发生异常需要通过业务逻辑编排将对应的消息通知给相关人员的人员。 

(2)监听设备消息——数据提取与加工——告警规则判断——告警途径——告警下发

告警规则判断:钉钉机器人、短信、应用推送 

(3)以应用推送为例完成告警:

l 在原有的基础上进行改造。设定一个条件,因为设备是个灯,当灯的功率大于100时,作为一个告警。或小于50时作为告警。并且把对应的告警体现在大屏上

l 设备触发监听了它所有的属性上报,所以在刚才的演示中已完成。需要加一个判断逻辑:如何来读到设备触发上报时的功率,通过这个功率进行判断

l 使用一个 Node.js 脚本,这个脚本里能接收到设备触发里面上报的对应的数据

l Node.js 脚本如何能取到设备对应的功率的属性?

l 模拟数据上报,选择设备触发节点,可以看到节点日志里有两个属性:节点输入和节点输出。 

l 将数据进行判断

rodule.exports=async function(payload,node,query, context, global){

console.log("payload:", payload);

const power=payload.props.CurrentPower.value;

if (power > 100) {

return {

alarm: true,

Poner; power,

}

}else if(power < 50) {

return {

alarm: true,

poner: power,

}

}else {

return {

alarm: false,

poner:power,

}

}

}

l 将数据推给可视化应用里。因为数据来自节点数据,将刚才原来的结构体数据返回,再重新部署。这个操作默认是部署调制,因为需要有对应的设备模拟进行配套所以只能完成部署

l 在可视化里将刚才的应用推送来使用。为了方便查看使用对应的指示灯组件

l 数据源选择刚才的应用推送保存。可以看到指示灯有两个颜色,一个是关闭一个是开启。

l 使用一个过滤器将刚才的告警属性。如果功率器恢复正常,灯会变蓝;功率低于50会告警。通过这个操作就完成了整个设备告警对应的电路,通过建立的设备触发将对应的数据进行提取和加工。

(4)关于数据加工与存储据经典案例

1、数据的加工和数据存储

l 数据加工以一个简单的方式——时间转换,需要的一个格式这块还是数据加工。

l 数据存储当前的数据存储有多个方式,键值对存储,还有表格存储以及变量。

2、以键值对存储为例

l 使用刚才的设备触发场景来将设备上报的一个时间转化为所需要指定的格式

l 将接收到的时间戳取自于设备触发上报

l 以属性为例,获取到时间后,将时间戳转化为对应的年月日时分秒的方式。

l 存储是把对应的时间戳保存在对应的键值对存储里

l 返回的时间是经过转化的字符串,值来自执行脚本

l 重新部署,使用设备触发进行一次新的调试,功率选用40,执行

l 经过调试,键值对里接收到输入的参数是2012.7.30

l 验证刚才操作的准确性,将对应的数据加工和存储、发布

l 发布完成后为了让键值对的值能被读取到,所以在原来快速搭建的服务里取到设置的键值对

l 调试服务,看它返回的结构是不是符合预期,保证能正常工作将其发布

l 外部可视化里使用对应的数据源,同样来获取它的结构,可以看到报了异常,是因为返回的结构是将对应的键值对存储里的以 http 形式进行返回

l 取到的数据要使用过滤器

l 配置好之后可以看到取到的对应的键值对设置的时间

l 再调试、预览,时间已经改变

l 刷新页面拿到对应数值

3.设备控制

使用业务逻辑编排实现对设备的控制。

4.自动化

通过对应的时间上的规则和逻辑期望对应的设备能够在指定的时间或者满足条件的情况下自动执行一些事


二、自定义组件

1.什么是自定义组件

(1)loT Studio 的可视化开发中提供了很多组件用于搭建页面,由于提供的官方组件数量有限,很难满足用户所有的需求。因此,为了解决组件调用不足的问题,loT Studio推出了自定义组件功能。

(2)特点:

l 个人开发组件和公共组件功能

l 强大的本地开发功能

l 快速上传和云构建

l 组件管理功能

(3)分层:

image.png

2.准备环境

(1)前端开发基础:html+css+js、react、前端包管理

(2)loT Studio 开发工具

l 安装 bone

npm i -g @bone/npm --registry https://registry-node.aliyun.com/org/YscSvypAq7EUU-8GmyAjop/registry/aliyunIoT/

访问bone.aliyun.com/profile获取用户名和密码,进行登录

bnpm login --registry https://registry-node.aliyun.com/org/YscSvypAq7EUU-8GmyAjop/registry/aliyunIoT/

l 安装 CLI 工具库

bnpm install -g @maliang/material-cli

l 创建项目

material create Demo

l 运行项目

npm start 

3.组件开发

(1)本地开发:

组件逻辑:src/index.js

属性描述:src/specs/specs.js

(2)发布:

l loT Studio 应用开发页面,创建组件

l 本地执行 npm run pack 构建组件包-Components.zip

l 上传构建组件

l 查看组件

(3)组件使用:

l 个人开发组件类名

l 拖入搭建页面,属性配置

l 其他操作和默认组件一直

4.组件能力

(1)属性配置

loT Studio 为组件的属性提供可定制的编程能力,来实现较为复杂的组件属性联动功能开发者可以为一个组件设置不同的属性,可以根据业务的求,动态地设置组件的属性。

(2)事件配置

组件可以定义一些用户与浏览器的交互行为,由用户在界面操作时触发,触发后,可以返回一些组件内部的状态值。这种交互行为的触发就是组件的事件。

(3)服务配置

组件可以为自己定义具体的方法,来执行命令,例如返回组件的某个属性值。定义的方法可以提供给外部使用,即该方法就是组件的服务。


三、推广你的移动应用

1.小程序介绍

l 小程序,是一种不需要下载安装的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下就可以打开应用

l 目前市面上常见的小程序有 钉钉小程序、支付宝小程序、微信小程序、百度小程序

l

2.小程序集成步骤

(1)申请支付宝企业账号、创建小程序

进入支付宝小程序官网

https://opendocs.alipay.com/mini/introduce注册企业支付宝账号

注册文档

https://opendocs.alipay.com/mini/introduce/register

(2)小程序 H5 域名绑定

l 点击进入小程序配置界面->开发配置,完成业务域名配置

l 注意:此次需要配置两个地址

应用绑定的域名地址:https://myApp.iot.studio.com

Studio 官方资源地址:https://g.aliplus.com

l 配置前提条件:下载校检文件,将校检文件托管至loT Studio

(3)loT Studio 校检文件托管

l 进入移动应用配置——小程序设置——上传校检文件——上传验证

l 完成校检文件托管后,回到小程序 H5 域名配置处配置指定域名

(4)小程序集成H5界面

l 使用小程序官方提供的 web-view 能力进行 H5 集成,详见官方文档

https://opendocs.alipay.com/mini/component/web-view

注意:要求开发者在 H5 页面地址后添加参数 isMiniApp=true

完成 webview 开发后,点击预览,预期在手机支付宝中可以正常显示

3.课后作业

创造独一无二的小程序应用:创建移动应用——搭建个性界面——集成小程序

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
3月前
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
79 1
|
4月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
128 7
|
6月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
当今社会,物联网技术的发展带来了许多繁琐的挑战,尤其是在数据库管理系统领域,比如实时整合海量数据、处理流中的事件以及处理数据的安全性。例如,应用于智能城市的基于物联网的交通传感器可以实时生成大量的交通数据。据估计,未来5年,物联网设备的数量将达数万亿。物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。数据库在充分处理物联网数据方面扮演着非常重要的角色。因此,适当的数据库与适当的平台同等重要。由于物联网在世界上不同的环境中运行,选择合适的数据库变得非常重要。 原创文字,IoTDB 社区可进行使用与传播 一、什么是IoTDB 我
217 9
Apache IoTDB进行IoT相关开发实践
|
7月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
IoTDB是专为物联网(IoT)设计的开源时间序列数据库,提供数据收集、存储、管理和分析。它支持高效的数据写入、查询,适用于处理大规模物联网数据,包括流数据、时间序列等。IoTDB采用轻量级架构,可与Hadoop和Spark集成,支持多种存储策略,确保数据安全和高可用性。此外,它还具有InfluxDB协议适配器,允许无缝迁移和兼容InfluxDB的API和查询语法,简化物联网项目的数据管理。随着物联网设备数量的快速增长,选择适合的数据库如IoTDB对于数据管理和分析至关重要。
277 12
|
7月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
The article introduces IoTDB, an open-source time-series database designed for efficient management of IoT-generated data. It addresses challenges like real-time integration of massive datasets and security. IoTDB supports high-performance storage,
165 0
Apache IoTDB进行IoT相关开发实践
|
8月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
IoTDB是面向物联网的时序数据库,专注于时间序列数据管理,提供高效的数据处理、集成Hadoop和Spark生态、支持多目录存储策略。它还具有InfluxDB协议适配器,允许无缝迁移原本使用InfluxDB的业务。文章讨论了IoTDB的体系结构,包括数据文件、系统文件和预写日志文件的存储策略,并介绍了如何配置数据存储目录。此外,还提及了InfluxDB版本和查询语法的支持情况。IoTDB在物联网数据管理和分析中扮演关键角色,尤其适合处理大规模实时数据。
118 5
|
8月前
|
存储 分布式计算 物联网
Apache IoTDB进行IoT相关开发实践
物联网技术带来数据库管理挑战,特别是实时数据整合与安全性。IoTDB是一个专为时间序列数据设计的数据库,提供数据收集、存储和分析服务,适用于海量物联网数据。其架构包括数据文件、系统文件和预写日志文件的管理,并支持多目录存储策略。此外,IoTDB还开发了InfluxDB协议适配器,使得用户能无缝迁移原有InfluxDB业务。此适配器基于IoTDB的Java服务接口,转换InfluxDB的元数据格式,实现与IoTDB的数据交互。目前,适配器支持InfluxDB 1.x版本及部分查询语法。
215 5
|
3月前
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
|
3月前
|
存储 安全 物联网
C# 在物联网 (IoT) 应用中的应用
本文介绍了C#在物联网(IoT)应用中的应用,涵盖基础概念、优势、常见问题及其解决方法。重点讨论了网络通信、数据处理和安全问题,并提供了相应的代码示例,旨在帮助开发者更好地利用C#进行IoT开发。
144 3
|
3月前
|
安全 物联网 网络安全
智能设备的安全隐患:物联网(IoT)安全指南
智能设备的安全隐患:物联网(IoT)安全指南
189 12

相关产品

  • 物联网平台