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

时间:2013-12-22 19:01:57

标签: java sockets networking fingerprint biometrics

我正在尝试使用Java程序连接生物识别指纹考勤设备。我使用的设备是 Pegasus T5 指纹扫描仪。不幸的是,他们用于此设备的SDK(which can be downloaded here)仅涵盖了我没有专业知识的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连接到设备是一个解决方案,是否有任何特定的标准请求我应该发送到设备以便从中接收响应?< / LI>
  4. 如果我所做的尝试是一种方法,我所做的就是我做错了,我该如何纠正这个问题呢?
  5. 这是我用来连接设备的代码。

        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();
        }
    

3 个答案:

答案 0 :(得分:3)

每个生物制剂设备通常都有lAN端口或Web界面。 Biomatric设备在特定端口上发送数据。例如

192.168.1.23:8080

你可以使用java套接字与它建立连接,并且可以读取数据..

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

坚持下去

享受

答案 1 :(得分:0)

刚刚浏览了从问题中分享的链接下载的示例代码。让我分享我的几美分,如果这有助于你。

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

来到SDK

  

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

     

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

     

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

您需要查找出勤,用户更新等事件,并根据需要实施。事件由XML参数触发,该参数保存所有数据数据,因此您必须找到您想要阅读的每个项目的键。

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

答案 2 :(得分:-1)

如果您尝试访问生物识别计算机以与Web应用程序关联,请查找CAMSUnit计算机。 CAMS为其生物识别机器提供WEB APIs。它支持注册每次注册新考勤时调​​用的回调URL。

相关问题