Comando ICL
El comando ICL (Identification Code List) permite administrar la lista de códigos autorizados para sesiones de conductor. Soporta hasta 100 códigos alfanuméricos (00-99). Los códigos pueden ingresarse de forma manual, por iButton (Spider/Smart), RF433, Bluetooth o desde plataforma.
¿Para qué sirve?
- 📋 Gestionar usuarios autorizados (hasta 100 códigos)
- 🔑 Control de acceso a vehículos/maquinaria
- 👤 Identificar conductores por código específico
- 🎲 Generar códigos temporales aleatorios
- 🔄 Rotación de credenciales programable
Sintaxis
| Operación | Comando | Descripción |
|---|---|---|
| Cargar código | SICLpp código | Guarda código en posición pp |
| Agregar al final | SICL+ código | Agrega en primera posición libre |
| Consultar | QICLpp | Lee código en posición pp |
| Generar aleatorio | SICLpp #n | Genera código numérico de n dígitos (n en hex: 1-F) |
| Borrar uno | SICLpp* | Elimina código en posición pp |
| Borrar en uso | SICL*S | Elimina código de sesión activa |
| Borrar todos | SICL*55AA | Elimina toda la lista |
Respuesta consulta: RICLpp código
Parámetros
| Parámetro | Descripción | Rango |
|---|---|---|
pp | Posición en la lista | 00-99 |
código | Identificador del usuario | Hasta 16 caracteres |
#n | Longitud código aleatorio | 1-F (hex = 1-15 dígitos numéricos 0-9) |
Códigos con prefijo $ (ej: $CHOFER_001) no abren sesión automáticamente al ser detectados — requieren un comando SIC explícito. Códigos sin $ abren sesión automática al ser reconocidos por iButton/RF/BT.
Si no hay posiciones libres, SICL+ responde RICL*READY. Si SICL*S se ejecuta sin sesión activa, también responde RICL*READY sin borrar nada.
Señales ICL (Disparadores)
Cada posición tiene su propia señal que se dispara cuando el código almacenado en esa posición es validado al iniciar una sesión:
| Señal | Evento |
|---|---|
ICL00+ | Código en posición 00 validado (sesión iniciada con ese código) |
ICL01+ | Código en posición 01 validado |
| … | … |
ICL99+ | Código en posición 99 validado |
Las señales ICL son disparadores de tipo contador — se decrementan al leerse. Solo soportan flanco positivo (+). Esto permite saber exactamente qué conductor inició sesión y ejecutar reglas específicas por persona.
Ejemplos Básicos
Cargar códigos de conductores
>SICL00 $JUAN_PEREZ< // Posición 00
>SICL01 $MARIA_GOMEZ< // Posición 01
>SICL02 $CARLOS_DIAZ< // Posición 02Cargar iButton (ROM ID)
>SICL00 01234567890ABCDE<
>SICL01 FEDCBA9876543210<Agregar al final de la lista
>SICL+ $CHOFER_NUEVO< // Se agrega en primera posición libreConsultar código
>QICL00<
// Respuesta: RICL00 $JUAN_PEREZGenerar código aleatorio
>SICL05 #8< // Genera 8 dígitos numéricos aleatorios en posición 05
// Resultado ejemplo: RICL05 39482716Borrar código
>SICL02*< // Elimina código en posición 02Borrar toda la lista
>SICL*55AA< // ⚠️ Elimina TODOS los códigosOperaciones Avanzadas
Borrar código de sesión activa
>SICL*S< // Elimina el código que tiene sesión abiertaÚtil para revocar acceso inmediato:
>SRLA4E;TRG=IC00-;ACC={SICL*S}<Persistencia
Los códigos ICL se almacenan en memoria Flash y persisten después de reiniciar el dispositivo.
| Característica | Valor |
|---|---|
| Capacidad | 100 códigos (00-99) |
| Longitud máxima | 16 caracteres |
| Almacenamiento | Flash (no volátil) |
Compatibilidad
Ver También
- Comando IC - Gestión de sesiones
- Comando OW - Lectura iButton
- Comando CXRF - RF433
- Comando CXBTH - Bluetooth