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; }
}
关于对接海康威视开发文档;就这么多了;其次还有就是硬件接口的对接。