开发者学习笔记【阿里云物联网助理工程师认证(ACA):应用开发组件功能介绍(一)】
课程地址:https://edu.aliyun.com/course/3112060/lesson/18984
应用开发组件功能介绍(一)
内容介绍:
一、IoT Studio概述介绍
二、IoT Studio项目管理
三、IoT Studio Web可视化开发
四、IoT Studio业务逻辑开发
五、IoT Studio移动可视化开发
六、IoT Studio的组件开发功能
七、课堂总结与随堂思考
课程目标:
通过学习本课程,将了解以下内容:
1、了解物联网平台 IoT studio 相关概念。
2、了解物联网平台 IoT Studio 相关功能。
一、IoT Studio 概述
1、IoT Studio 简介
IoT Studio 是物联网应用开发服务,是阿里云物联网平台的一部分,可覆盖各个物联网行业核心应用场景,助力企业和个人高效经济地完成物联网数据分析、设备、服务及应用开发,加速物联网SaaS构建。同时,IOT Studio是阿里云针对物联网场景提供的可视化应用开发工具,物联网开发服务提供Web可视化开发、业务逻辑开发、移动可视化开发以及物联网数据分析等一系列便捷的物联网开发工具,解决物联网开发领域开发链路长、技术栈复杂、协同成本高、方案移植的问题。
(1)关于SaaS
SaaS是Software as a Service的缩写,译为软件及服务,即通过网络提供软件服务。SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作的实际需求,通过互联网向厂商订购所需的应用软件服务,按订购的服务多少和时间长短向厂商支付费用,并通过互联网获得SaaS平台供应商提供的服务,有免费、付费和增值三种模式。通俗来讲,服务器在云端,按照客户订购需求通过网络提供应用软件服务都算是SaaS。
(2)SaaS与传统软件的区别
常用的阿里云盘、微软office365等传统的软件,需要下载到本地运行,按照版本购买获取软件序列号激活使用。单纯的软件序列号在市场上进行买卖本质上是一种售卖关系,用户通过一次买断的方式获得传统软件的永久使用权。
而SaaS的模式是采用订阅付费,售卖的内容从软件序列号转变为服务,软件成为服务的载体,软件提供商与用户的关系从原来的一锤子买卖转变成了长期服务的关系。这种模式的变化给软件提供商带来了更稳定的收入流以及更高的市场估值。
2、IoT Studio架构图
在设备接入完成的基础上,可以使用IoT Studio提供数据分析、业务逻辑开发、Web可视化开发的能力,经济高效地开发物联网应用。目前,物联网企业级生产力的数据分析、业务逻辑开发、Web可视化开发三个工具可融合为一,目标是帮助物联网企业完成设备上云的最后一公里。在实际开发中,三个工具可以分别独立使用,也可以合并使用,发挥其最佳效果。观察以下架构图:
可以发现IoT Studio可应用于不同场景、不同需求的开发。
在业务方面,IoT Studio支持CRM、MES、ERP等业务的开发;在数据资产领域,支持物标签、领域数据模型、领域数据服务,数据管理等开发和管理;支持相应的数据分析,如时序分析、物分析、流分析等;支持业务逻辑开发,如场景联动、报警逻辑开发;支持数据可视化应用开发,如数据报表、设备报表、组态、GIS、三维可视化、室内地图、数据大屏等需求开发;现有20家使用IoT Studio完成的解决方案,如家电运营管理、厕所监控、园区环境监测等,横跨十多个行业。
IoT Studio具有丰富的组件,开发者可以在短时间内使用较少的代码来实现具体场景、需求的开发。
3、IoT Studio功能特点
(1)可视化搭建
IoT Studio提供可视化搭建能力,开发者可以通过拖拽、配置操作,快速完成设备数据监控相关的Web应用、移动应用、API服务的开发,可以使开发者专注于核心业务,从传统的开发繁琐细节中脱身,有效提高开发的效率。
换言之,开发者可以直接拖拽IoT Studio提供的现有组件快速完成应用开发,使用IoT Studio现有的业务逻辑开发功能来完成具体的逻辑代码编写,不仅可以有效提高开发者开发效率,在很大程度上也解决了开发过程中bug出现的概率即测试部门测试过程bug的解决,极大地节省了公司的人力物力成本。
(2)与设备管理无缝集成
使用IoT Studio进行设备相关开发时,涉及到设备相关的属性、服务、事件等数据均可以从互联网平台接入和管理模块中直接获取。因为IoT Studio与物联网平台已经实现了无缝打通,大大了降低物联网开发工作量。
(3)具有丰富的开发资源
IoT Studio具有众多的组件和丰富的API,并且随着产品迭代更新,组件与API会愈加丰富,IoT Studio可以愈加地提升开发效率。
(4)组件开发
主要应用于两个方面,其一,假如IoT Studio没有所需的相关组件,则可以使用IoT Studio提供的组件开发能力开发实际需求功能的组件;其二,开发者也可以使用IoT Studio提供的组件开发能力,开发出某个应用场景或者需求的组件,将组件发布到平台上,并可以通过平台管理自己研发的组件给其他开发者提供组件帮助。组件开发功能大大满足了开发者的需求,提升了组件的丰富性,为可视化搭建提供无限的可能。
(5)无需部署
使用IoT Studio应用服务开发完毕后,可以直接托管在云端,支持直接预览、使用,不需要部署即可交付使用,免除了额外购买服务器等产品的烦恼,大大降低了公司的成本。
4、IoT Studio公共实例和企业版实例支持功能的区别
Web可视化开发和移动可视化开发在公共实例和企业版实例都支持;业务逻辑、数据分析、组件开发在公共实例中支持,在企业版实例中不支持;项目管理在公共实例和企业版实例中都支持;解决方案、大屏组件在公共实例里面支持,在企业版里面不支持。
二、IoT Studio项目管理
项目是互联网应用开发中多个应用、服务和物联网平台资源的集合,平台资源包括产品、设备、数据资产、数据任务等。同一个项目内的不同应用或服务共享资源,即项目中的多个应用可以共享物联网平台资源;不同项目之间的应用、服务和资源都相互隔离,互不影响。IoT Studio提供了两种类型的项目,即全局资源项目和普通项目。
1、全局资源项目
IoT Studio默认提供了全局资源项目,但需要手动创建后使用。该项目已经自动同步了互联网平台的全部资源,可以在项目中创建多个应用或者服务。即全局资源项目会自动同步物联网平台的全部资源,并且在后续过程中,如果物联网平台的资源发生了更新、修改、删除,这些更新之后的资源也会同步到全局资源项目中。如下图:
在全局资源项目中,会自动全量同步物联网平台的产品、设备及数据资产等,该图说明平台有98个设备、1个Web应用、3个业务逻辑。
2、普通项目
普通项目主要用于提供一个针对客户交互的隔离维度,是开发者在IoT Studio平台创建的一个包含应用、服务和各种资源的集合,可自定义项目的名称,手动关联或者新增所需要的资源,并基于该项目创建多个应用或者服务。换言之,普通项目中的资源不会自动从互联网平台同步到项目中,需要创建者手动关联或者新增所需要的资源。
创建项目之后,还可以在项目管理页面单击“项目名称”进入项目详情主页,查看应用服务各资源的统计和列表信息,如下图所示:
该项目中有7个产品、1个Web应用、1个移动应用,共有1815项数据资产。在下方还可以点进相应的标签页查看具体的应用、服务、数据资产、数据任务等情况。
3、项目详情页支持的功能
(1)添加Web应用、移动应用或业务服务
只需要在Web应用、移动应用或业务服务页签单击“新建”即可添加服务,即在项目详情主页下方“项目开发”部分点击“新建”就可以创建相应的应用和服务。
(2)关联资源(产品、设备、数据、资产)
可以关联产品、设备、数据、资产等资源,关联资源到项目中的目的是为了方便项目内的应用或服务来访问相应的数据。在项目下新增的产品和设备可以直接与项目关联。在数据资产方面,目前只提供了数据服务,包括基础数据服务、自定义数据服务、物标签和数据表,其中数据表包括设备数据源、Web数据源和业务模型数据源三类数据。在数据资产页签单击“关联数据资产”可以选择关联的数据资产类型,选择之后,单击“确定关联”就可实现资源的关联。
(3)新增数据任务
可以在数据任务页签单击“新建”,添加分析透视任务、数据开发任务。
4、应用开发中涉及到的功能和概念
(1)产品
在IoT Studio的项目详情页中提供了查看产品列表以及详情、创建产品、编辑产品基本信息和删除产品等功能。
同一物联网平台账号下同项目中的产品和设备仅可应用于相同项目下的Web可视化开发和业务逻辑开发,不同项目之间支持关联相同的产品和设备。
在项目中的产品页中创建产品,也可以关联物联网平台中创建的好的产品,每个产品可关联多个项目,最多可关联100个项目,即产品可以用于多个项目之间进行开发。全局资源项目的产品页中支持创建产品,不再支持手动关联物联网平台的产品,因为全局资源项目会将物联。平台全量的资源都关联到全局资源项目中,无需手动关联。
在创建或关联产品之后,可以执行如下任务,如搜索并查看产品、解除绑定某个产品、删除产品、管理产品下设备。在解除绑定某个产品中,项目内的产品解除与设备解除是独立关系,互不影响,在全局资源项目中不支持与产品解除关联的功能。删除产品下所有设备之后才支持删除产品,假如产品下面还有关联的设备,那么它不能删除。并且,在产品删除之后,不可以恢复删除项目中的产品,它会同步删除物联网平台上与该产品相关的数据,导致发布的应用出现数据错误,删除产品项操作需要谨慎操作。此外,删除产品不支持删除网关类型的产品。
(2)设备
IoT Studio提供了查看设备列表及其详情、新增设备、编辑设备基本信息、删除设备等功能。
可以在项目设备页中添加设备,也可以在项目设备页中关联物联网平台中已创建的设备,每个设备可关联多个项目,最多可关联10个项目。全局资源项目的设备页中支持添加设备,不再支持手动关联物联网平台的设备。因为全局资源项目会自动同步物联网平台全量的资源。
在关联设备时,只有关联到该项目产品下的设备才能与该项目关联,未关联产品的设备会以灰色显示,不可选;已关联的设备会以灰色勾显示,不可选。设备列表中包含了物联网平台的所有设备,每个设备可关联多个项目,最多10个。
在创建或关联产品之后,可以执行如下操作,查看具体产品下设备信息、搜索设备、查看设备具体信
息、解除绑定某个设备、删除设备、禁用或启用设备。
搜索设备:可以输入设备名搜索具体的设备,也支持模糊搜索,在全局资源项目中还支持根据备注名称和设备标签来查询设备;解除绑定设备:当前项目内的产品解除与设备解除是独立关系,互不影响,全局资源项目中不支持与设备解除关联的功能;删除设备:在设备删除之后,物联网平台的数据也会被删除掉,若其他项目中使用了该设备,那么已发布的应用会出现数据错误,并且删除之后不可恢复;禁用或启用设备:该功能仅在全局资源项目中支持,设备被禁用后,物联网平台与该设备关联的信息依然保存,但是该设备不能接入物联网平台,也无法执行与该设备有关的操作,启用设备是指重新启用已经被禁用的设备,允许设备重新接入物联网平台。
(3)空间
IoT Studio提供空间功能,用来管理物理世界中的二维或三维等空间的数据模型,实现空间数据可视化,设备位置告警等功能。目前仅支持配置地理位置空间管理二维空间数据模型。
①应用实例
在农业产业管理系统中,可以通过设备地图配置地理空间,实现在地图上总览产品布局信息场景,例如企业、农场基地、加工点、融资经营点、交易市场等分布,据此进一步分析农业产业的发展前景。
在生长季完成作物长势和土壤环境相关数据采集和监视,通过设备地图和地理空间功能在地图上展示不同区域不同作物长势和土壤环境情况。通过与往年数据的对比分析,预测对当季不同区域作物产量的影响。
通过设备的地图和地理空间功能,可以采集到额外的相关信息,得到进一步的信息资源,产生更大的利用价值。
②空间创建
空间创建中支持圆形、多边形、行政区域和编码文本绘制。如,WKT文本是一种文本标记语言,可以用于表示地图上的矢量几何对象;GeoJSON文本是一种基于JSON的地理空间数据交换格式,可以用于表达地理特性、属性和空间范围。
在全局资源项目中,支持新增、编辑和删除空间操作,编辑包括重新绘制空间区域、设置空间信息和属性等,并且在全局资源项目中,会自动导入该账号下所有普通项目中的新增空间,因为空间也是属于物联网平台中的一种资源,而全球资源项目会自动同步物联网平台全量的资源。
在普通项目中,支持新增、编辑、删除或解绑空间操作,可以关联全局资源项目中的任意空间。
③使用事例
该事例中使用了空间位置和空间管理功能,通过设备地图和地理空间功能,可以知道某点采集到的数据,如图示中的2号传感器采集到了土壤温湿度、土壤体积含水率,可以借此分析当前季节农作物的生产环境。
(4)账号
IoT Studio项目开通账号功能之后,可以登录运营后台管理应用和业务服务运行时的角色、账号。成功开通账号之后可以查询初始管理员账号信息,可以配置登录页面的logo,添加备案信息等。
①账号管理
管理员账号拥有所有的权限,可在运营后台管理运营账号,包括配置账号、角色和权限等。它具有添加账号的功能,设置账号名称、手机、邮箱均可以作为登录名,账号的初始密码通过手机短信通知到被开通者。
②管理角色
账号通过角色授予,获取角色所拥有的权限,支持添加角色,设置角色功能,支持移除角色权限,但是管理员角色拥有所有权限不可更改。如可以将账号所有者分为不同的角色,包括管理员、运维人员、访客等不同角色,赋予其不同的权限。
③管理权限
可以在运营后台单击“权限管理”来管理应用和服务的访问权限,包括应用可以访问哪些设备,可以使用哪些数据等。