快速入门
下图描述了AIoT创新工厂的开发流程,以及与生活物联网平台的关系与流程处理
关键点:
- 产品接入使用生活物联网平台,如果产品只是控制和状态展示,那么无需接入AIoT创新工厂;如果对于特殊品类有丰富的业务功能,那么需要接入AIoT创新工厂。
- 控制面板复杂、定制化的业务需要新的接口提供功能,那么这部分的接口来自于AIoT创新工厂应用服务。
- AIoT创新工厂应用在开发中和发布后都可以被生活物联网平台的产品进行使用和调试,如果产品勾选了应用,产品需要进行发布那么应用一定是发布后产品才可以进行发布。
1.1、准入授权
服务商(ISV)和品牌商(产品方,具有一定软件方案开发能力)经过授权后才可以进入AIoT创新工厂,需要联系运营补充账号信息等,后台需要预置开发者的基础信息:邮箱、应用维护者联系方式、生成可用的阿里云账号(用于购买阿里云资源)
1.2、应用开发
1.2.1、创建应用
- 点击添加应用
- 应用基础信息填写
1.2.2、开发管理
1.2.2.1、开发信息
开发信息是ISV在开发使用平台接口时所使用到的相关信息集合。
openAcountId是ISV在平台的唯一Id标识,秘钥是ISV解密时需要使用的秘钥,平台请求发送给ISV的接口数据是加密处理的,需要openAccountId和秘钥组合进行解密处理。
回调URL是设备属性变化上报后,如果对应产品勾选了应用那么该属性变化值就会请求到ISV服务端进行处理,此时需要指定URL路径方便平台根据设置进行对应请求。注:回调URL是ISV账号维度信息,设置后所有应用看到都是一份;URL路径设置只需设置相对路径即可,不需要域名,如正常请求URL:https://www.taobao.com/get/xxxxx,回调URL只需设置/get/xxxxx即可,详细信息可参见下方接口管理处平台调用ISV原理。
1.2.2.2、服务列表
ISV可在服务列表中添加自定义服务、平台官方服务,添加服务后该应用则可访问服务对应的Api接口。
1.2.3、应用调试
1.2.3.1、授权产品
目前平台开放的是私有应用,当应用授权ProductKey后,此ProductKey才能在生活物联网平台->人机交互->面板上传处看到该应用进而进行调试。
1.2.3.2、测试环境
测试环境是应用在调试期间,设备属性变化上报和H5页面发起的请求都会请求到该测试环境中,测试环境仅作调试功能使用,应用发布上线后相关请求都会请求到对应正式环境中。测试环境和正式环境参见下文「环境管理」部分。
1.2.3.3、调试设备
点添加调试设备后会显示登录的SaaS平台账号对应的淘宝账号下绑定的天猫精灵IoT设备,选择某一设备进入调试设备列表后,那么该设备的属性变化上报就会请求到ISV创建的测试环境中。
1.2.3.4、上传面板
ISV可访问生活物联网平台,选择具体开发的产品,进入”人机交互”->”设备面板”上传H5面板,访问应用勾选的服务所对应的接口进行应用功能调试。具体接口调用详情参见接口管理部分。
1.2.4、服务部署
应用勾选的自定义服务或者官方服务所对应的接口如果需要后端服务进行响应,那么在应用测试通过后需要云环境正式环境进行部署,否则应用发布后页面请求会得到失效响应。
1.2.5、应用发布
用图文、视频的形式展现应用的功能。**
1.3、我的服务
我的服务是ISV创建的自定义服务,对IoT产品某一业务功能的接口集合,如:门锁数据统计服务、安防服务
1.3.1、创建服务
1.3.2、服务关联接口
- 在服务创建时选择接口,将接口加入到服务,需要注意列表只会展示已经上线的接口,见下面的两个截图,如果没有显示想要的接口,请检查接口的状态。
- 只支持已上线的接口供服务选择使用。如果接口进行版本升级参数有调整后,那么调整的接口未上线前服务所使用的接口依然是前一个版本,调整的接口上线后服务所使用的接口默认会升级为调整后的接口。平台请求Api接口时默认会带上Api接口的版本号,ISV可根据版本号进行服务端接口参数调整的差异。
1.4、接口管理
Api接口是ISV开发的H5/小程序发起请求后,由天猫精灵AIoT创新工厂转发请求至ISV云服务器进行逻辑处理,如下图所示。
其中,ISV接受到的消息是加密后的消息,需要根据openAccountId和数据秘钥解密,具体信息参见”开发管理”一列。根据openAccountId和秘钥进行解密方式参见文档 “附录”->”解密计算方法”。
AIoT创新工厂是通过阿里云内网转发请求到ISV云环境的SLB中,所以ISV需要购买SLB,并且设置为私网协议为https,端口设置为443,云环境涉及产品部分参见”环境管理”。
1.4.1、创建接口
接口创建时可以在不同的服务中复用,所以修改接口时需要注意对不同服务的影响。
接口必须参数:名称、接口路径定义、版本、出参、入参
1.4.2、接口调试
- 接口调试必须创建测试环境,ISV调试接口的请求都会请求至ISV云环境的测试环境;
- Api会由平台直接请求到ISV方SLB中,默认https协议,post方式;
1.4.3、接口上线
- 点击“上线”即完成了接口上线的操作,如下图所示;
- 接口上线后不支持下线,可进行接口版本升级进行参数调整。如果接口进行版本升级参数有调整后,那么调整的接口未上线前服务所使用的接口依然是前一个版本,调整的接口上线后服务所使用的接口默认会升级为调整后的接口。平台请求Api接口时默认会带上Api接口的版本号,ISV可根据版本号进行服务端接口参数调整的差异。
1.5、云环境
ISV开发的H5/小程序发起的请求经由AIoT创新工厂转发后请求至ISV服务端,因为数据安全因素评估ISV服务端只能部署在阿里云中,相应的阿里云账号由AIoT创新工厂提供(作了安全策略)。ISV需在给定已有阿里云账号内购买SLB、ECS、RDS等云产品,将服务端部署至ECS中,H5/小程序对应请求会请求至SLB,之后ISV做请求分发至对应的服务进行逻辑处理。
云环境分为正式环境和测试环境,ISV进行接口调试和应用功能调试发起的请求都会默认发送至测试环境部署的服务中,应用发布后应用页面发起的请求会发送至正式环境部署的服务中。其中,测试环境可仅有SLB和ECS,ECS内部署MySQL,能够功能调试即可,对产品配置不作要求;而正式环境则必须SLB、ECS、RDS必须具有,具体配置可参考”云环境”->”云环境购买”提供的产品配置信息,最终可结合自身情况而定。
1.5.1、获取云账号
- ISV服务需要部署在阿里云内,此处的阿里云账号和密码是平台生成的,会在入驻AIoT创新工厂的时候平台提供生成。需要确保当前登录AIoT创新工厂的账号是认证过的企业/机构账号,目前暂未对个人账号放开。
- 第一次登录云账号后会要求重置密码,如果忘记重置后的阿里云账号和密码,联系技术支持人员协助找回。
- 账号和密码的找回,会将验证码发送到此邮箱,然后填写验证码检验后,之后会显示密码
- 如果有密码或者获取到账号和密码,请点击登录
- 使用账号登录阿里云资源管理页面
1.5.2、购买云资源**
- 平台给出的ECS单机配置是推荐配置,可以根据自己的需求定制。单机规格可定制,但是配置组件数量必须按照标准,否则环境审核不过
- 云资源必须购买在张家口(目前只支持此region的资源)
- 购买的各个组件必须属于同一个区域(例如:A区 、H区等)
- 购买资源前,先看同一区域的是否有相应的资源,例如购买H区资源,先查看是否有相应ECS、SLB、VPC、RDS、Redis资源
- 全局只能有一个测试环境 ,测试环境标准配置 : SLB + ECS(可1台);正式环境标准配置 : SLB 1台、ECS至少2台、RDS 1台、Redis(可选)
下图显示主要资源和规格要求,仅作参考配置。
建议:考虑测试环境仅作调试功能使用,从费用角度触发,测试环境VPC下ECS可按照包年最低配,数据库可直接安装在ECS中更为划算;线上环境强制要求ECS高配,数据库使用RDS MySql版本。
1.5.2.1 购买ECS
以下是购买ECS的主要注意事项
- 结算方式、区域、分区
- 不要选择公网ip
1.5.2.2 购买SLB
- 支付方式、region、可用区域
- 购买完以后要对SLB对其配置,并做好和ECS的映射
注:SLB开通https协议(443端口),否则上文提到的Api接口调用不通。证书部分可申请使用阿里云免费证书,之后在SLB中导入证书;如果申请阿里云证书时,DNS验证时设置为「手工DNS验证」,然后根据下一步之后的提示内容将主机记录和记录值添加到对应域名记录名下(因为SLB为私网类型,此处只为初始化证书验证使用;域名可采用ISV已有的域名进行管理添加不必在阿里云单独进行域名维护)。
1.5.2.3 购买RDS
1.5.3、注册云资源
- 无论是测试环境、还是正式环境,创建完阿里云资源后,将资源id注册回平台
- 资源注册后只有查询和监控权限,资源不可再修改(下线联系运营走特殊流程)
1.6、云效使用
服务部署在阿里云中那么就不可避免会涉及到Devops,因此AIoT创新工厂借助云效2020(注意是「云效2020」)来解决这一问题,可使用云效中「流水线」个性化设置部署流程。
开通云效2020后,涉及新增云服务器,其中选择阿里云ecs后,需要开通权限认证,请联系技术支持人员协助处理。
注:如果涉及使用到云效进行部署容器服务,因为ecs没有开访问公网权限,那么请将部署至阿里云容器镜像的访问域名「registry.」替换成「registry-vpc.」。
1.7、审核管理
1.7.1、产品审核
产品审核是品牌商某款产品勾选了应用的话,在这款产品提交发布后,审核流程会到ISV进行审核,ISV需要确认该产品的物模型属性是否匹配应用必须属性,否则可能会影响应用的正常功能使用。如果ISV审核通过后,产品会继续审核流程流转;如果ISV审核驳回,批注备注信息之后退回到品牌商中继续进行调整,后续再提交产品发布。
1.7.2、产品授权
产品授权是ISV在AIoT创新工厂开发的应用是私有应用,品牌商在生活物联网平台是无法看到具体应用。如果想在生活物联网平台看到具体应用,需要ISV在产品授权中对产品ProductKey进行授权,之后品牌商可以在生活物联网平台的这款产品中”人机交互”->”设备面板”中进行应用勾选,建立关联关系。
应用无论是开发中还是已发布,都可以进行产品授权。
产品授权是让产品能够在生活物联网平台中显示可以使用的应用,产品与应用建立关联关系的还需要在生活物联网平台进行勾选。
1.8、生活物联网平台选择应用
当应用授权某款产品后就可以在生活物联网平台中看到应用并进行选择使用,无论是开发中或者已发布的应用都可以在生活物联网平台看到并使用。