Operaciones con Etiquetas RFID ISO15693 mediante Plugin Web

Las etiquetas ISO15693 son un tipo común en sistemas RFID, con un alcance teórico de hasta 1 metro. A diferencia de los protocolos ISO14443A/B, que alcanzan solo 10 cm, estas etiquetas se usan frecuentemente en aplicaciones de inventario y seguimiento. Ejemplos incluyen chips como ICODE1 y ICODE2. A través de un plugin web para lectores RFID, es posible interactuar con estas etiquetas directamente desde el navegador usando JavaScript.

API del Plugin Web para Etiquetas ISO15693

El plugin proporciona diversas funciones para operar con etiquetas ISO15693. A continuación, se describen las interfaces principales.

Para buscar una etiqueta y obtener su identificador único (UID):


buscarEtiquetaISO15693()

No requiere parámetros.

Para leer bloques de datos de una etiqueta:


leerBloqueISO15693(bloqueInicio, cantidadBloques, formatoDatos)

Parámetros: bloqueInicio (número de bloque inicial), cantidadBloques (número de bloques a leer), formatoDatos (0 para cadena hexadecimal, 1 para cadena ASCII).

Para escribir datos en un bloque:


escribirBloqueISO15693(numeroBloque, datos, formatoDatos)

Parámetros: numeroBloque (bloque obejtivo), datos (cadena a escribir; el sistema ajustará la longitud según el bloque, rellenando con ceros si es necesario), formatoDatos (0 para hexadecimal, 1 para ASCII).

Otras funciones incluyen:

  • bloquearBloqueISO15693(bloque): Bloquea un bloque específico.
  • escribirAFIISO15693(valorAFI): Escribe el valor AFI (1 byte hexadecimal).
  • bloquearAFIISO15693(): Bloquea el campo AFI.
  • escribirDSFIDISO15693(valorDSFID): Escribe el valor DSFID (1 byte hexadecimal).
  • bloquearDSFIDISO15693(): Bloquea el campo DSFID.

Ejemplo de Inventario de Etiquetas ISO15693

Tras instalar el plugin, se puede iniciar una búsqueda de etiquetas. El código siguiente inicia el inventario con configuraciones específicas:


function iniciarDeteccion() {
    miLector.rfid.repetir = 1;
    miLector.rfid.detenerAlExito = 1;
    miLector.rfid.buscarEtiquetaISO15693();
}

Los resultados se manejan mediante una función de devolución de llamada:


miLector.rfid.onResultado(function(respuesta) {
    if (respuesta.identificadorFuncion === 2 && respuesta.estado > 0) {
        var uidEtiqueta = respuesta.datosCad;
    }
});

Ejemplo de Lectura y Escritura en Etiquetas ISO15693

La lectura de bloques requiere conocer la estructura de la etiqueta. Para leer el bloque 4:


function leerDatosBloque() {
    var bloqueObjetivo = 4;
    miLector.rfid.detenerAlExito = 0;
    miLector.rfid.leerBloqueISO15693(bloqueObjetivo, 1, 0);
}

El resultado se obtiene así:


miLector.rfid.onResultado(function(respuesta) {
    if (respuesta.identificadorFuncion === 37 && respuesta.estado > 0) {
        var tarjetaId = respuesta.numeroTarjeta;
        var datosBloque = respuesta.datosCad;
    } else {
        console.error("Error en la lectura");
    }
});

Para escribir datos en el bloque 4:


function guardarDatosBloque() {
    var bloqueObjetivo = 4;
    var datosAEnviar = "11223344";
    miLector.rfid.detenerAlExito = 0;
    miLector.rfid.escribirBloqueISO15693(bloqueObjetivo, datosAEnviar, 0);
}

La confirmación de escritrua se recibe así:


miLector.rfid.onResultado(function(respuesta) {
    if (respuesta.identificadorFuncion === 38 && respuesta.estado > 0) {
        var tarjetaId = respuesta.numeroTarjeta;
        alert("Escritura completada");
    } else {
        console.error("Error en la escritura");
    }
});

Etiquetas: RFID ISO15693 JavaScript Web Plugins Lectores IC

Publicado el 6-6 17:13