JAVA对接海康威视开发文档

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

其次,会得到账号的一些私钥等信息。
在这里插入图片描述
然后调用萤石文档提供的获取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;

}

}

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

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博客胡

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值