espressif / esp-qcloud

基于 ESP-IDF 原生开发接入腾讯 IoT Explorer,支持 ESP32/ESP32S2,快速实现腾讯连连控制。
Apache License 2.0
68 stars 34 forks source link

进行OTA升级发现升级失败 #37

Open Kingwulin opened 1 year ago

Kingwulin commented 1 year ago

大概半年前还可以升级的,最近一直升级不了,然后重新拉取了代码,编译led light 例子,发现也是升级失败,附件是升级失败的log,麻烦帮忙分析下,谢谢 esp-qcloud升级失败.txt

shixinke-orion commented 1 year ago

提供下编译生成的 sdkconfig 看看

Kingwulin commented 1 year ago

sdkconfig.txt

shixinke-orion commented 1 year ago

可以把 https://github.com/espressif/esp-qcloud/blob/master/src/iothub/esp_qcloud_ota.c#L278 改成 if 1 试一下

Kingwulin commented 1 year ago

感谢,可以了,需要打开使用https的宏控

Kingwulin commented 1 year ago

11 你好,发现提示升级成功了,但是实际上版本没有变化,打印的还是版本v0.0.1 我修改的是这里的版本 https://github.com/espressif/esp-qcloud/blob/7091584d9950d5a0d2af90cf66280e2b7d2ec67b/examples/led_light/main/app_main.c#LL285C21-L285C53

Kingwulin commented 1 year ago

固件如果是直接手动烧录的版本号就会变成0.0.2,ota的一直是0.0.1,请教下这是怎么回事

shixinke-orion commented 1 year ago

检查下固件类型 (MCU/模组),信息有没有上传错。创建 ota 任务时版本号一定要与固件实际版本号一致。

Kingwulin commented 1 year ago

实际固件是模块的,但是发现最近新的设备都上报成了mcu,这个模块和mcu代码上怎么区分

shixinke-orion commented 1 year ago

mcu固件版本 这个字段 应该就是由 https://github.com/espressif/esp-qcloud/blob/7091584d9950d5a0d2af90cf66280e2b7d2ec67b/examples/led_light/main/app_main.c#LL285C21-L285C53 上报的。https://cloud.tencent.com/document/product/1081/34916 中的 设备基础信息上报 章节有相关描述。

Kingwulin commented 1 year ago

代码上是否可以修改成上报模块版本的

shixinke-orion commented 1 year ago

esp_qcloud_device_add_fw_version 就是更改版本的,mcu固件版本 还是 模组版本 通过代码改不了

Kingwulin commented 1 year ago

那我前面这种平台提示升级成功,实际没有升级成功有办法解决吗

shixinke-orion commented 1 year ago

提供设备完整的 log 看下为什么没升级成功

Kingwulin commented 1 year ago

ota_log.txt 你好,这是升级过程的log,在第333行开始升级,感谢

shixinke-orion commented 1 year ago

log 显示你 OTA 下发的固件携带的版本号为 0.01,所以会循环升级。

Kingwulin commented 1 year ago

我用工具直接烧录,上报的版本好是0.0.2,但是同样的固件上传到平台上,然后升级0.0.1的版本到0.0.2,发现升级后还是0.0.1

shixinke-orion commented 1 year ago

检查下分区表是不是被改动了,是不是缺少了 otadata 分区?

Kingwulin commented 1 year ago

33

Kingwulin commented 1 year ago

4 添加这个就可以了,感谢大佬