update 接口
固件更新有两种方式:
- 手动更新: 用户可以先通过 upload-update-file 接口上传指定版本的固件,然后再进行更新
- 在线升级: 当有新版本时,用户可以在线升级到最新版本,online-update-check 接口检测线上是否有新版本固件。
进行固件更新时,必须满足以下条件:
- 未进行检测新版本固件
通过 get-status 接口可以获取到以下信息:
"cur-status": 65552 // 设备运行状态掩码
cur-status
和 设备状态掩码 进行与运算,可以得到以下状态表:
状态 | 条件 |
---|---|
未进行检测新版本固件 | cur-status & statusCheckUpgrade != statusCheckUpgrade |
请求方式
GET http://ip/usapi?method=update&mode=xxx
参数 | 说明 |
---|---|
method | 方法名称:update |
mode | 更新方式 upload:手动更新 online:在线升级 |
返回数据
{
"result": 0
}
属性 | 说明 |
---|---|
result | 返回状态,0:开始更新,返回其它值请参考 API 状态码 |
升级过程状态
通过 get-status 接口可以获取到 upgrade-status 信息,如下:
"upgrade-status": {
"result": 27,
"step": 0,
"percent": 0,
"mode": "none",
"client-id": ""
}
属性 | 说明 |
---|---|
result | 操作状态 27:初始状态 2:更新中状态 0:操作成功 返回其它值请参考 API 状态码 |
step | 更新步骤 |
percent | 格式化进度:20 表示 20% |
mode | 更新方式 |
client-id | 保留属性 |
如果更新失败,需要调用 clear-upgrade 接口将更新状态重置为初始状态(27)。