Home > Dispositivos de Entrada

Dispositivos de Entrada

SiteKiosk soporta dispositivos de entrada de USB que envían datos vía emulación de teclado. Los datos se controlan mediante el SiteKiosk Object Model; una extensión propietaria de JavaScript que se puede utilizar en cualquier página HTML, y también en otros lenguajes de programación como C#.
Esta función se puede usar con varios dispositivos de entrada y sensores. Pueden ser RFID, tarjetas smart card or lectores de banda mágnética. Como ejemplo, esto permitiría a leer tarjetas de identificación de empleados para gestionar información personalizada desde las aplicaciones de Recursos Humanos (RRHH).
1. Gestión de los Dispositivos de Entrada
1.1 Añadir Dispositivo
Con el botón Añadir puede crear dispositivos a partir de una lista que se ejecutarán en modo de emulación de teclado en su entorno. Esto se puede conseguir en 3 pasos simples.
Primero, debe lanzar una entrada de datos desde el dispositivo que quiere usar. Esto se puede hacer, por ejemplo, pasando una tarjeta de banda magnética por la ranura de banda magnética de un lector de tarjetas.
Una vez que los datos de entrada se han reconocido, se mostrará la detección reconocida con éxito, y un carácter (así llamado), de parada.
Si no se ha reconocido ningún carácter de parada, tiene la posibilidad de permitir que el último carácter leído sea declarado como un carácter de parada mediante la correspondiente casilla de verificación.
Se puede utilizar un carácter de parada para marcar de forma explícita el final de una cadena leída por el dispositivo.
El área de información asociada al icono al posicionar el ratón sobre él mostrará el valor reconocido que requerirá. Por favor tenga en cuenta que los caracteres especiales que aparezcan en al configuración de SiteKiosk podrían no ser mostrados correctamente, sin embargo esta limitación no afecta a los datos que son leidos por la interfaz del dispositivo que funciona con SiteKiosk.
Como paso final, se debe asignar un nombre con el que se mostrará el dispositivo. Tabmién recibirá información sobre el ID del dispositivo detectado y el carácter seleccionado de parada. Si tiene varios dispositivos del mismo modelo de dispositivo para ser gestionado desde distintas máquinas, el valor Device ID debería mantenerse igual para que pueda utilizarse y distribuirse así la misma configuración de SiteKiosk en todos los kioscos que utilicen el dispositivo. Al pulsar el botón Terminar se creará una nueva entrada en el listado de dispositivos.
1.2 Borrar
Seleccione una entrada de la lista de dispositivos y pulse Borrar para quitar el dispositivo.
1.3 Lista de Dispositivos
La lista de dipositivos muestra todos aquellos que se han añadido. Se muestrarán los nombres de dispositivos asignados, el valor Device ID y el carácter de parada.
2. Ejemplos de Script para navegadores basados en IE y Chrome de SiteKiosk
Importante:
Asegúrese que en la configuración de SiteKiosk está permitida la ejecución de scripts de HTML en la página html donde se necesita ejecutar. Para ello, su página debe añadirse como una dirección permitida en el menú Acceso/Seguridad - URLs con permiso de script y marcarse con el permiso para ejecutar scripts.
El ejemplo en HTML se puede copiar y guardar como una página HTML con un editor. Esta página se puede salvar en el directorio HTML del directorio de instalación de SiteKiosk (ubicación recomendada). Después establezca esta página como página de arranque para probar y configurar al menos un dispositivo de entrada. Guarde la configuración y lance SiteKiosk. En la página de prueba, se puede definir un inspector (listener) para que el dispositivo configurado lea los datos desde el mismo y los muestre en la página.
El código de ejemplo puede modificarse y utilizarse en cualquier página Web para trabjar con los datos leidos desde el dispositivo.
2.1 Skins basados en Internet Explorer
El siguiente script de ejemplo es para skins de SiteKiosk basados en navegadores de IE.
Para llamar al script dentro de marcos, la línea window.external.InitScriptInterface(); en window.external.InitScriptInterface(document); se debe cambiar.
Usando el SiteKiosk Object Model y el método SiteKiosk.RootApp.registerForDeviceData es posible registar un inspector (listener) que espera una entrada de un dispositivo específico tras lo cual y lo habilita.
Para ello, utilice el siguiente método de SiteKiosk Object Model :

SiteKiosk.RootApp.registerForDeviceData(deviceName, callbackFunc)

deviceName = el nombre con el que se muestra el dispositivo en la configuración (String / Cadena)
callbackFunc = Nombre de la función a la que se llama tras la lectura de datos (String / Cadena)

La función callbackFunc tiene dos parámetros. Los datos que se han leído como una cadena y también el nombre del dispositivo del que se ha leído.

