如何提高 OTA 固件升级的可靠性?
请保持 esp_rainmaker 为最新版本,并使用以下在各版本中加入的选项:
-
v1.6.0 — OTA 失败重试:如果 OTA 失败,组件会多次重试(
CONFIG_ESP_RMAKER_OTA_MAX_RETRIES,默认 3),并在所有重试失败后安排下一次 OTA fetch(CONFIG_ESP_RMAKER_OTA_RETRY_DELAY_MINUTES)。OTA fetch 还会监控发布确认,如果 otafetch 消息失败则会重试。 -
v1.6.4 — MQTT OTA:使用
CONFIG_ESP_RMAKER_OTA_USE_MQTT=y,通过 MQTT 而非 HTTPS 获取 OTA 镜像,可节省 RAM 并避免额外的 TLS 连接。速度可能稍慢,但能提高内存受限设备上的可靠性。 -
v1.7.2 — OTA 续传:从上次位置继续下载,而不是重新开始。需要后端 v3.0.0+ 和 ESP-IDF v5.5+。设备会检查连续分块的 MD5;如果相同则继续下载,如果不同则重新开始。
-
v1.9.0 — 回滚状态上报:启用
CONFIG_ESP_RMAKER_OTA_ROLLBACK_REPORT_FAILED后,当因 MQTT 超时发生回滚时,回滚后的固件会上报failed而不是rejected,从而使云端获得准确状态。请谨慎使用——注意事项请参见 changelog。
完整 说明请参见 esp_rainmaker changelog。

