OTA镜像和其他文件都在/data/upgrade目录中。
可以有四种方式启动OTA服务:
- 默认OTA服务由systemd timer启动,每隔一小时启动一次,可以使用
systemctl list-timers | grep ota查看OTA服务还有多久启动 - 通过语音指令
检查更新启动 - 进入手机app的设备升级页面,会检查更新,如果有更新会启动OTA服务
- 输入命令rklua -n ota手动启动服务,如果OTA服务在运行,这个命令会马上退出
完整测试OTA流程需要在后台页面添加正确的版本和镜像。
本地测试OTA流程需要:
- 在/data/upgrade目录放置正确的镜像,文件名是镜像的md5值(小写32位),并使用
.img后缀 - 在/data/upgrade目录添加info文本文件,使用json格式,根节点是一个object,至少包含以下字段:
- checksum: 文件的md5值 // OTA服务会校验镜像
- status: "downloaded" // 表示已经下载完成
- 执行
read -r line < /var/run/dbus/session && export $line命令 - 执行
dbus-send /rokid/ota com.rokid.ota.download_finished命令 - 语音激活设备,这时应该会有提示镜像下载完成,提示完成后会进入OTA模式