使用生活物联网平台设备端SDK的内置OTA功能,用户只需要适配所使用的模组和新品,即可使用生活物联网平台的云端OTA服务。
前提条件
设备已烧录了一个固件版本,且已成功连接到生活物联网平台。
背景信息
总体OTA升级流程如下:
- 设备端开发升级所需的固件
编译设备端新固件,固件中需要内置版本号信息,设备完成固件烧写并重启后,会上报该新版本号到OTA服务端。
- 控制台(云端)执行升级过程
用户在OTA控制台执行操作,包括上传固件、验证固件、批量升级、管理固件等。
- 手机App端确认升级和验证升级结果
如果固件升级开启App确认功能,则需要用户在手机App上确认升级任务后,控制台才会执行固件升级。升级完成后,在手机App上验证升级结果。
一、设备端开发升级所需的固件
设备端(以WiFi设备为例)主要有3个topic来与云端进行交互,流程如下图所示。
- 设备端通过以下topic向云端上报当前版本号。通常设备上电开机后需要上报一次当前固件版本号。
当设备完成OTA固件下载并烧录,重启后该topic上报的则为新固件的版本信息。
/ota/device/inform/${productKey}/${deviceName}
- 当有新版本固件时,云端通过以下topic向设备端推送新固件的版本信息。
/ota/device/upgrade/${productKey}/${deviceName}
- 设备端通过以下topic向云端上报OTA升级进度。该进度可以在控制台以及手机App中查看。
/ota/device/progress/${productKey}/${deviceName}
二、在控制台执行升级过程
三、手机App确认升级和验证升级结果
App端主要有4个topic来与云端进行交互,流程如下图所示。
- 查询待升级固件
App端通过以下topic向云端查询用户绑定设备的待升级信息,根据返回信息展示待升级设备名称列表。在控制台添加批量升级任务后,云端会将相应待确认升级固件列表信息会返回给用户(App端)。
/thing/ota/listByUser
- 确认设备升级
当APP确认升级配置为是时,云端需要收到App端通过该topic上报的消息后,才能开始执行升级任务,并将该执行任务推送到设备端。
/thing/ota/batchUpgradeByUser
- 获取正在升级的设备列表(公版App中目前没有使用该topic)
App端选择周期性或者下拉刷新等UI交互方式,通过以下topic向云端查询当前正在升级的设备信息。云端返回升级的设备列表信息等。
/thing/ota/upgrade/listByUser
- 获取指定固件的升级信息
根据指定设备以及固件版本号,App端通过以下topic向云端查询某固件的升级结果、进度等信息,App端根据云端的返回结果,提示用户该固件升级的相关信息。
/thing/ota/progress/getByUser
下面以生活物联网公版App云智能为例,介绍App端的操作。
- 登录公版App。
- 选择 。
- 查看固件升级,展示待升级信息、发起固件升级、展示升级结果等信息。
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/33687.html