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 |