快捷搜索: 王者荣耀 脱发

JAVA对接海康威视开发文档

日前根据公司需求需要对接海康威视的硬件设备信息。因此特地研究了其开发文档。 萤石开发文档: 根据业务需求;报警设备安装到所需地址;有人按报警后我们系统会接受该报警消息;可以远程对该报警设备进行操作,比如一键消警。 首先到萤石平台注册开发账号

其次,会得到账号的一些私钥等信息。 然后调用萤石文档提供的获取token接口;可以获取token 信息;每次生成的token有效期是七天。根据自己业务需求可以进行token保存处理。

最后就是利用token进行获取设备信息等操作。

private static Logger logger= LoggerFactory.getLogger(DeviceInfoApi.class);
/**
 * 网关设备信息获取
 * @param apiMap
 * @return
 */
public static String getDeviceInfoList(String token,String url,String pageStart,String pageSize) throws Exception {

    Map<String, String> map= new HashMap<>();
    map.put("accessToken",token);
    //分页默认0
    map.put("pageStart",pageStart);
    //分页大小,默认为10,最大为50:50无效;设置为50返回数据仍为10
    map.put("pageSize",pageSize);

    String jsonStr = HttpClientUtil.doPost(url,map);
    return jsonStr;
}


/**
 *
 * 获取网关设备明细信息
 * @return
 *
 */
public static String getGatWayDeviceDetail(String token,String url,String deviceSerial){
    String message=null;
    Map<String, String> param=new HashMap<>();
    param.put("accessToken",token);
    //设备序列号,存在英文字母的设备序列号,字母需为大写
    param.put("deviceSerial",deviceSerial);
    message = HttpClientUtil.doPost(url,param);
    logger.info(message);
    return message;
}


/**
 *
 * 根据网关查询子设备信息列表
 * @return
 *
 */
public static String getGatWaySonDeviceList(String token,String url,String deviceSerial){
    String message=null;
    Map<String, String> param=new HashMap<>(10);
    param.put("accessToken",token);
    //HUB设备序列号,存在英文字母的设备序列号,字母需为大写
    param.put("deviceSerial",deviceSerial);
    message = HttpClientUtil.doPost(url,param);
    logger.info(message);
    return message;
}


public  static String  getAccessToken(){
	//获取token信息
    String requestUrl = "https://open.ys7.com/api/lapp/token/get";
    String access = null;

    try {
        Map<String, String> param=new HashMap<>();
        param.put("appKey",appKey);
        param.put("appSecret",appSecret);

        String resmsg = HttpClientUtil.doPost(requestUrl,param);
        JsonNode node =  mapper.readTree(resmsg);
        access = node.get("data").get("accessToken").asText();
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    return access;
}

/**
 *
 * 获取摄像头列表
 * @return
 *
 */
public static String getCameraDeviceList(String token,String url,String pageStart,String pageSize){
    String message=null;
    Map<String, String> param=new HashMap<>(10);
    param.put("accessToken",token);
    //分页默认0
    param.put("pageStart",pageStart);
    //分页大小,默认为10,最大为50
    param.put("pageSize",pageSize);
    message = HttpClientUtil.doPost(url,param);
    logger.info(message);
    return message;
}





/**
 *一键取消报警
 * @return
 */
public static String cancelCall(String url,String token,String deviceSerial){

    String message=null;
    Map<String, String> param=new HashMap<>(10);
    param.put("accessToken",token);
    param.put("deviceSerial",deviceSerial);
    message = HttpClientUtil.doPost(url,param);
    logger.info(message);
    return message;
}


/**
 *
 * 根据设备序列号获取摄像头播放地址
 * accessToken:token
 * deviceSerial:设备序列号
 * channelNo:通道号
 * @return
 */
public static String getCameraLivingRomme(String url,String token,String deviceSerial,String channelNo ){
    String mes = null;
    Map<String, String> param=new HashMap<>(10);
    param.put("accessToken",token);
    //硬盘录像机设备序列表
    param.put("deviceSerial",deviceSerial);
    //通道号(表示不同摄像头):默认为1
    param.put("channelNo",channelNo);
    mes = HttpClientUtil.doPost(url,param);
    return mes;

}

}

关于对接海康威视开发文档;就这么多了;其次还有就是硬件接口的对接。

经验分享 程序员 微信小程序 职场和发展