update 接口
固件更新有两种方式:
- 手动更新: 用户可以先通过 upload-update-file 接口上传指定版本的固件,然后再进行更新
 - 在线升级: 当有新版本时,用户可以在线升级到最新版本,online-update-check 接口检测线上是否有新版本固件。
 
进行固件更新时,必须满足以下条件:
- 未进行 U 盘格式化
 - 未进行检测新版本固件
 
通过 get-status 接口可以获取到以下信息:
"cur-status": 65552                    // 设备运行状态掩码
cur-status 和 设备状态掩码 进行与运算,可以得到以下状态表:
| 状态 | 条件 | 
|---|---|
| 未对 U 盘进行格式化 | cur-status & statusFormatDisk != statusFormatDisk | 
| 未进行检测新版本固件 | 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)。