正在从生物识别指纹考勤设备检索数据



我正在尝试使用Java程序连接生物识别指纹考勤设备。我使用的设备是Pegasus T5指纹扫描仪。不幸的是,他们为这个设备开发的SDK(可以在这里下载)只涵盖C#、.Net和VB,我对此没有任何专业知识。当我请求制造商时,他们回答说该设备没有Java SDK。尽管我对这些语言一无所知,但我尝试理解SDK中的代码,以了解设备是如何连接的,我发现它只是使用网络ip和端口号与设备进行连接。

如果你参考该设备的C#SDK,你可以在frmEvent.cs,它在cmdStartMoniter_Click方法中进行如下连接。

bRet = bpc.StartEventCapture(0, util.pubIPAddrToLong(txtSourceIP.Text), Convert.ToInt32(txtPortNumber.Text));

这将方法StartEventCapture称为public virtual bool StartEventCapture(int dwCommType, int dwParam1, int dwParam2);,它出现在.dll文件中,由于我对如何计算代码有了进一步的了解,我已经失去了跟踪。

然而,为了保持我脑海中看到的这个例子,作为我的下一步,我开始研究如何使用指纹设备连接、发送和检索数据的全球标准,我再次没有幸运地找到一个明确的解决方案。但是,对于一些试图处理相同问题的人的一些例子,以及我自己看到的例子,我试图通过创建Socket对象来连接设备,但当我执行它时,它只得到了java.net.ConnectException: Connection timed out: connect

有四个问题

  1. 我的设备也可以使用生物识别指纹考勤设备的Java SDK吗
  2. 是否有任何通用、标准的方法可以使用Java连接、发送和检索此类设备的数据
  3. 如果通过Socket连接到设备是一种解决方案,那么我是否应该向设备发送任何特定的标准请求,以便从设备接收响应
  4. 如果我所做的尝试是一种方法,我做错了什么,我应该如何纠正这个问题

这是我用来连接设备的代码。

String host = "192.168.168.100";
int port = Integer.parseInt("5005");
try {
Socket socket = new Socket(host, port);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line;
while (true){
line = in.readLine();
if (line != null){
System.out.println(line);
}
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

每个生物测量设备通常都有lAN端口或Web接口。生物模型设备在特定端口上发送数据。例如

192.168.1.23:8080

您可以使用java套接字连接到它,并可以读取数据。。

Socket socket = new Socket("192.168.1.23","8080");

保持

享受

如果您试图访问与web应用程序关联的生物识别机器,请查找CAMSUnit机器。CAMS为其生物识别机器提供WEB API。它支持注册回调URL,每次注册新的考勤时都会调用该URL。

刚刚浏览了从问题中共享的链接下载的示例代码。如果对你有帮助的话,让我分享我的几分钱。

根据代码,我们不能通过简单的套接字编程直接连接机器。只有当你知道没有一家制造商共享的低级别通信协议时,这才是可能的。因此,您必须仅遵循他们的SDK。

来到SDK

AxSBXPC::StartEventCapture有三个参数,其中第一个表示TCP/IP或串行通信。0表示TCP/IP,1表示串行通信。

对于TCP/IP,第二个和第三个参数是IP和PORT。

首先通过TCP/IP连接机器来实现一个简单的程序。一旦成功,您就可以着手实现事件和处理数据。在运行程序之前,您必须检查生物识别机器是否可以通过配置的IP在计算机中进行ping。

您需要查找考勤、用户更新等事件,并根据需要实施它们。事件是由XML参数触发的,该参数保存所有数据data,所以您必须找到要读取的每个项的键。

Pegasus不提供直接的云通信,正如Victor指出的那样,如果你需要直接的云通讯,你将不得不使用支持web api的生物识别机器。

最新更新