PDA

Ver la Versión Completa : Conectar a ZKteco zk c3-100


Chuma87
30-12-2018, 02:32:21
Buenas gente, como andan?
Les hago una consulta, al parecer sensilla, pero dificl de implementar en este "limitado" lenguaje.

Tenemos una aplicacion de control de acceso armandose, para implementar en un mes. Nos trajeron la placa de ZKteco, una C3-100 con lector de tarjeta y conectada a rj.

La app de la placa funciona diez puntos, pero se nos complica tratar de conectarnos, o que nos "responda" desde delphi.

Las unidades estan agregadas, tambien la coneccion a la IP y puerto (al menos estan pasados por parametros)

Probamos una funcion que nos devuelve el status y nos responde "-1" JAJAJAJ.

Alguno ya probó como hacerlo conectar? con eso me conformo y puedo jugar.

La idea es que se valide en el momento el ingreso o egreso de tal persona con su tarjeta, y accione la barrera, automaticamente.

Se agradece cualquier info!

Casimiro Notevi
30-12-2018, 09:54:26
¿No tiene ningún manual de instrucciones?

Casimiro Notevi
30-12-2018, 12:33:15
No creo que tengas problema en conectar mediante puerto serie o rj45, que es el que trae según sus características:
Uno (http://www.zkteco-argentina.com/portfolio_page/c3-400/) y otro (https://www.zktecolatinoamerica.com/documentos/control-de-acceso/paneles/C3/C3.pdf).

Chuma87
30-12-2018, 21:55:23
Manual conseguimos, no se si sirve para este modelo, tambien la unidad, que adentro de esa unidad estan las funciones.

Conectar parece que conecta, pero cuando le tiramos el comando de devicestatus nos devuelve -1, asique no estaria entendiendo como hacerlo funcionar.

Tenemos estos manuales:
Development Manual for Communication Development Kit of ZK Offline Serial Products

ASeries of Standalone Products Communication SDK manual Version 6.12 2009-9-15

Pero tenemos los patys quemados-

Casimiro Notevi
30-12-2018, 22:34:28
Pues ahí están los parámetros para conectar, seguro.

Chuma87
30-12-2018, 23:03:09
Begin
iMachineNumber:= 1;
iGLCount:= 0;
// Leemos los eventos en tiempo real
zk1.RegEvent(1,65535);
//Limpiamos los registros
// lvItems.Items.Clear;
// Deshabilitamos temporalmente hasta que obtengamos la info
// zk1.EnableDevice(1,False);
// Leemos los datos en memoria
if ZK1.ReadGeneralLogData(1) then
begin
while zk1.GetGeneralLogData(iMachineNumber, sdwEnrollNumber, idwVerifyMode, idwInOutMode, idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond, idwWorkcode) do
begin
iGLCount:= iGLCount+1;
lvItems.Items.Add(IntToStr(iGLCount));
lvItems.Items.Add(IntToStr(sdwEnrollNumber));
lvItems.Items.Add(IntToStr(IdwVerifyMode));
lvItems.Items.Add(IntToStr(idwInOutMode));
lvItems.Items.Add(IntToStr(idwYear) + '-' + IntToStr(idwMonth) + '-' + IntToStr(idwDay) + ' ' + IntToStr(idwHour) + ':' + IntToStr(idwMinute) + ':' + IntToStr(idwSecond));
lvItems.Items.Add(IntToStr(idwWorkcode));
end;
end;

zk1.EnableDevice(1,true);



begin
// Conectamos el dispositivo
if ZK1.Connect_Net('192.168.3.201',4370) = true then
begin
Edit1.Text:= 'CONECTADO';
Edit1.Color:= clGreen;
Edit1.Repaint;
end
else
begin
Edit1.Text:= 'SIN CONEXIÓN';
Edit1.Color:= clRed;
Edit1.Repaint;
end;
end;

devolver true devuelve, pero, no lee un joraca