Comando ZONES — Download de Geocercas
Baixa para o equipamento um arquivo binário de geocercas (zones) via HTTP e gerencia o slot carregado. O download é assíncrono: o comando retorna imediatamente e o resultado final chega quando termina.
Para que serve?
🗺️ Casos de uso principais:
- ⬇️ Provisionar o equipamento com um conjunto de geocercas hospedado num servidor (HTTP GET)
- 🔄 Atualizar as geocercas de forma remota sem reconfigurar ponto a ponto
- ⏹️ Cancelar um download em curso se foi lançado por engano ou o arquivo mudou
- 🗑️ Apagar o slot de geocercas carregado no equipamento
- 🔍 Consultar se há geocercas carregadas, sua versão, CRC e tamanho
O módulo de armazenamento de geocercas deve estar habilitado no equipamento. Se não estiver, SZONES responde RZONES,ERR,mode_off e QZONES responde RZONES,DISABLED.
Comandos
| Operação | Sintaxe | Resposta imediata |
|---|---|---|
| Baixar | SZONES"url" | RZONES,START |
| Cancelar download | SZONESC | RZONESC |
| Apagar slot | SZONESD | RZONESD |
| Consultar estado | QZONES | RZONES,LOADED|EMPTY|DISABLED |
Download (SZONES)
A URL deve ir entre aspas. Aceita um prefixo opcional para forçar o canal:
| Prefixo | Canal |
|---|---|
| (sem prefixo) | WiFi com fallback para modem |
W: | Força WiFi |
M: | Força modem |
>SZONES"http://host/zones.bin"<
>RZONES,START<O download roda numa tarefa separada, de modo que o parser fica livre para processar outros comandos (por exemplo SZONESC para cancelar pela mesma via). Ao terminar, o equipamento emite o resultado final:
| Resultado | Descrição |
|---|---|
RZONES,OK,ver=…,crc=0x…,elem=…,size=… | Download válido, geocercas carregadas |
RZONES,CANCELED | Cancelado pelo usuário (SZONESC) |
RZONES,ERR,<motivo> | Erro durante o download |
>SZONES"http://host/zones.bin"<
>RZONES,START<
// ... download em curso ...
>RZONES,OK,ver=3,crc=0x1A2B3C4D,elem=25,size=8192<Erros de início
| Resposta | Causa |
|---|---|
RZONES,ERR,mode_off | O módulo de geocercas não está habilitado |
RZONES,ERR,bad_url_format | A URL não está corretamente entre aspas |
RZONES,ERR,busy_or_nomem | Já há um download em curso ou não há memória |
Cancelar download (SZONESC)
Cancela o download em curso. É idempotente: se não houver download ativo, não faz nada.
>SZONESC<
>RZONESC<Ao cancelar, a partição pode ficar com dados parciais; no próximo recarregamento o CRC falha e não é carregado. O próximo SZONES"…" começa limpo.
Apagar slot (SZONESD)
Descarrega e apaga o slot de geocercas do equipamento. É o alias limpo do comando legacy SZONES**D (mantido por compatibilidade retroativa).
>SZONESD<
>RZONESD<
>SZONES**D< // legacy equivalente
>RZONES**D<Consultar estado (QZONES)
>QZONES<
>RZONES,LOADED,ver=3,crc=0x1A2B3C4D,elem=25,size=8192<| Resposta | Significado |
|---|---|
RZONES,LOADED,ver=…,crc=0x…,elem=…,size=… | Há geocercas carregadas |
RZONES,EMPTY | Módulo habilitado, sem geocercas carregadas |
RZONES,DISABLED | Módulo de geocercas desabilitado |
| Campo | Descrição |
|---|---|
| ver | Versão do arquivo de geocercas |
| crc | CRC do arquivo (hexadecimal) |
| elem | Quantidade de elementos (geocercas) |
| size | Tamanho do arquivo em bytes |
Reservar memória para geocercas (SZMODE / SZFRAC)
As geocercas e o registro interno compartilham a mesma memória. Habilitar geocercas significa separar uma porção para elas, e essa porção deixa de estar disponível para o registro.
>QZMODE< → RZMODE,1,8,43008,6144
│ │ │ └── setores para geocercas
│ │ └──────── setores que sobram para o registro
│ └──────────── porção reservada (um oitavo)
└────────────── habilitadoEscolher a porção
>SZFRAC8< → RZFRAC8Valores aceitos: 2, 4, 8 ou 16. O número indica em quantas partes a memória é dividida para separar uma: 8 reserva um oitavo.
A mudança não se aplica sozinha: tem efeito na próxima vez que o modo de geocercas for habilitado.
Habilitar ou desabilitar
>SZMODE1< → RZMODE1 REBOOT (se o modo mudou: habilita geocercas e reinicia)
>SZMODE0< → RZMODE0 REBOOT (se o modo mudou: desabilita e reinicia)
>SZMODE1< → RZMODE1 (se já estava no modo 1: não faz nada, não reinicia)Reinicia o equipamento apenas se o modo efetivamente mudar. Alterar este modo reorganiza como a memória é repartida, então o equipamento reinicia para aplicá-lo. Se for solicitado o mesmo modo que já está configurado, o equipamento responde sem reiniciar nem alterar nada. Se houver registros não enviados e o modo realmente mudar, o comando se recusa e responde que o registro não está vazio: é preciso esperar que sejam enviados.
Se ainda assim for necessário alterar, o sufixo F força a operação — dando os registros pendentes por perdidos. Use apenas quando esses dados não importarem.
Ao desabilitar geocercas, a memória separada volta para o registro interno, que recupera sua capacidade completa.