00. 目录
01. 问题描述
使用APP升级设备固件,APP显示升级失败,但是设备实际升级成功。
02. 问题分析
由于固件版本号没有改变导致的。升级确认是否成功,最终通过固件的版本号来比较,如果发现升级后的版本号小于或者等于之前的版本号,则认为固件升级失败。
03. 问题解决
OTA升级流程
修改SDK中固件的版本号
#define MODULE_APP_VER ".0.2"
/*qthSDK程序入口*/
void qth_main(void)
{
Quos_logPrintf(APPS_OPEN, LL_DBG, "====qth_main===");
oprt_ret ret = OPRT_OK;
Qth_eventCb_t event_cb = {0};
Qth_otaEventCb_t otaCb = {0};
//初始化所有组件
ret = Qth_devInit();
if (OPRT_OK != ret)
{
Quos_logPrintf(APPS_OPEN, LL_ERR, "cloud init error:%d", ret);
return;
}
/*设置PK PS,实际产品需要替换到开发者平台上创建的PK PS*/
Qth_configSetProductInfo(DEMO_PK, DEMO_PS);
//设置固件版本的API
Qth_configSetModuleAppVer(MODULE_APP_VER);
........
}
04. 结果验证
修改好固件版本之后,再次升级,APP显示升级成功。