海康威视人脸门禁对接开发(一)调用设备篇
上一篇的准备工作做好后,给设备通上网,需要在设备上面配置
1.注册设备,设备会返回:唯一用户ID,lUserID
/*** 海康人脸识别机器型号:DS-K1T610M-KSC,DS-K1Y607M*/public static void main(String[] args) {HCNetDeviceUtil hcNetDeviceUtil=new HCNetDeviceUtil();//注册String lUserID = hcNetDeviceUtil.loginDevice("127.0.0.1", "8000", "admin", "admin12345");//海康的门禁设备端口统一为:8000System.out.println(lUserID);}
2.对设备进行布防,布防就是建立设备数据上传的通道,我们就能在报警回调函数实现类,里面接收到人脸比对的结果
/*** 海康人脸识别机器型号:DS-K1T610M-KSC,DS-K1Y607M* @throws Exception */public static void main(String[] args) throws Exception {HCNetDeviceUtil hcNetDeviceUtil=new HCNetDeviceUtil();//注册设备String lUserID=hcNetDeviceUtil.loginDevice("1270.0.1", "8000", "admin", "admin12345");//对设备布防hcNetDeviceUtil.SetupAlarmChan(Integer.parseInt(lUserID));//下发卡号,我用的是工号下发byte[] cardInfo = hcNetDeviceUtil.setCardInfo(0, "123456", "李四");//下发人脸byte[] faceByte=new byte[2];//一定要将照片转成byte[],设备只接收这种数据hcNetDeviceUtil.setFaceInfo(Integer.parseInt(lUserID), cardInfo, faceByte);}
package com.ykl;import com.sun.jna.Pointer;
import com.utils.HCNetSDK.NET_DVR_ALARMER;
import com.utils.*;//报警回调函数实现类:用于接收人脸识别比对结果
public class FMSGCallBack_V31 implements HCNetSDK.FMSGCallBack_V31 {@Overridepublic boolean invoke(int lCommand, NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {if(lCommand==HCNetSDK.COMM_ALARM_ACS) {//门禁主机报警信息HCNetSDK.NET_DVR_ACS_ALARM_INFO strACSInfo=new HCNetSDK.NET_DVR_ACS_ALARM_INFO();strACSInfo.write();Pointer pACSInfo=strACSInfo.getPointer();pACSInfo.write(0, pAlarmInfo.getByteArray(0, strACSInfo.size()), 0, strACSInfo.size());strACSInfo.read();if(strACSInfo.dwMajor==5 && strACSInfo.dwMinor==75) {String ip=new String(pAlarmer.sDeviceIP).trim();String punchTime=strACSInfo.struTime.toStringTime();//工号如果以0开头的设备会将0给去掉,这是个坑String empCode=Integer.toString(strACSInfo.struAcsEventInfo.dwEmployeeNo);//一定要加trim(),将多余的空格去掉,不然根据这个卡号去数据查数据的时候肯定会出现:期望xx,实际xxxString cardNo=new String(strACSInfo.struAcsEventInfo.byCardNo).trim();System.out.println(ip+punchTime+empCode+cardNo);//接下来的数据库的操作,就自己写把}} return true;}
}
3.下发卡号与人脸
/*** 海康人脸识别机器型号:DS-K1T610M-KSC,DS-K1Y607M* @throws Exception */public static void main(String[] args) throws Exception {HCNetDeviceUtil hcNetDeviceUtil=new HCNetDeviceUtil();//注册设备String lUserID=hcNetDeviceUtil.loginDevice("1270.0.1", "8000", "admin", "admin12345");//下发卡号,我用的是工号下发byte[] cardInfo = hcNetDeviceUtil.setCardInfo(0, "123456", "李四");//下发人脸byte[] faceByte=new byte[2];//一定要将照片转成byte[],设备只接收这种数据hcNetDeviceUtil.setFaceInfo(Integer.parseInt(lUserID), cardInfo, faceByte);}
4.这个时候去设备前面刷个脸,就可以了,报警回调函数里面就会打印接收到的数据了
5.你要是想要调用,获取人脸卡号,删除人脸卡号,就自己调用就好了
最后附上demo:
链接:https://pan.baidu.com/s/1O3_m-ydCENFoMmcSZr2Ytg
提取码:jr0x
海康威视人脸门禁对接开发(一)调用设备篇相关推荐
- 海康威视人脸门禁对接开发(一)准备篇
前一段时间在HR系统中做了一个人脸识别考勤的模块,主要功能:设备注册,下发卡号与人脸,获取卡号与人脸,删除卡号与人脸,对设备布防,报警回调函数. 首先在Window上开发,我们项目的JDK是1.6(6 ...
- 鼎微方案导航一体机刷机包_SMB方案之星 | 海康威视人脸门禁一体机产品应用方案集锦...
自海康威视"SMB方案之星"挑战赛活动开始以来,我们收到了省级业务中心同事.经销商伙伴们提交的大量产品应用案例. 我们从中归纳整理了不同产品的优质项目应用案例,制作成集锦,分享给大 ...
- 有做过海康威视门禁对接的么?java版本的
有做过海康威视门禁对接的么?java版本的 求问怎么获取刷脸人的信息和设备信息.
- 酒店智能门锁/门禁智能系统开发实例
一.酒店智能门锁/门禁智能系统开发需要技术基础有: 1.RFID系统技术基础(常用125KHz和13.56M) 2.八位微处理器开发技术,如C51或者AVR C语言编程技术 3.酒店智能门锁管理软件, ...
- 智能门禁(4)---基于face++和Onenet平台的人脸门禁系统
基于face++和Onenet平台的人脸门禁系统 前言 第一次见识人脸解锁是在iPhoneX,前两天安卓8.0的小米6把我的手机也可以做到人脸结果.各大公司都推出了自己的人脸识别Api,因为个人兴趣, ...
- AI测温人脸门禁防疫布控解决方案:为构建城市防疫战线提供有力支持 | 百万人学AI评选
2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...
- 阿里云AIoT智慧人脸门禁
智慧人脸门禁 受新冠疫情影响,2020年人脸识别测温一体化设备需求猛增.出货量达到41万台.同比增长 50.2%,随着后疫情时代的到来以及测温设备技术成本的降低,健康码.测温将逐渐成为基础配备. 观望 ...
- 毕业设计 Android人脸门禁系统
文章目录 0 项目说明 1 研究目的 2 研究内容及实验结果 3 部分系统界面 4 项目源码 5 最后 0 项目说明 基于Android的人脸门禁系统 提示:适合用于课程设计或毕业设计,工作量达标,源 ...
- 【毕业设计_课程设计】基于Android的人脸门禁系统
文章目录 0 项目说明 1 研究目的 2 研究内容及实验结果 3 部分系统界面 4 项目源码 0 项目说明 基于Android的人脸门禁系统 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 1 ...
最新文章
- 巧用CSS的alpha滤镜
- 优化javaScript代码,提高执行效率
- 矢量合成和分解的法则_高考复习整理力的合成和分解
- scratch跳一跳游戏脚本_超级丛林跳游戏下载-超级丛林跳最新版下载v1.01.5026 安卓版...
- MATLAB矩阵对称旋转
- java项目中多个定时器_在java项目中如何使用Timer定时器
- python 输入正方形_Python打印正方形
- extJS 中 ext.data 介绍
- SpringCloud Gateway 服务网关,过滤器
- 跟我一起认识axure(三)
- Java中类加载器获取的两种方式
- Linux裸设备管理详解--
- 2016HUAS暑假集训训练题 F - 简单计算器
- 【转】如何防止softmax函数上溢出(overflow)和下溢出(underflow)
- 结构型模式分类与简介
- mysql的会话变量,全局变量,状态信息
- 故障解决 | win10没声音及找不到Realtek高清音频管理器
- 【vue-router源码】四、createRouter源码解析
- 中国教育“善意的谎言”与恶果
- python记录鼠标键盘操作自动执行重复工作
热门文章
- 招标系统html模板信息,招投标信息管理系统.docx
- iPhone如何查看剩余内存容量 从哪里能看
- Wince系统设置开机启动方式--注册表方式
- 什么是SOA,谈谈自己的看法(转)
- Android 加固包之后,vivo手机安装时出现解析包错误的情况
- [环境配置]Win10 这台计算机中已经安装了 .NET Framework 4.5.2 或版本更高的更新
- python基础运算符讲解(原码、补码、反码)
- 一键生成的BI智能数据看板谁不爱?
- python如何压缩文件?
- 树莓派(4B)实现远程打印服务