Villagra 70, Providencia, Santiago, CHILE

Los equipos de control de acceso y asistencia de la marca ZKTeco permiten ser integrados a cualquier sistema gracias a las diferentes modalidades de conexión que proporciona el fabricante:

  • SDK Standalone
  • SDK para equipos PULL
  • API de ZKBioSecurity
  • Protocolo PUSH

SDK Standalone

Un SDK (Software Development Kit - Kit de Desarrollo de Software) es un conjunto de  bibliotecas de enlace dinámico que permite establecer la conexión y realizar operaciones con los equipos ZKTeco Standalone, como el iClock 360, LP800, F18, F19, etc. 

Las bibliotecas de enlace dinámico que se utilizan para manipular los equipos Standalone son las siguientes:

  • commpro.dll
  • comms.dll
  • rscagent.dll
  • rscomm.dll
  • tcpcomm.dll
  • usbcomm.dll
  • usbstd.dll
  • zkemkeeper.dll
  • zkemsdk.dll

Los equipos standalone permiten conectarse usando TCP/IP, USB o conexión serial RS-232. Por ejemplo, para establecer la conexión TCP/IP a la IP por defecto 192.168.1.201 y al puerto 4370, se debe proceder del siguiente modo:

zkemkeeper.CZKEM zk = new zkemkeeper.CZKEM();
bool isConnected = zk.Connect_Net("192.168.1.201", 4370);

SDK para equipos PULL

El procolo PULL es un protocolo que funciona similar a la forma de operación del SDK Standalone. Por tal motivo, se suele llamar al protocolo PULL como hermano del protocolo Standalone, y al descargar las bibliotecas de enlace dinámico, se incluyen las del Standalone y el PULL en un mismo paquete de software.

Las bibliotecas de enlace dinámico que implementan el protocolo PULL son las siguientes:

  • plcommpro.dll
  • plcomms.dll
  • plrscagent.dll
  • plrscomm.dll
  • pltcpcomm.dll
  • plusbcomm.dll

La característica principal de este protocolo es que la comunicación la comienza el servidor que contiene la aplicación que utiliza el SDK, según se muestra en el siguiente esquema:

PULL 

Para realizar la conexión con un equipo PULL se debe invocar la siguiente función de la biblioteca del SDK:

[DllImport("plcommpro.dll", EntryPoint = "Connect")]
public static extern IntPtr Connect(string Parameters);
 
string parameters = $"protocol=TCP,ipaddress=192.168.1.201,port=4370,timeout=5000,passwd=";
IntPtr handle = Methods.Connect(parameters);

 API de ZKBioSecurity

Las API (Application Proramming Interfaces - interfaces de Programación de Aplicación) son llamadas a la plataforma Web BioSecurity desarrollada por ZKTeco para controlar la operación de los equipos que funcionan mediante el protocolo PUSH y que incorporan la función ADMS.

Al instalar el software ZKBioSecurity y licenciarlo, se podrá conectar a su interfaz mediante cualquier navegador Web por medio del puerto por defecto 9098, sin embargo, al momento de la instalación, se puede especificar otro puerto o utilizar el puerto  HTTP por defecto, que es el 80.

Proporciona una serie de funciones que permiten controlar tanto equipos de control de acceso como de control de asistencia de modo de abstraer al desarrollador o integrador de todo lo que conlleva la comunicación con los equipos y pueda desarrollar sus soluciones de manera transparente al hardware utilizado.

En estos casos, las llamadas a las funciones actúan sobre la base de datos propia de la plataforma Web. Lo que ocurre luego para que la información sea transmitida a los equipos, no es algo por la que el programador se deba preocupar.

Como un ejemplo, para obtener la lista de los niveles de acceso con lo cual se autorizan a las personas para acceder alguna puerta o torniquete, se puede emplear una llamada como la siguiente para invocar al punto de entrada api/accLevel/list:

public List<AccessLevel> GetAccessLevels(int pageNumber, int pageSize)
{
     var data = CallApi("api/accLevel/list", new Dictionary<string, string> {
                                                                              { "pageNo", pageNumber.ToString() },
                                                                              { "pageSize", pageSize.ToString() }
                                                                            }, "GET");
     if (data == null || data.data == null)
          return null;
 
     LastMessage = data.message;
 
     return ((JArray)data.data).ToObject<List>();
}

Protocolo PUSH

El protocolo PUSH es un protocolo de datos definido en base al protocolo de transmisión de hipertexto (HTTP) establecido por medio de una conexión TCP/IP. El protocolo PUSH aplicado al intercambio de datos entre un servidor y un dispositivo de asistencia ZKTeco o un dispositivo de control de acceso ZKTeco define los formatos de transmisión de datos (incluida la información del usuario, las plantillas de reconocimiento biológico y los registros de asistencia) y el formato de comandos para dispositivos de control. En la actualidad, el protocolo es compatible con WDMS, ZKECO, ZKNET, ZKTeco, ZKBioSecurity3.0 y otros servidores, así como servidores de terceros como ESSL de India.

La comunicación con equipos que implementan la función ADMS se realiza mediante el protocolo PUSH. La diferencia con respecto al protocolo PULL es que con el PUSH, el equipo es quien inicia la comunicación y se comunica constantemente con la plataforma Web con la que está conectado.

Por cada requerimiento HTTP que un equipo ADMS realiza a la plataforma Web, recibe comandos en caso de existir alguno pendiente por transmitir.

El equipo periódicamente envía el siguiente requerimiento al servidor:

GET /iclock/getrequest?SN=${SerialNumber}

En caso que el servidor tenga algún comando pendiente de ser enviado, lo envía por cada uno de esos requerimientos. Esos comandos pueden ser: obtener usuarios, agregar o actualizar usuario, obtener transacciones, abrir puertas, etc.

El puerto de comunicación por defecto es el 8088 (TCP), sin embargo, éste se puede cambiar por el puertp Web estándar, 80.

El proceso de comunicación general se puede esquematizar del siguiente modo:

PUSH

Somos especialistas en todos los mecanismos de comunicación con equipos de la marca ZKTeco, para control de acceso o asistencia, así es que si necesita algún desarrollo personalizado utilizando estos equipos, alguna asesoría al respecto, o bien, necesita integrarlos con algún sistema que usted posea, como por ejemplo, algún ERP, WebControl, control de casinos, etc., no dude en ponerse en contacto con nosotros.

 

Solicitud de Información
Por favor, indíquenos si necesita que le envíemos una cotización, consultar respecto al producto, o bien, solicitar una demostración gratuita.
Por favor, ingrese su nombre.
Por favor, ingrese su e-mail.
Escriba su mensaje