Comando ZONES — Descarga de Geocercas
Descarga hacia el equipo un archivo binario de geocercas (zones) por HTTP y gestiona el slot cargado. La descarga es asíncrona: el comando retorna de inmediato y el resultado final llega cuando termina.
¿Para qué sirve?
🗺️ Casos de uso principales:
- ⬇️ Provisionar el equipo con un set de geocercas alojado en un servidor (HTTP GET)
- 🔄 Actualizar las geocercas de forma remota sin reconfigurar punto por punto
- ⏹️ Cancelar una descarga en curso si se lanzó por error o cambió el archivo
- 🗑️ Borrar el slot de geocercas cargado en el equipo
- 🔍 Consultar si hay geocercas cargadas, su versión, CRC y tamaño
El módulo de almacenamiento de geocercas debe estar habilitado en el equipo. Si no lo está, SZONES responde RZONES,ERR,mode_off y QZONES responde RZONES,DISABLED.
Comandos
| Operación | Sintaxis | Respuesta inmediata |
|---|---|---|
| Descargar | SZONES"url" | RZONES,START |
| Cancelar descarga | SZONESC | RZONESC |
| Borrar slot | SZONESD | RZONESD |
| Consultar estado | QZONES | RZONES,LOADED|EMPTY|DISABLED |
Descarga (SZONES)
La URL debe ir entre comillas. Admite un prefijo opcional para forzar el canal:
| Prefijo | Canal |
|---|---|
| (sin prefijo) | WiFi con fallback a modem |
W: | Fuerza WiFi |
M: | Fuerza modem |
>SZONES"http://host/zones.bin"<
>RZONES,START<La descarga corre en una tarea separada, de modo que el parser queda libre para procesar otros comandos (por ejemplo SZONESC para cancelar por la misma vía). Al terminar, el equipo emite el resultado final:
| Resultado | Descripción |
|---|---|
RZONES,OK,ver=…,crc=0x…,elem=…,size=… | Descarga válida, geocercas cargadas |
RZONES,CANCELED | Cancelada por el usuario (SZONESC) |
RZONES,ERR,<motivo> | Error durante la descarga |
>SZONES"http://host/zones.bin"<
>RZONES,START<
// ... descarga en curso ...
>RZONES,OK,ver=3,crc=0x1A2B3C4D,elem=25,size=8192<Errores de inicio
| Respuesta | Causa |
|---|---|
RZONES,ERR,mode_off | El módulo de geocercas no está habilitado |
RZONES,ERR,bad_url_format | La URL no está correctamente entre comillas |
RZONES,ERR,busy_or_nomem | Ya hay una descarga en curso o no hay memoria |
Cancelar descarga (SZONESC)
Cancela la descarga en curso. Es idempotente: si no hay descarga activa, no hace nada.
>SZONESC<
>RZONESC<Al cancelar, la partición puede quedar con datos parciales; en la próxima recarga el CRC falla y no se carga. El siguiente SZONES"…" arranca limpio.
Borrar slot (SZONESD)
Descarga y borra el slot de geocercas del equipo. Es el alias limpio del comando legacy SZONES**D (que se mantiene por compatibilidad hacia atrás).
>SZONESD<
>RZONESD<
>SZONES**D< // legacy equivalente
>RZONES**D<Consultar estado (QZONES)
>QZONES<
>RZONES,LOADED,ver=3,crc=0x1A2B3C4D,elem=25,size=8192<| Respuesta | Significado |
|---|---|
RZONES,LOADED,ver=…,crc=0x…,elem=…,size=… | Hay geocercas cargadas |
RZONES,EMPTY | Módulo habilitado, sin geocercas cargadas |
RZONES,DISABLED | Módulo de geocercas deshabilitado |
| Campo | Descripción |
|---|---|
| ver | Versión del archivo de geocercas |
| crc | CRC del archivo (hexadecimal) |
| elem | Cantidad de elementos (geocercas) |
| size | Tamaño del archivo en bytes |
Reservar memoria para geocercas (SZMODE / SZFRAC)
Las geocercas y el registro interno comparten la misma memoria. Habilitar geocercas significa apartar una porción para ellas, y esa porción deja de estar disponible para el registro.
>QZMODE< → RZMODE,1,8,43008,6144
│ │ │ └── sectores para geocercas
│ │ └──────── sectores que quedan para el registro
│ └──────────── porción reservada (un octavo)
└────────────── habilitadoElegir la porción
>SZFRAC8< → RZFRAC8Valores admitidos: 2, 4, 8 o 16. El número indica en cuántas partes se divide la memoria para apartar una: 8 reserva un octavo.
El cambio no se aplica solo: toma efecto la próxima vez que se habilite el modo de geocercas.
Habilitar o deshabilitar
>SZMODE1< → RZMODE1 REBOOT (si el modo cambió: habilita geocercas y reinicia)
>SZMODE0< → RZMODE0 REBOOT (si el modo cambió: deshabilita y reinicia)
>SZMODE1< → RZMODE1 (si ya estaba en modo 1: no hace nada, no reinicia)Reinicia el equipo solo si el modo efectivamente cambia. Cambiar este modo reorganiza cómo se reparte la memoria, así que el equipo se reinicia para aplicarlo. Si se pide el mismo modo que ya está configurado, el equipo responde sin reiniciar ni tocar nada. Si quedan registros sin enviar y el modo sí cambia, el comando se niega y responde que el registro no está vacío: hay que esperar a que se envíen.
Si aun así hace falta cambiarlo, el sufijo F fuerza la operación — dando por perdidos los registros pendientes. Sólo usarlo cuando esos datos no importen.
Al deshabilitar geocercas, la memoria apartada vuelve al registro interno, que recupera su capacidad completa.