版本升级

获取当前版本信息

不需要身份验证

GET /api/system/get_version_info

  1. {
  2. "track" : "inter", // 当前版本线,分内部版、开发版和稳定版
  3. "version1" : "0.5.27_beta2", // 当前固件版本
  4. "version2" : "m101a" // 当前硬件版本
  5. }

全自动下载新版本、升级新版本

GET /api/system/download_and_upgrade

该接口为集成接口,其直接返回的json格式和/api/system/download_version_upgrade相同。

调用者需要根据接口的返回状态,再结合下载、升级各子过程的状态检查接口,获知当前的操作状态。

参考:

/api/system/download_version_upgrade

/api/system/check_download_progress

/api/system/upgrade_version

/api/system/check_upgrade_progress

检查当前为下载中、升级中或升级结束

GET /api/system/check_upgrade_global_status

  1. {
  2. "code" : -1, //-1->无状态, 1->下载中,2->升级中, 3->升级结束
  3. "msg" : ""
  4. }
状态码 消息 意义
-1 “donothing” 没有在升级
-2 “/data is not mounted” data分区没有挂载
-3 “fail to download json file” 配置文件下载失败
-4 “fail to decode json file” 配置文件解析失败
-5 “no newer release” 没有新版本
-6 “md5 check failed” 升级包校验出错
-7 “signature error” 升级包签名出错
-8 “hardware version not match” 升级包和硬件版本不匹配
1 “downloading” 正在下载
2 “upgrading” 正在升级
3 “upgrade done” 升级完成

检查是否有新版本

GET /api/system/check_remote_version_upgrade

  1. {
  2. "code" : 0, // 0->有新版本,3->read json faild, 4->已经是最新版
  3. "msg" : "",
  4. " " : [0-9]*,
  5. "filename" : "***.bin",
  6. "version" : "****",
  7. "releasenote" : "release note"
  8. }

下载新固件

GET /api/system/download_version_upgrade

  1. {
  2. "code" : 0,
  3. "msg" : "",
  4. }

查看下载进度

POST /api/system/check_download_progress

post data:

jsondata[filename]
jsondata[filesize]

return data:

  1. {
  2. "code" : 0, // 0 -> success,
  3. // 1-> running,
  4. // 2->没有mount /data,
  5. // 3->读取latestversion失败
  6. // 4-> 解析json失败
  7. // 5->存储空间不足
  8. // 6-> 下载失败
  9. // 7->md5校验失败
  10. // 8->link创建失败
  11. // 9->自动升级正在下载
  12. // 10->正在升级中不能下载
  13. // 11->更名失效
  14. "msg" : "",
  15. "percent" : "xx",
  16. "stage" : 0 // (0->pre check, 1-> download, 2->post check)
  17. }

取消下载

GET /api/system/cancel_download

  1. {
  2. "code" : 0|1,
  3. "msg" : ""
  4. }

进行版本升级

GET /api/system/upgrade_version

  1. {
  2. "code" : 0, // 0|1(0,成功;1,失败)
  3. "msg" : "" //
  4. }

获取当前升级百分比

GET /api/system/check_upgrade_progress

  1. {
  2. "code" : 0|1|2, // 0-> success,
  3. // 2->faild, upgraded nothing, Error
  4. // 3->faild, upgraded safe only, Error
  5. // 4->faild, upgraded vm only, Error
  6. // 5->faild, upgraded sys only, Error
  7. // 6->faild, upgraded safe and vm, Error
  8. // 7->faild, upgraded safe and sys, Error
  9. // 8->faild. 自动下载正在进行
  10. // 9->faild, 数字签名出错
  11. // -1->progress
  12. "percent" : 10 // number 表示升级进度10% (0-100)
  13. "msg" : "xx",
  14. "stage" : 0 // (0->uboot, 1->check image, 2->safe, 3->vm, 4->sys, 5->sys check, -1->wait)
  15. }