基于阿里云 IoT 平台 OTA 进行 APP 确认升级的方案——业务架构类
简介: 对于家居类及个人消费电子类的物联设备,基于用户体验的考虑,生产企业一般会为消费者提供通过手机 APP 进行确认升级的功能,典型的使用场景是通过手机 APP 对手环进行升级。本文主要介绍 APP 确认升级的基本流程,及如何基于阿里云 IoT 平台的 OTA 实现 APP 确认升级。
APP 确认升级的使用场景
对于家居类及个人消费电子类的物联设备,基于用户体验的考虑,生产企业一般会为消费者提供通过手机 APP 进行确认升级的功能,典型的使用场景是通过手机 APP 对手环进行升级,如下图所示。本文主要介绍 APP 确认升级的基本流程,及如何基于阿里云 IoT 平台的 OTA 实现 APP 确认升级。
APP 确认升级流程
阿里云 IoT 平台为租户提供了 APP 确认升级的产品能力,租户通过自己的云平台对接 OTA 相关的开放接口即可实现 APP 确认升级的功能。
升级流程如下图所示:
整个流程中涉及 4 个相关角色,阿里云 IoT 平台、租户云平台、消费者手机 app、消费者设备。
流程说明:
1、发起需要 app 确认的升级任务
通过创建批次任务的开放接口(CreateOTAStaticUpgradeJob,CreateOTADynamicUpgradeJob)
,或者通过阿里云 IoT 物联网平台的控制台页面发起待 APP 确认的批次升级任务。
通过开放接口创建时注意设置 NeedConfirm 参数为 true
通过控制台页面创建批次任务时注意选择"APP 确认升级"为"是",如下图所示:
在发起批次升级任务前,需要上传并验证升级包,请参考阿里云 IoT 平台 OTA 的相关文档。
2、租户云平台查询设备是否有待确认的升级任务
待用户 APP 发起请求查看指定设备是否有待确认的升级任务时,租户云平台需要通过开放接口ListOTAUnfinishedTaskByDevice查询
阿里云 IoT 平台不支持消费者用户身份,消费者 app 无法直接进行与阿里云 IoT 平台通信。这一步需要通过租户的云平台中转后调用接口实现,注意需要设置设备身份信息(ProductKey+DeviceName 或者 IotId),设置 TaskStatus 参数为 CONFIRM。
3、在消费者用户手机端 app 上显示待升级信息
若是有待确认的升级,租户云平台可以按自己的业务诉求返回给用户相关的升级说明信息。
4、消费者在手机 APP 端确认升级
消费者在 APP 上查看后确认进行升级,租户云平台调用开放接口ConfirmOTATask进行升级任务确认。
6、设备收到升级通知进行升级
确认后,阿里云 IoT 平台会将升级信息推送给设备(若批次任务创建时"云端主动推送"选择的是"否",则需要设备主动拉取);设备下载升级包后进入升级过程,升级过程中上报升级进度,升级成功后上报新的版本号。
设备监听升级通知推送、主动拉取升级信息、上报进度、上报版本号相关 topic 及数据格式参考阿里云 IoT 平台官方文档 设备端OTA升级
批次任务创建时选项"云端主动推送"参考创建批次任务的开放接口(CreateOTAStaticUpgradeJob,CreateOTADynamicUpgradeJob)的说明文档
设备确认升级的扩展说明
上述内容主要讲述了基于阿里云 IoT 平台 OTA 产品进行 APP 确认升级的流程。确认升级从是否在设备端进行确认的角度考虑可以分为两大类:
设备端进行确认升级
非设备端进行确认升级(消费者端 APP 确认升级是其中一种模式)
其区别如下:
阿里云物联网平台客户交流群
评论