文档版本: v0.6.1
固件升级¶
适用设备
本文档适用于 OpenZilo Q。
升级要求
使用官方发行说明指定的 OTA 升级包,并核对设备型号、硬件版本和当前固件版本。SDK 只升级应用固件,不升级引导程序(bootloader)。
1. 选择升级包¶
打开 官方固件发行页面,确认以下信息:
- 设备型号和硬件版本在支持列表中。
- 当前固件版本可以升级到目标版本。
- 已了解录音、设置是否保留,以及该版本的已知问题。
下载 OTA 升级包,并保存发行说明提供的目标版本、型号和 SHA-256 校验值。工厂烧录文件不用于 SDK 的 OTA 升级。
2. 升级前准备¶
先备份重要录音,停止录音、下载和 IMU 上报,并断开其他连接戒指的应用。确保电量充足,遵循发行说明中的电量要求。
在 SDK 仓库目录运行:
uv sync --locked
uv run openzilo device use
uv run openzilo info
记下当前固件版本。可运行 uv run openzilo ota-update --help 查看当前安装的升级命令。
3. 运行升级命令¶
下面的参数都需要替换为本次发行提供的值:
uv run openzilo ota-update "path/to/official-update.bin" --version "TARGET_VERSION" --sha256 "SHA256_FROM_RELEASE" --model "MODEL_FROM_RELEASE"
命令使用已保存的默认设备;也可用 --address 指定地址。升级期间保持设备靠近,避免中断蓝牙和供电。
--sha256 检查下载文件是否完整,--model 检查设备型号。当前固件能否升级,仍需按发行说明确认。
4. 确认结果¶
SDK 发送完文件后会等待戒指重启、重新连接,确认仍是同一台设备,并读取目标固件版本。只有版本检查通过,命令才报告成功。 传输进度到达 100% 时还需继续等待。
完成后可运行 uv run openzilo info 查看版本,再录制一段短音频并检查需要使用的功能。
超时参数均以秒计:--timeout 默认 30,限制单次操作;--total-timeout 默认 600,限制升级前检查与传输;--reboot-timeout 默认 90,限制重启、重连与版本检查。Python 调用见 SDK 手册和 update_firmware.py。
升级中断怎么办¶
超时、断线或取消后,先重新连接并读取固件版本,再决定是否重试。退出电脑端程序不会撤回戒指已经收到的升级包。
无法重新连接时,记录升级前版本、目标版本和错误信息,并联系支持。降级、自动恢复和录音保留情况以该版本发行说明为准。