Ejemplo:
El siguiente ejemplo es una ´página HTML con una caja de texto que se encuentra en la configuración de SiteKiosk para activar el inspector (listener) para un nombre de dispositivo mediante un clic en un botón. Entonces lee los datos el dispositivo seleccionado que se muestra en la página. Por favor tenga presente que deberá proporcionar permisos para scripts a la URL que utiliza el código SiteKiosk Object model desde Acceso/Seguridad.

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Keyboard Emulation Device Test</title>
    	<script>
    		window.external.InitScriptInterface();

    		var callbackFunc = function (data, devicename) {
    			document.getElementById("text").innerHTML =
    			"Data received from device with the name: "
    			+ devicename + ". Data: " + data;
    		};

    		function registerDevice() {
    			var deviceName = document.
    			getElementById("devicename").value;

    			if(deviceName == "")
    				return document.
    				getElementById("foundDevice").
    				innerHTML = "The device name is empty!";

    			SiteKiosk.RootApp.
    			registerForDeviceData(deviceName, callbackFunc);

    			return document.getElementById("foundDevice").
    			innerHTML = "Registered device: " + deviceName;
    		}
    	</script>
    </head>
    	<body>
    		<h1>Test page for reading the input of keyboard
    		emulation devices configured in the configuration
    		of SiteKiosk</h1>
    		<div>
    			Listen to input from this device that has been
    			configured in SiteKiosk:
    			<input id="devicename" tpye="text" />
    			(state the device name)
    			<button onclick="registerDevice()">
    			Register the listener</button>
    		</div>
    		<span id="foundDevice"></span>
    		<div>
    			Data that has been received:
    			<span id="text">Waiting for data...</span>
    		</div>
    	</body>
    </html>

2.2 Skins basados en Chrome
El siguiente ejemplo de script is para navegadores basados en chrome de SiteKiosk.
Para inicializar la versión de SiteKiosk Object Model para chrome se debe llamar a la siguiente línea:

<script>(new Function(_siteKiosk.getSiteKioskObjectModelCode()))();</script>

Esto incluye las funciones de script requeridas. Entonces con la función siteKiosk.devices.getAll obtendremos una lista de todos los dispositivos registrados en la configuración de SiteKiosk que se pueden cargar.

siteKiosk.devices.getAll()

La función devuelve un valor JSON con todos los dispositivos.
Para configurar un inspector (listener) para un único dispositivo se puede usar la función: siteKiosk.devices.getByName.

siteKiosk.devices.getByName(deviceName)

deviceName = El nombre del dispositivo en la configuración de SiteKiosk (String/Cadena)

La función devuelve un objeto que representa el correspondiente dispositivo. Utilizando la función valueChanged asociada a este objeto el inspector (listener) se puede registrar.

siteKiosk.devices.getByName(deviceName).valueChanged(callbackFunc)

callbackFunc = Nombre de la función que se ha llamado después de leer los datos (String / Cadena)
La función callbackFunc-Funktion tiene dos parámetros. Los datos que se han leído como una cadena y también el nombre del dispositivo del cual se han leído los datos. Ejemplo:
El siguiente ejemplo es una página HTML con un cuadro de texto que se utiliza en la configuración de SiteKiosk para activar el inspector (listener) para un nombre de dispositivo mediante un botón para presionar con un clic. Entonces lee datos en el dispositivo seleccionado los cuales se mostrarán en la página. Por favor tenga presente que necesita habilitar los permisos para ejecutar scripts en Acceso/Seguridad a la URL que utiliza el código de SiteKiosk Object Model.

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Keyboard Emulation Device Test</title>
    	<script>(new Function(_siteKiosk.getSiteKioskObjectModelCode()))();</script>
    	<script>
    		var callbackFunc = function (data, deviceName) {
    			document.getElementById("text").innerHTML =
    			deviceName + " - " + data;
    		};

    		function GetDevices() {
    			var devices = siteKiosk.devices.getAll();
    			document.getElementById("devices").innerHTML =
    			JSON.stringify(devices);
    		}

    		function registerDevice() {
    			var deviceName = document.getElementById("devicename").
    			value;

    			if(deviceName == "")
    				return document.getElementById("foundDevice").
    				innerHTML = "No device found!";

    			var device = siteKiosk.devices.getByName(deviceName);

    			if(device == null)
    				return document.getElementById("foundDevice").
    				innerHTML = "No device found!";

    			device.valueChanged(callbackFunc);

    			return document.getElementById("foundDevice").
    			innerHTML = "Registered device: " +
    			JSON.stringify(device);
    		}
    	</script>
    </head>
    	<body onload="GetDevices();">
    		<h1>Test page for reading the input of keyboard emulation
    		devices configured in the configuration of SiteKiosk</h1>
    		<div>Available devices:
    		<span id="devices"></span></div>
    		<div>
    			Listen to input from this device that has been
    			configured in SiteKiosk:
    			<input id="devicename" tpye="text" />
    			(state the device name) <button
    			onclick="registerDevice()">Register the
    			listener</button>
    		</div>
    		<span id="foundDevice"></span>
    		<div>Data that has been received: <span
    		id="text"></span></div>
    	</body>
    </html>

Volver arriba