Springboot集成海康威视门禁设备,车牌识别摄像头,人脸设备

您所在的位置:网站首页 门禁密码设置修改方法 Springboot集成海康威视门禁设备,车牌识别摄像头,人脸设备

Springboot集成海康威视门禁设备,车牌识别摄像头,人脸设备

2023-06-07 06:35| 来源: 网络整理| 查看: 265

海康设备集成springboot

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 海康设备集成springboot前言一、海康SDK包根据下载的SKD包中的DEMO示例连接设备创建一个springboot项目将库文件放入根目录lib文件下(lib自己创建)maven 加载一下连接设备海康设备下载网络设备搜索工具能找到设备后将参数写到AcsMain的main方法中 二、车牌识别三、单元门禁DEMO中Alarm进行监听总结

前言

公司要做一个智慧社区项目,之前是通过海康平台的接口简单好用,只不过现在收费啦,所有要换成SDK的方式来获取数据,现在来总结一下经验

提示:以下是本篇文章正文内容,下面案例可供参考

一、海康SDK包

海康SDK包下载

在这里插入图片描述

根据下载的SKD包中的DEMO示例连接设备 创建一个springboot项目将库文件放入根目录lib文件下(lib自己创建)maven 加载一下

在这里插入图片描述

连接设备

1.HCNetSDK.dll这个文件根据自己的来

代码如下(示例):

/** * 根据不同操作系统选择不同的库文件和库路径 * @return */ private static boolean createSDKInstance() { if(hCNetSDK == null) { synchronized (HCNetSDK.class) { String strDllPath = ""; try { //System.setProperty("jna.debug_load", "true");modules if(osSelect.isWindows()) //win系统加载库路径 strDllPath = System.getProperty("user.dir") + "\\modules\\trafficrecord\\lib\\HCNetSDK.dll"; else if(osSelect.isLinux()) //Linux系统加载库路径 //获取到的path是file:/home/trafficrecord-1.0-SNAPSHOT.jar!/BOOT-INF/classes!/lib/linux/libhcnetsdk.so格式的 //strDllPath = AcsMain.class.getClassLoader().getResource("/lib/linux/libhcnetsdk.so").getPath().substring(5); strDllPath = "/usr/lib64/libhcnetsdk.so"; System.out.println("==============================================="); System.out.println("strDllPath==="+strDllPath); hCNetSDK = (HCNetSDK) Native.loadLibrary(strDllPath, HCNetSDK.class); }catch (Exception ex) { System.out.println("loadLibrary: " + strDllPath + " Error: " + ex.getMessage()); return false; } } } return true; } 海康设备下载网络设备搜索工具能找到设备后将参数写到AcsMain的main方法中

请添加图片描述

main方法连接设备我这里将ip,端口,账号,密码设为参数啦

public static void init(String ip,String userName,String password,String port) { if(hCNetSDK == null) { if(!createSDKInstance()) { log.info(ip+" 初始化SDK失败"); return; } } //linux系统建议调用以下接口加载组件库 if (osSelect.isLinux()) { HCNetSDK.BYTE_ARRAY ptrByteArray1 = new HCNetSDK.BYTE_ARRAY(256); HCNetSDK.BYTE_ARRAY ptrByteArray2 = new HCNetSDK.BYTE_ARRAY(256); //这里是库的绝对路径,请根据实际情况修改,注意改路径必须有访问权限 String strPath1 = "/usr/lib64/libcrypto.so.1.1"; String strPath2 = "/usr/lib64/libssl.so.1.1"; //String strPath1 = AcsMain.class.getClassLoader().getResource("/lib/linux/libcrypto.so.1.1").getPath().substring(5); //String strPath2 = AcsMain.class.getClassLoader().getResource("/lib/linux/libssl.so.1.1").getPath().substring(5); System.out.println("==============================================="); System.out.println("strPath1==="+strPath1); System.out.println("strPath2==="+strPath2); System.arraycopy(strPath1.getBytes(), 0, ptrByteArray1.byValue, 0, strPath1.length()); ptrByteArray1.write(); hCNetSDK.NET_DVR_SetSDKInitCfg(3, ptrByteArray1.getPointer()); System.arraycopy(strPath2.getBytes(), 0, ptrByteArray2.byValue, 0, strPath2.length()); ptrByteArray2.write(); hCNetSDK.NET_DVR_SetSDKInitCfg(4, ptrByteArray2.getPointer()); String strPathCom = "/usr/lib64/"; HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH(); System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length()); struComPath.write(); hCNetSDK.NET_DVR_SetSDKInitCfg(2, struComPath.getPointer()); } hCNetSDK.NET_DVR_Init(); //开启SDK日志打印 boolean i= hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false); login_V40(ip,userName,password,Short.parseShort(StringUtils.isEmpty(port) ? "8000" : port)); //登陆设备 }

成功之后可以最设备上的人员进行增删改查,以及事件的查询,我是根据定时任务去拉取的

在这里插入图片描述

二、车牌识别

车牌识别案例 设备遍历多线程去监听车辆

在这里插入图片描述

三、单元门禁DEMO中Alarm进行监听

在这里插入图片描述

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3