对于家居类及个人消费电子类的物联设备,基于用户体验的考虑,生产企业一般会为消费者提供通过手机APP进行确认升级的功能,典型的使用场景是通过手机APP对手环进行升级,如下图所示。本文主要介绍APP确认升级的基本流程,及如何基于阿里云IoT平台的OTA实现APP确认升级。

阿里云IoT平台为租户提供了APP确认升级的产品能力,租户通过自己的云平台对接OTA相关的开放接口即可实现APP确认升级的功能。
升级流程如下图所示:

整个流程中涉及4个相关角色,阿里云IoT平台、租户云平台、消费者手机app、消费者设备。
流程说明:
1、发起需要app确认的升级任务
通过创建批次任务的开放接口( CreateOTAStaticUpgradeJob, CreateOTADynamicUpgradeJob)
,或者通过阿里云IoT物联网平台的控制台页面发起待APP确认的批次升级任务。

2、租户云平台查询设备是否有待确认的升级任务
待用户APP发起请求查看指定设备是否有待确认的升级任务时,租户云平台需要通过开放接口 ListOTAUnfinishedTaskByDevice查询
阿里云IoT平台不支持消费者用户身份,消费者app无法直接进行与阿里云IoT平台通信。这一步需要通过租户的云平台中转后调用接口实现,注意需要设置设备身份信息(ProductKey+DeviceName或者IotId),设置TaskStatus参数为CONFIRM。
3、在消费者用户手机端app上显示待升级信息
若是有待确认的升级,租户云平台可以按自己的业务诉求返回给用户相关的升级说明信息。
4、消费者在手机APP端确认升级
消费者在APP上查看后确认进行升级,租户云平台调用开放接口 ConfirmOTATask进行升级任务确认。
6、设备收到升级通知进行升级
确认后,阿里云IoT平台会将升级信息推送给设备(若批次任务创建时"云端主动推送"选择的是"否",则需要设备主动拉取);设备下载升级包后进入升级过程,升级过程中上报升级进度,升级成功后上报新的版本号。
上述内容主要讲述了基于阿里云IoT平台OTA产品进行APP确认升级的流程。确认升级从是否在设备端进行确认的角度考虑可以分为两大类:
其区别如下:
|
|
设备端确认升级 |
非设备端确认升级 |
|
确认端 |
在接入IoT平台的设备端的显示屏进行确认升级 |
通过有别于阿里云IoT平台、联网设备端的第三方进行确认升级 |
|
适用设备范围 |
有显示屏,可操作的设备 |
可升级的所有类型的设备 |
|
适用业务场景 |
设备的最终适用用户进行确认升级 |
|
|
设备端升级任务可见时机 |
在升级任务创建并推送至设备后 |
在第三方确认后 |
|
是否需要云端支持 |
不需要云端的确认升级能力 |
需要云端的确认升级能力 |
|
是否需要租户云平台开发 |
可以不需要租户的云平台系统,仅通过阿里云IoT平台的OTA控制台页面及设备端对接即可实现。 |
需要租户在其平台系统进行第三方确认相关业务链路的开发 |
|
典型案例 |
手机软件升级 |
手环OTA升级 |

阿里云物联网平台客户交流群
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70017009/viewspace-2927837/ ,如需转载,请注明出处,否则将追究法律责任。