get-devs接口
获取通过审核的设备列表。
通过审核后,设备可以通过云平台远程管理:
接口原型
| 协议 | HTTP/HTTPS GET | 
| URL | ip[:port]/sc_cloud/scapi/get-devs?id=0&module=0 | 
| 数据格式 | 响应消息:Content-Type: application/json | 
请求URL参数
| 参数 | 描述 | 
|---|---|
| id | 设备分组ID 取值为0时,表示所有审核通过的设备。  | 
| module | 产品族编号。 | 
id 和 module 同时取值为0,表示查询所有已通过审核的设备。
请求Cookies
| 名称 | 描述 | 
|---|---|
| mwcloud-sid | 用于标识当前登录的字符串 | 
| mwcloud-uid | 当前登录用户名 | 
请求示例
GET /sc_cloud/scapi/get-devs?id=0&module=0 HTTP/1.1
Accept: application/json, text/plain, */*
Cookie: mwcloud-sid=OCXWUMGEYPGIAWWOETYXPNMVHDZIAZJP; mwcloud-uid=Admin;
响应参数
Response Header
| 参数 | 描述 | 
|---|---|
| Content-Type | 取值为:'application/json; charset=UTF-8' | 
Response Body
| 参数 | 描述 | 
|---|---|
| result | 返回码。
  | 
| devs | 已待审核的设备列表。 | 
devs
| 参数 | 描述 | 
|---|---|
| catalog-id | 设备分组ID。 | 
| sn | 序列号。 | 
| module | 产品族编号。 | 
| dev-warning | 取值大于0,表示异常设备。 dev-warning取值与异常设备状态掩码中的所有掩码做逻辑与计算,可能有多个异常。  | 
| is-everyone | 是否所有用户可见。0:否,1:是。 | 
| users | is-everyone取值为0时有效,可见用户集合。 | 
| apply-date | 申请时间。 | 
| online-date | 设备在线时间。大于0:设备在线,小于等于0:设备离线。 | 
| is-upload-file | 是否在上传固件。1:正在上传固件到设备上。  使用参见:设备升级流程。  | 
| upload-file-pos | 固件上传进度百分比。 | 
| status | 设备的基本信息。 | 
status
| 参数 | 描述 | 
|---|---|
| name | 设备名称。 | 
| product-id | 设备产品编号。 | 
| module-name | 设备产品型号。 | 
| hardware-ver | 硬件版本。 | 
| firmware-ver | 固件版本。 | 
| up-time | 设备上电时间,单位:秒。 | 
| cur-status | 设备状态掩码,不同设备不同处理。 | 
| eth | 以太网IP。 | 
| wifi | WI-FI IP。 | 
| rndis | USB RNDIS IP。 | 
| upgrade-ret | 设备安装固件状态码。取值参见:API状态码。 使用参见:设备升级流程。  | 
| upgrade-step | 当前升级步骤,一共有4步。 | 
| upgrade-percent | 当前设备升级进度。 | 
设备升级流程
- 上传云平台中的对应固件到设备上;
 上传成功后,设备自动安装和自动重启。
module为Pro Convert编码器、Pro Convert解码器时,处理流程如下:
getConvertUpgradeStatus (ret, step, percent) { // ret: upgrade-ret step: upgrade-step percent:upgrade-percent let desc = '' let progress = 0 switch (ret) { case 106: // 正在升级... desc = 'upgrading' progress = percent break case 107: // 升级失败 desc = 'upgrade-err' break case 109: desc = 'rebooting' progress = 100 break // case 108: // 初始化升级状态 // stepTitle = '' // progress = 0 // break } return { step, desc, progress, isUpdating: desc !== '' } }module为Ultra Stream、Ultra Encode时,处理流程如下:
getUpgradeStatus (ret, step, percent) { // ret: upgrade-ret step: upgrade-step percent:upgrade-percent let desc = '' let progress = 0 switch (ret) { case 2: switch (step) { case 1: // download desc = 'upgrading' progress = Math.ceil(percent * 2 / 10) break case 2: // install desc = 'upgrading' progress = 20 + Math.ceil(percent * 0.78) break case 3: // install desc = 'upgrading' progress = 98 + Math.ceil(percent * 0.02) break case 4: // rebooting desc = 'rebooting' progress = 100 } break case 0: if (step === 4) { desc = 'rebooting' progress = 100 } break // case 5: // case 27: // 初始化升级状态 // stepTitle = '' // progress = 0 // break } return { step, desc, progress, isUpdating: desc !== '' } }
响应示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
  "result": 0,
  "devs": [
    {
      "catalog-id": 0,
      "sn": "C301191111021",
      "module": 1,
      "dev-status": 2,
      "network": "",
      "is-upgrade": 0,
      "users": null,
      "is-everyone": 1,
      "apply-date": 1634797918,
      "online-date": 1635294552,
      "offline-date": 0,
      "is-upload-file": 0,
      "upload-file-pos": 0,
      "dev-warning": 0,
      "sid": "7e09c8036bea4a10d7e428a3403533e7",
      "cpu": [],
      "mem": [],
      "net": [],
      "net2": [],
      "net3": [],
      "status": {
        "name": "Ultra Stream C301191111021s",
        "product-id": 769,
        "module-name": "Ultra Stream HDMI",
        "hardware-ver": "D",
        "firmware-ver": "1.5.170",
        "conn-ip": "",
        "up-time": 5472,
        "eth": "192.168.123.47",
        "sd-total": 31895175168,
        "cur-status": 6,
        "wifi": "",
        "input": "1920x1080i, 59.95 Hz",
        "output": "",
        "usb-total": 0,
        "usb-free": 0,
        "usb-used": 0,
        "usb-status": 0,
        "usb-usage": 0,
        "sd-free": 30733156352,
        "sd-used": 88276992,
        "sd-status": 1,
        "sd-usage": 0,
        "rec-codec": "1920x1080, 29.97, 2048 Kbps",
        "rec-sec": 13448,
        "rec-kbps": 0,
        "live-codec": "1280x720, 30.00, 1024 Kbps",
        "live-sec": 23192,
        "live-kbps": 138703,
        "ndi-connected": false,
        "ndi-url": "",
        "ndi-enabled": false,
        "rndis": "",
        "ndi-name": "",
        "ndi-video-width": 0,
        "ndi-video-height": 0,
        "ndi-video-scan": "",
        "ndi-video-field-rate": 0,
        "ndi-audio-sample-rate": 0,
        "ndi-audio-channels": 0,
        "ndi-audio-bit-count": 0,
        "upgrade-ret": 27,
        "upgrade-step": 0,
        "upgrade-percent": 0,
        "usb-option": 0,
        "sd-option": 1,
        "CPUStatus": 35,
        "NetStatus": 1259264,
        "MemStatus": 48,
        "Net2Status": 0,
        "Net3Status": 0
      }
    }
  ]
}