当前位置: 首页 > news >正文

springboot集成大华人脸机

 一、先去官网(support)下载对应的demo

二、将demo中全量文件复制到springboot新建的包下,然后全局替换 com.netsdk. 为 自己建的包名前缀

三、将res下文件复制到resources文件夹下,将libs复制到resources文件夹下

四、将jna.jar通过mvn安装到本地maven库中,然后通过pom引入项目

        <dependency>
            <groupId>com.dahua.netsdk</groupId>
            <artifactId>dahua-netsdk-jna</artifactId>
            <version>1.0.0</version>
        </dependency>

        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
            <version>5.4.0</version>
        </dependency>

五、win+R输入 %temp%,将下图win64下文件复制到temp文件夹中

六、编写测试代码,默认连接地址:默认ip:192.168.1.108   port 37777

public class Test {
    public static void main(String[] args) throws InterruptedException {
        LoginModule.init(new NetSDKLib.fDisConnect() {
            @Override
            public void invoke(NetSDKLib.LLong lLoginID, String pchDVRIP, int nDVRPort, Pointer dwUser) {
                System.out.println(1);
            }
        }, new NetSDKLib.fHaveReConnect() {
            @Override
            public void invoke(NetSDKLib.LLong lLoginID, String pchDVRIP, int nDVRPort, Pointer dwUser) {
                System.out.println(2);
            }
        });

        boolean login = LoginModule.login("192.168.1.108", 37777, "admin", "admin123");
        System.out.println(login);

//        AttendanceModule.UserData user = AttendanceModule.getUser("006");
//        System.out.println(user.userName);

        AttendanceModule.realLoadPicture(new fAnalyzerDataCB());

        Thread.sleep(1*60*60*1000);
    }

    public static class fAnalyzerDataCB implements NetSDKLib.fAnalyzerDataCallBack {
        public final EventQueue eventQueue = Toolkit.getDefaultToolkit().getSystemEventQueue();
        @Override
        public int invoke(NetSDKLib.LLong lAnalyzerHandle, int dwAlarmType,
                          Pointer pAlarmInfo, Pointer pBuffer, int dwBufSize,
                          Pointer dwUser, int nSequence, Pointer reserved) {
            if(pAlarmInfo == null) {
                return 0;
            }
            System.out.println("门禁事件回调");
            switch(dwAlarmType) {
                case NetSDKLib.EVENT_IVS_ACCESS_CTL:   // 门禁事件
                    NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO event = new NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO();
                    ToolKits.GetPointerData(pAlarmInfo, event);
                    System.out.println("门禁事件回调信息");
                    System.out.println("id:"+new String(event.szUserID).trim());
                    System.out.println("卡名:"+new String(event.szCardName).trim());
                    break;
                default:
                    break;
            }
            return 0;
        }
    }

}

http://www.dtcms.com/a/122748.html

相关文章:

  • js实现跨域下载,展示下载进度以及自定义下载名称功能
  • Docker新型容器镜像构建技术,如何正确高效的编写Dockerfile
  • 前端三件套—CSS入门
  • 13_pandas可视化_seaborn
  • 青少年编程与数学 02-016 Python数据结构与算法 10课题、搜索
  • Webstorm 使用搜不到node_modules下的JS内容 TS项目按Ctrl无法跳转到函数实现
  • leetcode刷题日记——验证回文串
  • 算法比赛中常用的数学知识
  • C# Winform 入门(15)之制作二维码和拼接(QR)
  • miniconda安装R语言图文教程(详细步骤)
  • 13. git clone
  • Mysql | 主从复制的工作机制
  • 西电服务器环境配置问题汇总(一)
  • 【同步教程】基于Apache SeaTunnel从MySQL同步到MySQL——Demo方舟计划
  • 山东大学软件学院项目实训开发日志(7)之测试前后端本地部署
  • TCP连接四次挥手的过程,为什么是四次?
  • STM32单片机入门学习——第30节: [9-6] FlyMcu串口下载STLINK Utility
  • Rust入门之迭代器(Iterators)
  • 实战篇-梳理时钟树
  • QT学习笔记
  • 使用 DeepSeek API 实现新闻文章地理位置检测与地图可视化
  • 华为手机或平板与电脑实现文件共享
  • 电脑清洁常用工具
  • MySQL:锁
  • 秒杀业务的实现过程
  • Java 开发中主流安全框架的详细对比,涵盖 认证、授权、加密、安全策略 等核心功能,帮助开发者根据需求选择合适的方案
  • IP查询能够帮助企业进行数字化转型
  • 医学分割新标杆!双路径PGM-UNet:CNN+Mamba实现病灶毫厘级捕捉
  • UniApp 页面布局自定义头部导航
  • Seq2Seq - CrossEntropyLoss细节讨论