OTA 固件升级
当前应用OTA适用于编入 FASTBEE_ENABLE_OTA=1 且存在 ota_1 的8MB/16MB正式环境:ESP32 F8R0/F8R8、C6 F8R0、S3 F8R0/F8R8/F16R8。4MB正式环境关闭OTA,相关路由不注册,请求通常为404;只有编入OTA但实际缺少升级分区的路径才可能返回501。
升级前检查
核对当前设备身份、芯片、Flash/PSRAM、板型、分区及活动应用槽,保留配置与旧版本。选择对应环境的 应用 firmware.bin,不能上传合并镜像、bootloader、分区表或 littlefs.bin。
8MB环境每个应用槽3.5MiB,16MB环境每个应用槽7MiB;文件须满足实际空闲升级槽与写入器限制。OTA需内部DRAM准入,资源不足可返回503。具体板卡固件不能仅按容量替换。
页面流程
- 登录 Web,进入 设备配置 的OTA升级区域;页面先检查编译能力。
- 选择应用镜像或设备可访问的HTTP/HTTPS地址,发起升级。
- 查看进度及终态;开始成功、HTTP200或任务创建都不代表写入完成。
- 完成后等待重启,重新核对设备身份、固件版本/摘要、配置及业务。连接被重启关闭时,不能仅凭
fetch failed判断成功或失败。
HTTPS还须核对时间与证书验证结果。WiFi、W5500、4G是否可用取决于当前编译能力、用户配置、硬件与网络状态,不能只凭URL可在电脑打开就认为设备能下载。
API
| 方法 | 路径 | 含义 |
|---|---|---|
| POST | /api/ota/begin | 分区/内存及会话准入,可提供size |
| POST | /api/ota/upload | multipart应用镜像上传;final是服务器上传回调参数,不是客户端必填字段 |
| GET | /api/ota/status | 查询进度、运行与错误状态 |
| POST | /api/ota/cancel | 取消当前会话 |
| POST | /api/ota/url | 创建后台下载升级任务,须继续查询终态 |
| POST | /api/ota/update | 当前仅返回启动提示的保留入口,没有实际本地升级流程 |
这些路由需登录。应用OTA不更新LittleFS,当前无独立文件系统OTA writer,不能以旧 otaFs 开关承诺在线升级Web资源。
错误与恢复
| 状态 | 处理 |
|---|---|
| 200 | 结合对应阶段与终态判断;完成后核对重启和版本 |
| 400 | 修正参数、会话状态或上传顺序,不盲目重试 |
| 401/403 | 处理认证或相关准入 |
| 404 | 当前固件未注册OTA路由,先核对能力 |
| 501 | 已编入相关路径但无所需升级分区 |
| 503 | 内存/服务保护拒绝,有限退避并保留证据 |
| 500 | 下载、写入、校验或内部失败,保存诊断 |
A/B分区保留当前应用的机会不等于已验证自动回滚。升级失败后应核对实际启动槽和配置,不能直接宣称回滚完成。
需要串口恢复、改分区或写LittleFS时,先按配置保全明确范围并备份;整片擦除会破坏现场配置,不能作为常规升级默认步骤。相关说明:分区布局、API参考、在线烧录。

