De la récupération des données Biométriques d'Empreintes digitales Fréquentation de l'Appareil
Je suis en train d'essayer de vous connecter avec un Biométrique d'Empreintes digitales Fréquentation de l'Appareil à l'aide d'un Programme Java. L'appareil que j'utilise est un Pegasus T5 scanner d'Empreintes digitales. Malheureusement, leur kit de développement logiciel pour ce périphérique (qui peut être téléchargé ici) ne couvre que C#, .Net, VB qui je n'ai aucune expertise. Et quand j'ai demandé aux fabricants, ils ont répondu qu'il n'y a pas de Java SDK de l'appareil. Même si je n'ai aucune connaissance sur l'une de ces langues, j'ai donné un essai pour comprendre les codes dans le SDK pour savoir comment l'appareil se connecte et j'ai vu qu'il est juste de faire une connexion avec le périphérique en utilisant le réseau ip et numéro de port.
Si vous vous référez à la C# SDK de l'appareil, vous pouvez voir l'exemple que j'ai vu sur ce à
frmEvent.cs qui, dans le cmdStartMoniter_Click
méthode, la connexion comme suit.
bRet = bpc.StartEventCapture(0, util.pubIPAddrToLong(txtSourceIP.Text), Convert.ToInt32(txtPortNumber.Text));
Et qui se réfère à la méthode StartEventCapture
comme public virtual bool StartEventCapture(int dwCommType, int dwParam1, int dwParam2);
qui est dans un .dll fichier tel qu'il apparaît, et dont j'ai perdu ma piste que j'ai plus de connaissances sur la façon de trouver le code.
Cependant garder l'exemple que j'avais vu dans ma tête, que ma prochaine étape, j'ai commencé à faire des recherches pour une norme mondiale sur la façon de se connecter, envoyer et récupérer les données avec un lecteur d'Empreintes digitales qui, là encore, je n'étais pas assez chanceux pour trouver une solution claire. Mais avec quelques exemples de certaines personnes qui tentent de traiter avec le même et l'exemple que j'ai vu par moi-même, j'ai essayé de me connecter avec le dispositif par la création d'un Socket
objet, mais quand je l'ai exécuté, il ne entraîné avec le java.net.ConnectException: Connection timed out: connect
Il y a quatre questions
- Est-il un SDK Java pour Biométrique d'Empreintes digitales Fréquentation des Appareils que je peux utiliser pour mon appareil?
- Est-il général, de manière standard pour se connecter, envoyer et récupérer des données à partir d'un tel appareil à l'aide de Java?
- Si de la connexion à l'appareil via un
Socket
est une solution, est-il spécifique, les demandes standard je doit envoyer à l'appareil afin de recevoir une réponse de l'? - Si la tentative que j'ai faite est une façon de le faire, ce que j'ai je fait de mal à cela, et comment corriger le problème?
C'est le code que j'ai utilisé pour se connecter avec l'appareil.
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();
}
netstat -an
pour voir si ce dispositif est de même à l'écoute pour le trafic sur le port que vous essayez de vous connecter.C'est une bonne idée. Je vais essayer ça. Même si je suis assez sûr qu'il communique par le biais de ce port, car c'est le port sur lequel le fabricant a fourni le logiciel client utilise pour communiquer avec le périphérique. Et quand je vérifie sur le interné il lui semblait que la
5005
est un standard par défaut du numéro de port pour les lecteurs d'empreintes digitales. Mais je me demande si je doit envoyer toute demande particulière afin d'obtenir une réponse ou de l'appareil transmet des données lors de chaque analyse. Cependant je vais essayer netstat
des commandes comme vous l'avez suggéré, et voir si elle est à l'écoute sur ce port. Merci @nrathaus!Donc, utiliser
wireshark
à renifler le trafic envoyé à ce port, il peut, par exemple, que le trafic est crypté SSL, ce qui ferait de ce que vous voulez faire un peu délicatJe n'ai trouver d'autres produits qui fonctionnent sur le port 5005 et sont empreintes d'appareils, de sorte que peut-être il y a une sorte de protocole connu, mais je ne peut pas localiser un
Dupliquer: stackoverflow.com/questions/23990924/...
OriginalL'auteur RocketRuwan | 2013-12-22
Vous devez vous connecter pour publier un commentaire.
Chaque biomatric appareil normalement le port lAN ou de l'interface Web. Biomatric appareil envoie des données sur un port spécifique. par exemple
vous pouvez établir la connexion à l'aide de sockets java et permet de lire les données ..
garder
profiter de
OriginalL'auteur user1911721
Juste allé à travers l'exemple de code téléchargé à partir du lien partagé sur la question. permettez-moi de partager mes quelques centimes, si cela vous aide.
Comme par le code, nous ne pouvons pas directement connecter la machine au moyen d'une simple prise de programmation. Ce qui est possible, uniquement si vous connaissez le faible niveau de protocole de communication qui aucun de la fabrique de la faire partager. Donc, vous devez suivre leurs Kits de développement logiciel.
À venir pour le SDK
Vous avez besoin pour trouver les événements de l'assiduité, de l'utilisateur mise à jour, etc., et de les mettre en œuvre comme par la nécessité. Les événements sont déclenchés avec le paramètre XML qui contient toutes les données, alors vous devez trouver les clés de chaque article que vous souhaitez lire.
Pegasus ne fournit pas directement le nuage de la communication, si vous avez besoin de l'direct nuage de communication, que Victor l'a souligné, vous devrez utiliser l'api web pris en charge biométriques des machines.
OriginalL'auteur Kevin
Si vous essayez d'accéder à la biométriques machines à associer à votre site web à des applications, puis regarder pour CAMSUnit machines. Cam offre la WEB Api pour leur biométriques des machines. Il prend en charge l'enregistrement de l'URL de callback qui est appelée à chaque fois qu'une nouvelle participation est enregistrée.
OriginalL'auteur Victor