DeviceManage 设备管理接口

  1. 激活设备
  2. 获取设备基本信息
  3. 恢复出厂设置
  4. 重启设备

1.激活设备

描述

使用设备前调用此接口激活设备,使用前确保设备是联网的。

激活设备后会在SD卡中新建两个默认的人脸分组,名称分别为stranger和regular,如果在SD卡中有人脸分组的条件下激活,则会先删除所有的人脸分组,然后再新建默认库。

接口

public void activate(String deviceId, RPCCallback‹RPCResponse› callback);

参数说明

参数名称描述示例
deviceIdIPC序列号C201D98T00094
callback 激活结果

响应参数

响应参数指的是回调函数返回的RPCResponse,后续不再说明。

字段名称类型描述
codeint返回码,表示操作的结果;
本接口返回码有 0、1、2、3、4、8、9、10、11,见错误码章节的描述

示例代码

IPCameraManager mIPCameraManager = IPCameraManager.getInstance(getSSLParams());
mIPCameraManager.init(APP_ID, SECRET_KEY, LICENSE);
mIPCameraManager.startDeviceTracker(HOST);
DeviceManage.getInstance().activate(ipcList.get(postion).getDeviceid(), new RPCCallback‹RPCResponse›() {
    @Override
    public void onComplete(RPCResponse result) {
        Log.i(TAG, "return code= " + result.code());
        if (result.code() == RPCErrorCode.SUCCESS || result.code() == RPCErrorCode.DEVICE_ACTIVATED) {
            Log.i(TAG, "ipc activate success");
        }else if(result.code() == RPCErrorCode.DEVICE_ACTIVATED) {
            Log.i(TAG, "ipc has been activated");
        } else {
            Log.i(TAG, "ipc activate failed, code:" + result.code());
        }
    }

    @Override
    public void onError(Throwable t) {
        Log.i(TAG, t.getMessage());
    }
});
private static HttpsUtils.SSLParams getSSLParams() {
    try {
        InputStream key = new FileInputStream(KEYSOTRE);
        InputStream ca = new FileInputStream(TRUSTSTORE);
        return HttpsUtils.getSslSocketFactory(key, KEYSOTRE_PASSWORD, ca);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    return null;
}

返回示例

{
  "code":0
}

2.获取设备基本信息

描述

使用此接口可以获取设备的基本信息。

接口

public void getInfo(String deviceId, RPCCallback‹RPCResponse‹IpcInfoBean›› callback);

参数说明

参数名称 描述 示例
deviceIdIPC序列号C201D98T00094
callback调用结果

响应参数

字段名称 类型描述
codeint返回码,表示操作的结果;
本接口返回码有 0、1、2、3、4、8、9、10、11,见错误码章节的描述
dataIpcInfoBean 返回码成功才会有此字段,详见RPCResponse.IpcInfoBean

示例代码

DeviceManage.getInstance().getInfo(ipcList.get(postion).getDeviceid(), new RPCCallback‹RPCResponse‹IpcInfoBean››() {
    @Override
    public void onComplete(RPCResponse‹IpcInfoBean› result) {
        if (result.code() == RPCErrorCode.SUCCESS) {
            IpcInfoBean info = result.data();
            Log.i(TAG, "getInfo success, ip: " + info.ip);
        } else {
            Log.i(TAG, "getInfo failed, code:" + result.code());
        }
    }

    @Override
    public void onError(Throwable t) {
        Log.i(TAG, t.getMessage());
    }
});

返回示例

{
  "code": 0,
    "data": {
      "sn": "SS101D8BS00083",
      "model_name": "FM020",
      "name": "My FS",
      "software_version": "1.1.0",
      "hardware_version": "1.0.0",
      "ip": "192.168.0.1",
      "mac": "04:12:24:E3:45:12 ",
    }
}

注:参考以上实现,后续接口不再说明。

3.恢复出厂设置

描述

使用此接口可以使得设备恢复出厂设置。

接口

public void reset(String deviceId, RPCCallback‹RPCResponse› callback);

参数说明

字段名称 描述示例
deviceIdIPC序列号C201D98T00094
callback调用结果

响应参数

字段名称类型描述
codeint返回码,表示操作的结果;
本接口返回码有 0、1、2、3、5、7,见错误码章节的描述

4.重启设备

描述

使用此接口可以重启设备。

接口

public void reboot(String deviceId, RPCCallback‹RPCResponse› callback);

参数说明

字段名称 描述示例
deviceIdIPC序列号C201D98T00094
callback调用结果

响应参数

字段名称类型描述
codeint返回码,表示操作的结果;
本接口返回码有 0、1、2、3、5、7,见错误码章节的描述