protocoloGuaritaIP A113 Rev4e
protocoloGuaritaIP A113 Rev4e
protocoloGuaritaIP A113 Rev4e
Informaes Iniciais
Cada comando do protocolo formado por uma sequncia de bytes (frame ), e cada byte tem sua
O Guarita IP possui diversas interfaces para comunicao com computadores ou hardwares interpretao. A funo do integrador enviar esse frame ao Guarita (utilizando a biblioteca de
dedicados, permitindo a execuo de comandos sem a necessidade de operar diretamente o comunicao serial ou TCP/IP adequada linguagem de programao adotada) e aguardar uma
equipamento. Essas interfaces so divididas da seguinte forma: resposta, para ento interpret-la e exibi-la de forma correta para o usurio final. Caso o frame
enviado ao Guarita seja incorreto, o mesmo no responder, cabendo ao programador lidar com
essa situao, implementando timeout , por exemplo.
:: Principal (Porta 1) ::
Para garantir a integridade do frame, o ltimo byte ser um checksum , indicado neste protocolo
-USB, como emulador de Porta Serial (COM Virtual)
sempre por <cs>, e corresponde a soma simples dos bytes anteriores do frame. Esse byte, em
Baudrate: 9600, 19200 ou 115200 bps
hexadecimal, assume valor mximo igual a 0xFF. Logo, se a soma exceder esse valor, deve-se
Sem paridade, 8 bits de dado por byte, 1 bit de parada
considerar apenas os dois nibbles menos significativos do byte. Exemplo: a soma de certos bytes
resultou em 0x0145, logo o byte <cs> ser apenas 0x45.
-TCP, em Modo Server
Porta Padro: 9000
-Serial, RS-232 (Conector Molex 3 vias) Byte --> Hexadecimal (2 dgitos) --> Exemplos: 0x01, 0x10, 0x0A, 0xDC, 0xFF
Baudrate: determinado pela Porta 1 Nibble HIGH (Alto) --> Primeiro dgito do Byte -- Exemplos: 0x01, 0xDC, 0xF4
Sem paridade, 8 bits de dado por byte, 1 bit de parada Nibble LOW (Baixo) --> Segundo dgito do Byte -- Exemplos: 0x01, 0xDC, 0xF4
Bits --> Binrio (8 dgitos) --> bit0 = dgito mais a direita, bit7 = dgito mais a esquerda
-TCP, em Modo Server ou Modo Client BCD --> (Binary Coded Decimal) uma forma de codificao onde cada dgito de um decimal
Porta Server Padro: 9001 convertido para 4 dgitos binrio. Em outras palavras, a apresentao de um valor hexadecimal
igual a apresentao de um valor decimal. Exemplos:
-UDP, com resposta em Broadcast 0x10 (BCD) = 10 (decimal); 0x23 (BCD) = 23 (decimal); 0x59 (BCD) = 59 (decimal)
Porta Padro: 9003
1 Escrever identificao (Linha 2 - Display) 0x00 + 0x01 + <20 caracteres ASCII ('')> + <cs> 0x00 + 0x01 + <cs>
2 Escrever identificao (Linha 3 - Display) 0x00 + 0x02 + <20 caracteres ASCII ('')> + <cs> 0x00 + 0x02 + <cs>
3 Ler identificao (Linha 2 e 3 - Display) 0x00 + 0x03 + <cs> 0x00 + 0x03 + <linha 2 - 20 carac. ASCII ('')> + <linha 3 - 20 carac. ASCII ('')> + <cs>
4 Envio automtico de evento - 0x00 + 0x04 + <cont_at> + <frame de evt. (16 bytes)> + <cs>
<cont_at> = Contador de Atualizaes (Guarita <-> Receptores)
5 Ler evento mais atual, com apagamento automtico 0x00 + 0x05 + <cs> 0x00 + 0x05 + <frame de evt. (16 bytes)> + <cs>
6 Ler quantidade de eventos na memria 0x00 + 0x06 + <marca> + <cs> 0x00 + 0x06 + <marca> + <quant_high> + <quant_low> + <cs>
<marca> = 0x00 --> No lidos / 0x01 --> Lidos / 0x02 --> Todos
7 Ler quantidade de dispositivos na memria 0x00 + 0x07 + <cs> 0x00 + 0x07 + <quant_high> + <quant_low> + <cs>
9 Escrever programao do Guarita 0x00 + 0x09 + <frameSetup1 (32 bytes)> + <cs> 0x00 + 0x09 + <cs>
10 Ler programao do Guarita 0x00 + 0x0A + <cs> 0x00 + 0x0A + <frameSetup1 (32 bytes)> + <cs>
11 Escrever data e hora (Relgio) 0x00 + 0x0B + <dia> + <ms> + <ano> + <hora> + <min.> + <seg.> + <cs> 0x00 + 0x0B + <cs>
Em destaque: bytes no formato BCD
12 Ler data e hora (Relgio) 0x00 + 0x0C + <cs> 0x00 + 0x0C + <dia> + <ms> + <ano> + <hora> + <min.> + <seg.> + <cs>
Em destaque: bytes no formato BCD
13 Acionar sada (Rels dos Receptores) 0x00 + 0x0D + <tipo_disp> + <num_disp> + <num_saida> + <gera_evt> + <cs> -
<gera_evt> = 0x00 --> No gera evento / 0x01 --> Gera evento
14 Ler labels de veculo (32 labels) - PONTEIRO 0x00 + 0x0E + <ponteiro> + <cs> 0x00 + 0x0E + <ponteiro> + <13 caracteres ASCII ('')> + <cs>
<ponteiro> = 0x20 a 0x3F (32 a 63)
15 Escrever labels de veculo (32 labels) - PONTEIRO 0x00 + 0x0F + <ponteiro> + <13 caracteres ASCII ('')> + <cs> 0x00 + 0x0F + <cs>
<ponteiro> = 0x20 a 0x3F (32 a 63)
16 Marcar evento automtico como lido 0x00 + 0x10 + <quant_high> + <quant_low> + <cs> 0x00 + 0x10 + <cs>
<quant_high> + <quant_low> = 0x00 + 0x01 a 0x20 + 0x00 (1 a 8192)
17 Ler eventos - PROGRESSIVO 0x00 + 0x11 + <marca> + <cs> 0x00 + 0x11 + <marca> + <frame de evt. (16 bytes)> + <cs>
<marca> = 0x00 --> No lidos / 0x01 --> Lidos / 0x02 --> Todos Aps resposta, o Guarita aguarda duas perguntas possveis (c/ 5s de timeout):
0x00 --> OK, enviar prximo frame, se houver
0xFF --> Erro, repita o envio do frame atual
18 Reiniciar Guarita (Efetiva Config. Ethernet) 0x00 + 0x12 + <cs> *Sem resposta (eventoTipo 2 indica que o Guarita foi reiniciado)
19 Apagar dispositivo (TODOS na unidade) 0x00 + 0x13 + <unid_h> + <unid_l> + <bloco> + <tipo_disp> + <cs> 0x00 + 0x13 + <resposta> + <cs>
<resposta> = 0x00 --> OK / 0x01 --> No encontrado
20 Apagar dispositivo especfico 0x00 + 0x14 + <tipo_disp> + 0x00 + <serial_3> + <serial_2> + <serial_1> + <serial_0> + <cs> 0x00 + 0x14 + <resposta> + <cs>
<serial_3 - nibble HIGH> = 0 <resposta> = 0x00 --> OK / 0x03 --> No encontrado
<serial_3 - nibble LOW> = apenas para <tipo_disp> = 0x01 (RF), demais considerar igual a 0
21 Escrever labels (186 labels) - PONTEIRO 0x00 + 0x15 + 0x00 + <num_low> + <8 caracteres ASCII ('')> + <cs> 0x00 + 0x15 + <cs>
<num_low> = 0x01 a 0xBA (1 a 186)
22 Ler labels (186 labels) - PONTEIRO 0x00 + 0x16 + 0x00 + <num_low> + <cs> 0x00 + 0x16 + <8 caracteres ASCII ('')> + <cs>
<num_low> = 0x01 a 0xBA (1 a 186)
Comando Descrio Pergunta do PC (sequncia de bytes - hexadecimal) Resposta do Guarita IP (sequncia de bytes - hexadecimal) A partir da verso
23 Apagar evento mais recente 0x00 + 0x17 + <cs> 0x00 + 0x17 + <cs>
24 RESET remoto (Tecla RESET do Guarita) 0x00 + 0x18 + <cs> 0x00 + 0x18 + <cs>
25 Envio automtico de dados do Teclado de Acesso (Senha) - 0x00 + 0x19 + <tipo_disp> + <info_disp> + <unidade (2 bytes)> + <senha (3 bytes)> +
<dia> + <ms> + <ano> + <hora> + <min.> + <seg.> + <cs>
<info_disp - nibble HIGH> = 0 a 3 --> Leitora 1 a 4
<info_disp - nibble LOW> = <num_disp>
Em destaque: bytes no formato BCD
26 Ler Labels de veculo (416 bytes) - PACOTE 0x00 + 0x1A + <cs> 0x00 + 0x1A + [32 x <13 caracteres ASCII ('')>] + <cs>
27 Escrever Labels de veculo (416 bytes) - PACOTE 0x00 + 0x1B + [32 x <13 caracteres ASCII ('')>] + <cs> 0x00 + 0x1B + <cs>
28 Ler MAC Address (Ethernet) 0x00 + 0x1C + 0x00 + <cs> 0x00 + 0x1C + 0x00 + <macAddress (6 bytes)> + <cs>
30 *RESERVADO*
31 Ler eventos (1075 bytes) - PACOTE 0x00 + 0x1F + <cs> 0x00 + 0x1F + [67 x <frame de evt. (16 bytes)>] + <cs>
Aps resposta, o Guarita aguarda duas perguntas possveis (c/ 15s de timeout):
0x00 --> OK, enviar prximo pacote
0xFF --> Erro, repita o envio do pacote atual
32 Envio automtico dos dados do disp. - 0x00 + 0x20 + <operacao> + <tipo_disp> + <serial_3> + <serial_2> +
cadastrado/editado/apagado (Porta 2 apenas) <serial_1> + <serial_0> + <unid_h> + <unid_l> + <cs>
<operacao> = 0x00 --> Cadastrado / 0x01 --> Editado / 0x02 --> Apagado
33 Envio automtico de eventos - PACOTE - 0x00 + 0x21 + [Y x <frame de evt. (16 byte)>] + <cs>
Onde Y depende da configurao de envio do Guarita (Menu A10 - Tempo EVTs):
- Quantidade mxima eventos: 67
- Tempo mximo: 99 minutos
34 Ler labels (1075 bytes) - PACOTE 0x00 + 0x22 + <cs> 0x00 + 0x22 + [134 x <8 caracteres ASCII ('')>] + <cs>
Aps resposta, o Guarita aguarda duas perguntas possveis (c/ 15s de timeout):
0x00 --> OK, enviar prximo pacote
0xFF --> Erro, repita o envio do pacote atual
35 Ativar modo remoto (RECEPTORES) - 90 segundos 0x00 + 0x23 + <tipo_disp> + <num_disp> + <cs> -
Para ativar TODOS ao mesmo tempo, <tipo_dip> = 0xFF e <num_disp> = 0xFF
36 Escrever programao AVANADA II 0x00 + 0x24 + <frameSetup3 (384 bytes)> + <cs> 0x00 + 0x24 + <cs>
37 Ler programao AVANADA II 0x00 + 0x25 + <cs> 0x00 + 0x25 + <frameSetup3 (384 bytes)> + <cs>
38 Ler verso do Guarita (Firmware) 0x00 + 0x26 + <cs> 0x00 + 0x26 + <versao1> + <versao2> + <release> + <build1> + <build2> + <cs>
Em destaque: bytes no formato ASCII
39 Ativar modo remoto (RECEPTORES) - Programvel 0x00 + 0x27 + <tipo_disp> + <num_disp> + <tempo> + <cs> -
<tempo> = 0x00 a 0xFF (0 a 255 segundos)
Para ativar TODOS ao mesmo tempo, <tipo_dip> = 0xFF e <num_disp> = 0xFF
40 Envio automtico de evento - PONTEIRO - 0x00 + 0x28 + <end_pont_h> + <end_pont_l> + <cont_at> + <frame de evt. (16 bytes)> + <cs>
<end_pont_h> + <end_pont_l> = 0x00 + 0x00 a 0x1F + 0xFF (0 a 8191)
<cont_at> = Contador de Atualizaes (Guarita <-> Receptores)
41 *RESERVADO*
Comando Descrio Pergunta do PC (sequncia de bytes - hexadecimal) Resposta do Guarita IP (sequncia de bytes - hexadecimal) A partir da verso
42 Dispositivo no cadastrado (Guarita) Chave do Guarita na posio Prog. 0x00 + 0x2A + <tipo_disp> + <serial_3> + <serial_2> + <serial_1> + <serial_0> + <conta_h> +
<conta_l> + <flag> + <cs>
<flag> = bit 3 --> Bateria (0 = Boa, 1 = Fraca) / bits 2..0 --> Reservado (igual a 1)
44 *RESERVADO*
45 Ler arquivos do SD Card Interno - PROGRESSIVO 0x00 + 0x2D + <index> + <ano> + <ms> + <dia> + <hora> + <min> + <seg> + <cs> 0x00 + 0x2D + <index> + <linha_arq> + <cs>
<index> = 0x10 --> INDEX.TXT / 0x11 --> DISP.DPT / 0x12 --> EVENT.EVT / <linha_arq> = 0x00 --> SD no conectado / 0x01 --> Pasta no encontrada /
0x13 --> SETUP.STP / 0x16--> SETUP2.SP2 / 0x17 --> SETUP3.SP3 / 0x02 --> Arquivo corrompido
0x18 --> BIOTEMP.CTB Aps resposta, o Guarita aguarda uma pergunta possvel (c/ 5s timeout):
Em destaque: bytes no formato BCD 0x00 --> Envia prxima linha (encerrar ao receber <linha_arq> = 0xFF..0xFF)
46 Dispositivo no cadastrado (Receptor) - 0x00 + 0x2E + <tipo_disp> + <num_disp> + 0x00 + <serial_2> + <serial_1> + <serial_0>
(Exceo: Controle Remoto) <flags> + <cs>
<flags> = bits 2..0 --> Leitora (0..3 = L1 a L4)
47 Travar Chave Prog. 0x00 + 0x2F + <opcao> + <cs> 0x00 + 0x2F + <opcao> + <cs>
<opcao> = 0x00 --> Destravar / 0x01 --> Travar
48 *RESERVADO*
49 *RESERVADO
50 Ler/Marcar evento especfico - PONTEIRO 0x00 + 0x32 + <operacao> + <end_pont_h> + <end_pont_l> + <cs> 0x00 + 0x32 + <retorno> + <operacao> + <end_pont_h> + <end_pont_l> + <frame de evt. (16 bytes)> + <cs>
<operacao> = 0x00 --> Ler / 0x01 --> Marcar como lido / <retorno> = 0x00 --> OK / 0xFF --> Erro
0x02 --> Ler ltimo "no lido" (ignora "end_pont")
<end_pont_h> + <end_pont_l> = 0x00 + 0x00 a 0x1F + 0xFF (0 a 8191)
51 Alterar comando de evento automtico 0x00 + 0x33 + <operacao> + <cs> 0x00 + 0x33 + <operacao> + <cs>
<operacao> = 0x00 --> Comando 4 / 0x01 --> Comando 40
52 Ler dispositivos com ndice (1019 bytes) - PACOTE 0x00 + 0x34 + <end_pont_h> + <end_pont_l> + <cs> 0x00 + 0x34 + [26 x <frame de disp. (39 bytes)>] + <end_pont_h> + <end_pont_l> + <cs>
<end_pont_h> + <end_pont_l> = 0x00 + 0x00 a 0x01 + 0xCD (0 a 461)
53 Escrever programao AVANADA 0x00 + 0x35 + <frameSetup1 (32 bytes)> + <frameSetup2 (352 bytes)> + <cs> 0x00 + 0x35 + <cs>
54 Ler programao AVANADA 0x00 + 0x36 + <cs> 0x00 + 0x36 + <frameSetup1 (32 bytes)> + <frameSetup2 (352 bytes)> + <cs>
55 Mensagem de Pnico Remoto 0x00 + 0x37 + <linha 2 - 20 carac. ASCII ('')> + <linha 3 - 20 carac. ASCII ('')> + <cs> 0x00 + 0x37 + <cs>
56 Transmite pacote entre Portas Seriais (1 e 2) 0x00 + 0x38 + <porta> + <pacote (mx. 500 bytes)> 0x00 + 0x38 + <porta> + <pacote (mx. 500 bytes)>
(Comando sem checksum) <porta> = 0x00 --> Serial 1 / 0x01 --> Serial 2
58 Digital ANVIZ no cadastrada (Rec. Modo CTWB) - 0x00 + 0x3A + <num_disp> + <tipo_disp> + <leitora> + <tamanhoTemplate_h> +
<tamanhoTemplate_l> + <template> + <cs>
<leitora> = 0x00..0x03 --> Leitora 1 a 4
59 Solicitar ID Digital vago 0x00 + 0x3B + 0x00 + 0x00 + <cs> 0x00 + 0x3B + 0x00 + <idBio_high> + <idBio_low> + <cs>
<idBio_high> + <idBio_low> = 0x00 + 0x01 a 0x27 + 0x0F --> 1 a 9.999
<idBio_high> + <idBio_low> = 0xFF + 0xFF --> Memria Cheia
Comando Descrio Pergunta do PC (sequncia de bytes - hexadecimal) Resposta do Guarita IP (sequncia de bytes - hexadecimal) A partir da verso
60 Ler pilha de eventos (c/ desligamento) 0x00 + 0x3C + <evt_auto> + <ler> + <cs> 0x00 + 0x3C + <evt_auto> + <ler> + <cont_at> + <frame de evt. (16 bytes)> + <cs>
<evt_auto> = 0x01 --> Desliga evento automtico / 0x00 --> Liga evento automtico <cont_at> = Contador de Atualizaes (Guarita <-> Receptores)
<ler> = 0x01 --> Ler prximo frame / 0x00 --> Ler mesmo frame
61 Ler verso do Receptor (Firmware) 0x00 + 0x3D + <tipo_disp> + <num_disp> + <cs> 0x00 + 0x3D + <tipo_disp> + <num_disp> + <versao1> + <versao2> + <release> +
<build1> + <build2> + <cs>
Em destaque: bytes no formato ASCII
62 *RESERVADO*
63 *RESERVADO*
64 *RESERVADO*
65 *RESERVADO*
66 Ler entradas digitais - RECEPTOR 0x00 + 0x42 + <tipo_disp> + <num_disp> + <cs> 0x00 + 0x42 + <tipo_disp> + <num_disp> + <entradas> + <cs>
<entradas> = bit3..bit0 --> ED4..ED1
67 Cadastrar/Editar/Restaurar/Ler/Apagar dispositivos 0x00 + 0x43 + <opcao> + <frame de disp. (39 bytes)> + <cs> 0x00 + 0x43 + <opcao> + <resposta> + <cs>
<opcao> = 0x00 --> Cadastrar / 0x01 --> Editar / 0x02 --> Restaurar / <resposta> = 0x00 --> OK / 0x01 --> Mem. cheia / 0x02 --> Disp. j aprendido /
0x03 --> Ler / 0x04 --> Apagar 0x03 --> Disp. no encontrado / 0xF1 --> Bio Mestre Cheia / 0xFE --> Erro no Frame
** Para SENHA (SN), considerar bytes unid_h e unid_l Se <opcao> = 0x03 (Ler)
** Para BIOMETRIA (BM), considerar bytes <idBio_high> e <idBio_low> 0x00 + 0x43 + <opcao> + <resposta> + <frame de disp. (39 bytes)> + <cs>
68 Ler dispositivo especfico 0x00 + 0x44 + <tipo_disp> + <serial_3> + <serial_2> + <serial_1> + <serial_0> + <cs> 0x00 + 0x44 + <frame de disp. (39 bytes)> + <cs>
<serial_3 - nibble HIGH> = 0 Se no encontrado, envia no lugar do frame apenas um byte: 0xFF
<serial_3 - nibble LOW> = apenas para <tipo_disp> = 1 (RF), demais considerar igual a 0
69 Ler dispositivos (1017 bytes) - PACOTE 0x00 + 0x45 + <cs> 0x00 + 0x45 + [26 x <frame de disp. (39 bytes)>] + <cs>
Aps resposta, o Guarita aguarda duas perguntas possveis (c/ 15s de timeout):
0x00 --> OK, enviar prximo pacote
0xFF --> Erro, repita o envio do pacote atual
70 Ler dispositivos - PROGRESSIVO 0x00 + 0x46 + <cs> 0x00 + 0x46 + <frame de disp. (39 bytes)> + <cs>
Aps resposta, o Guarita aguarda duas perguntas possveis (c/ 5s de timeout):
0x00 --> OK, enviar prximo frame, se houver
0xFF --> Erro, repita o envio do frame atual
71 *RESERVADO*
72 *RESERVADO*
73 *RESERVADO*
74 Vincular/Apagar Digital ANVIZ (Biometria) 0x00 + 0x4A + <idBio_high> + <idBio_low> + <tamanhoTemplate_h> + 0x00 + 0x4A + <resposta> + <cs>
<tamanhoTemplate_l> + <template> + <cs> <resposta> = 0x00 --> OK / 0x03 --> ID no encontrado / 0x04 --> Sem resposta da Biometria /
*Vincular Digital: 0x05 --> ID fora do limite / 0xFE --> Erro no frame / 0xFF --> Tamanho invlido
Comando Descrio Pergunta do PC (sequncia de bytes - hexadecimal) Resposta do Guarita IP (sequncia de bytes - hexadecimal) A partir da verso
<tamanhoTemplate_h> + <tamanhoTemplate_l> = 0x01 + 0x52 ou 0x02 + 0xA4 --> 338 ou 676 bytes
*Apagar Digital:
<tamanhoTemplate_h> + <tamanhoTemplate_l> = 0x00 + 0x00
*Zerar Biometria Mestre:
<tamanhoTemplate_h> + <tamanhoTemplate_l> = 0x00 + 0x00
<idBio_high> + <idBio_low> = 0xFF + 0xFF
75 Ler Digital ANVIZ cadastrada (SD Card Int.) 0x00 + 0x4B + 0x00 + <idBio_high> + <idBio_low> + <cs> 0x00 + 0x4B + 0x00 + <resposta> + <idBio_high> + <idBio_low> +
<template 1 (338 bytes)> + <template 2 (338 bytes)> + <cs>
<resposta> = 0x00 --> OK / 0x03 --> ID no encontrado
76 *RESERVADO*
77 Formatar Guarita (Apagar TODA a memria) 0x00 + 0x4D + 0x55 + 0xAA + <cs> -
78 *RESERVADO*
79 Ler conta Contact ID 0x00 + 0x4F + <cs> 0x00 + 0x4F + <cID_conta_h> + <cID_conta_l> + 0x00 + <cs>
<cID_conta_h> + <cID_conta_l> = 0x00 + 0x00 a 0x27 + 0x0F (0 a 9999)
80 Escrever conta Contact ID 0x00 + 0x50 + <cID_conta_h> + <cID_conta_l> + 0x00 + <cs> 0x00 + 0x50 + <cs>
<cID_conta_h> + <cID_conta_l> = 0x00 + 0x00 a 0x27 + 0x0F (0 a 9999)
81 Ler tabela de eventos Contact ID 0x00 + 0x51 + <tipo_evt> + <cs> 0x00 + 0x51 + <tipo_evt> + <cID_evt_h> + <cID_evt_l> + <cs>
<tipo_evt> = 0x00 a 0x0F (Evento Tipo 0 a Tipo F) <cID_evt_h> + <cID_evt_l> = 0x00 + 0x00 a 0x03 + 0xE7 (0 a 999)
82 Escrever tabela de eventos Contact ID 0x00 + 0x52 + <tipo_evt> + <cID_evt_h> + <cID_evt_l> + <cs> 0x00 + 0x52 + <cs>
<tipo_evt> = 0x00 a 0x0F (Evento Tipo 0 a Tipo F)
<cID_evt_h> + <cID_evt_l> = 0x00 + 0x00 a 0x03 + 0xE7 (0 a 999)
83 Restaurar dispositivos (941 bytes) 0x00 + 0x53 + <indice_h> + <indice_l> + [24 x <frame de disp. (39 bytes)>] + <cs> 0x00 + 0x53 + <resposta> + <indice_h> + <indice_l> + <cs>
PACOTE e PONTEIRO <indice_h> + <indice_l> = 0x00 + 0x00 a 0x01 + 0xF3 (0 a 499) <resposta> = 0x00 --> OK / 0xFF --> ndice invlido
*Completar pacote de 24 frames com <frame de disp. (39 bytes)> = 0xFF..0xFF
*Caso total a restaurar seja mltiplo de 24, enviar mais um pacote de 24 frames
com <frame de disp. (39 bytes)> = 0xFF..0xFF (Exceo: 12 mil disp.)
84 Escrever/Ler tabela de grupos 0x00 + 0x54 + <opcao> + <grupo> + <frame de grupo (13 bytes)> + <cs> 0x00 + 0x54 + <resposta> + <opcao> + <grupo> + <frame de grupo (13 bytes)> + <cs>
<opcao> = 0x00 --> Gravar / 0x03 --> Ler <resposta> = 0x00 --> OK / 0x0C --> Grupo invlido / 0x0E --> <opcao> invlida
<grupo> = 0x01..0x0F --> 1 a 15
85 Escrever/Ler tabela de feriados 0x00 + 0x55 + <opcao> + <frame de feriados (20 bytes)> + <cs> 0x00 + 0x55 + <resposta> + <opcao> + <frame de feriados (20 bytes)> + <cs>
<opcao> = 0x00 --> Gravar / 0x03 --> Ler <resposta> = 0x00 --> OK / 0x0E --> <opcao> invlida
86 Ler quantidade de Templates 0x00 + 0x56 + 0x00 + <cs> 0x00 + 0x56 + 0x00 + <quant_high> + <quant_low> + <cs>
Biomtricos (SD Card Int.)
87 Ler Templates Biomtricos (SD Card Int.) 0x00 + 0x57 + 0x00 + <cs> 0x00 + 0x57 + 0x00 + <idBio_high> + <idBio_low> + <template 1 (338 bytes)> +
PROGRESSIVO <template 2 (338 bytes)> + <cs>
Aps resposta, o Guarita aguarda uma pergunta possvel (c/ 15s de timeout):
0x00 --> OK, enviar prximo frame, se houver
88 Restaurar Template Biomtrico (SD Card Int.) 0x00 + 0x58 + <idBio_high> + <idBio_low> + <template 1 (338 bytes)> + 0x00 + 0x58 + <resposta> + <idBio_high> + <idBio_low> + <cs>
<template 2 (338 bytes)> + <cs> <resposta> = 0x00 --> OK / 0xFF --> Erro na gravao
Aps 5s sem receber nova pergunta, Guarita inicia envio Biometria Mestre.
Comando Descrio Pergunta do PC (sequncia de bytes - hexadecimal) Resposta do Guarita IP (sequncia de bytes - hexadecimal) A partir da verso
89 *RESERVADO*
90 Controle remoto no cadastrado - 0x00 + 0x5A + 0x01 + <num_disp> + <serial_3> + <serial_2> + <serial_1> + <serial_0> +
(Receptor em modo TX CAN) <contador_high> + <contador_low> + <botao> + <bateria> + <cs>
<botao> = bit3..bit0 --> Boto 4..Boto 1
<bateria> = 0x00 --> OK / 0x01 --> Fraca
91 *RESERVADO*
92 Acionar sada (Rels dos Receptores) 0x00 + 0x5C + <tipo_disp> + <num_disp> + <rele> + <gera_evt> + <tempo> + <cs> -
AVANADO <rele> = 0x01 a 0x08 --> Rel 1 a 8 (Rels 5 a 8 do Rec. Multifuno 4A)
<gera_evt> = 0x00 --> No gera evento / 0x01 --> Gera evento
<tempo> = 0x00 --> Desligar / 0x01 a 0xFE --> 1 s a 254 s / 0xFF --> Ligar
93 Ler entradas digitais (Avanado) RECEPTOR 0x00 + 0x5D + <tipo_disp> + <num_disp> + <cs> 0x00 + 0x5D + <tipo_disp> + <num_disp> + <entradas_high> + <entradas_low> + <cs>
<entradas_high> + <entradas_low> = bit15..bit12 --> ED4_L4..ED1_L4 / bit11..bit8 --> ED4_L3..ED1_L3 /
bit7..bit4 --> ED4_L2..ED1_L2 / bit3..bit0 --> ED4_L1..ED1_L1
94 *RESERVADO*
95 *RESERVADO*
96 *RESERVADO*
97 Ler programao Biometria ANVIZ (Rec. Modo CTWB) 0x00 + 0x61 + <num_disp> + <num_canal> + <cs> 0x00 + 0x61 + <num_disp> + <num_canal> + <resposta> + <frameSetupBio (48 bytes)> + <cs>
(Multifuno 4A verso 2.002z ou superior) <num_canal> = 0x01 a 0x04 ---> L1 a L4 (RS-485) <resposta> = 0x00 ---> OK / 0xFF --> Biometria no conectada
98 Escrever programao Biometria ANVIZ (Rec. Modo CTWB) 0x00 + 0x62 + <num_disp> + <num_canal> + <frameSetupBio (48 bytes)> + <cs> 0x00 + 0x62 + <num_disp> + <num_canal> + <resposta> + <cs>
(Multifuno 4A verso 2.002z ou superior) <num_canal> = 0x01 a 0x04 --> L1 a L4 (RS-485) <resposta> = 0x00 --> OK / 0xFF --> Biometria no conectada
99 Programao do Receptor Multifuno 4A 0x00 + 0x63 + <operacao> + <num_disp> + <frameSetupMultiA (256 bytes)> + <cs> 0x00 + 0x63 + <resposta> + <operacao> + <num_disp> + <frameSetupMultiA (256 bytes)> + <cs>
(Verso v2.003j ou superior) <operacao> = 0x00 --> Escrever / 0x03 --> Ler <resposta> = 0x00 --> OK / 0xFF --> Erro
XX Localizar Guarita na Rede Local (Broadcast) <frameDiscovery - 28 carac. ASCII ('')> + 0x00 + 0x0A <hostName - 15 carac. ASCII ('')> + 0x0D + 0x0A +
Exclusivo para Porta UDP 30303 <frameDiscovery> = "Discovery: Who is out there?" <macAddress - 17 carac. ASCII ('')> + 0x0D + 0x0A + <nomeVersao - 23 carac. ASCII ('')>
<tipo_disp> = 0x01 --> RF (Controle) / 0x02 --> TA (TAG Ativo) / 0x03 --> CT (CTW, CTWB, Carto) / 0x05 --> BM (Biometria) / 0x06 --> TP (TAG Passivo) / 0x07 --> SN (Senha)
<num_disp> = 0x00..0x07 --> Endereo CAN 1 a 8 Limite de Dispositivos (Guarita e Receptor Multifuno) = 12.000
<num_saida> = 0x00 --> Nenhum / 0x01 . .0x04 --> Sada 1 a 4 Limite de Dispositivos (Demais Receptores) = 4.090
<idBio_high> + <idBio_low> = 0x00 + 0x01 a 0x27 + 0x0F (1 a 9.999) Limite de Eventos = 8.192
<cs> = Checksum (soma dos bytes anteriores)
('') - Bytes aceitos segundo tabela ASCII: 0x20 0x7D ("Espao" "}")
http://www.asciitable.com/
Comandos em azul --> Atualizados / Novos
Comandos em vermelho --> Evitar utilizao
Frame de Guarita: <frameSetup1 (32 bytes)>
<flag setup1>
bit7..6 --> filtro de evts. Externo (Porta 1) 00 --> Nvel 1 / 01 --> Nvel 2 / 10 --> Nvel 3
bit5 --> pnico B4 0 --> OFF / 1 --> ON
bit4 --> pnico B3 0 --> OFF / 1 --> ON
bit3 --> pnico B2 0 --> OFF / 1 --> ON
bit2 --> pnico B1 0 --> OFF / 1 --> ON
bit1 --> desperta porteiro silencioso 0 --> OFF / 1 --> ON
bit0 --> pnico silencioso 0 --> OFF / 1 --> ON
<flag setup2>
bit7 --> voz 8 0 --> OFF / 1 --> Fala bateria fraca
bit6 --> voz 7 0 --> OFF / 1 --> Fala alarmes
bit5 --> voz 6 0 --> OFF / 1 --> Fala placa do veculo
bit4 --> voz 5 0 --> OFF / 1 --> Fala cor do veculo
bit3 --> voz 4 0 --> OFF / 1 --> Fala marca do veculo
bit2 --> voz 3 0 --> OFF / 1 --> Fala nmero do RTULO 2
bit1 --> voz 2 0 --> OFF / 1 --> Fala nmero do RTULO 1
bit0 --> voz 1 0 --> OFF / 1 --> Fala RTULO 1 e RTULO 2
<flag setup3>
bit7..6 --> opes ctrl. vagas 00 --> Sem VALidao / 01 --> Sem VALidao + Sada Livre /
10 --> Com VALidao / 11 --> Com VALidao + Sada Livre
bit5 --> sobrepor acionamento (Display) 0 --> OFF / 1 --> ON
bit4 --> voz 9 0 --> OFF / 1 --> Fala desperta porteiro
bit3..0 --> rtulo BLOCO (2) 0001 --> Apto / 0010 --> Bloco / 0011 --> Casa / 0100 --> Lote /
0101 --> Quadra / 0110 --> Sala / 0111 --> Unidade / 1000 --> Label do Bloco
Frame de Guarita AVANADO: <frameSetup2 (352 bytes)>
<cfg1>
bit 7 Utilizar Grupos 0 --> No / 1 --> Sim
bits 6..5 Verificar atualizao on-line 00 --> No / 01 --> Auto / 10 --> Agora
bits 4..2 *reservados* 000
bit 1 Evento "Porta Abriu/Fechou" 0 --> No / 1 --> Sim
bit 0 Chave Prog. 0 --> Liberada / 1 --> Travada
<cfg2>
bits 7..6 Qualidade Digital (Bio Mestre) 00 --> 30% / 01 --> 40% / 10 --> 50% / 11 --> 60%
bits 5..4 *reservados* 00
bits 3..2 Digital (Dedo) 2 00 --> OFF / 01 -- > Habilita / 10 --> Pnico
bit 1 Habilitar horrio de vero automtico 0 --> No / 1 --> Sim
bit 0 Evento Indexado 0 --> Comando 4 (padro) / 1 --> Comando 40
<cfg3>
bit 7 Pnico temporizado (Boto 3s) 0 --> OFF / 1 --> ON
bit 6 Alerta "Porta Aberta" 0 --> OFF / 1 --> ON
bit 5 Dispositivo Portaria (Desp. Porteiro) 0 --> OFF / 1 --> ON
bit 4 *reservado* 0
bit 3 Guarita "Modo Escravo" 0 --> OFF / 1 --> ON
bits 2..1 Protocolo de Sada (Porta 2) 00 --> Linear-HCS (padro) / 01 --> Contact ID
bit 0 *reservado* 0
<flagsEthernet>
bit 7 Modo TCP 2 0 --> Server / 1 --> Client
bit 6 Ativar UDP 2 (Broadcast) 0 --> No / 1 --> Sim
bit 5 Ativar UDP 1 (Broadcast) 0 --> No / 1 --> Sim
bits 4..1 Provedor DDNS 0000 --> DynDNS / 0001 --> No-IP / 0010 --> DNS-O-Matic
bit 0 DHCP 0 --> Desabilitar / 1 --> Habilitar
(*1*) (*2*)
Se <tipo_evt> = 0, e <receptor_origem> = 2 (TA), 3 (CT) ou 6 (TP) : Se <tipo_evt> = C e <flagsEvt1> = 0xFE, serial_0 :
bit 0 = Sensor 1 = 0 --> Aberto / 1 --> Fechado bit 0 = Sensor 1 = 0 --> Desativado / 1 --> Ativado
bit 1 = Sensor 2 = 0 --> Aberto / 1 --> Fechado bit 1 = Sensor 2 = 0 --> Desativado / 1 --> Ativado
bit 2 = Sensor 3 = 0 --> Aberto / 1 --> Fechado bit 2 = Sensor 3 = 0 --> Desativado / 1 --> Ativado
bit 3 = Sensor 4 = 0 --> Aberto / 1 --> Fechado bit 3 = Sensor 4 = 0 --> Desativado / 1 --> Ativado
Labels ( 186 frames com <8 caracteres ASCII ('')> )
Descrio
Byte 1..8 Verso de Firmware 8 caracteres ASCII (Somente Leitura)
Byte 9 (Alta) Tamanho Senha LAN 0 a 6 dgitos
Byte 9 (Baixa)..11 Senha LAN
Byte 12 Tempo Descanso Display 0x00 = OFF / 0x01 a 0xFA = 1 a 250 minutos
Byte 13 Volume (Voz/Buzzer) 0x00 = Mudo / 0x01 a 0x05 = Nvel 1 a 5
Byte 14 Idioma (Menus) 0x02 = Ingls / 0x05 = Espanhol / 0x06 = Portugus / 0x10 = Russo
Byte 15 (Alta) Formato Data (Display) 0x00 = AA-MM-DD / 0x01 = MM-DD-AA / 0x02 = DD-MM-AA
Byte 15 (Baixa) Formato Hora (Display) 0x00 = 24 horas / 0x01 = 12 horas (AM/PM)
Byte 16 Evento de Acesso 0x00 = Entrada / 0x01 = Sada / 0x02 = Pausa / 0x03 a 0x0F = F04 a F16
Byte 17 *RESERVADO* 0xFF
Byte 18 *RESERVADO* 0xFF
Byte 19 Preciso da Digital (Validao) 0x00 = Baixa / 0x01 = Mdia / 0x02 = Alta
Byte 20 Cdigo "Fixed Wiegand" 0x01 a 0xFE = 1 a 254
Byte 21 Sada Wiegand 0x00 = Wiegand 26 / 0x01 = ANVIZ Wiegand / 0x02 = Fixed Wiegand /
0x03 = Linear-HCS (Wiegand 66)
Byte 22 Cdigo de Trabalho (Tecla FN) 0x00 = OFF / 0x01 = ON
Byte 23 Modo "Real-Time" 0x00 = OFF / 0x01 = ON
Byte 24 Atualizao Auto. Digital 0x00 = OFF / 0x01 = ON
Byte 25 Modo Rel 0x00 = Acesso / 0x01 = Alarme
Byte 26 Tempo Rel 0x00 = OFF / 0x01 a 0x0F = 1 a 15 segundos
Byte 27..29 Alerta Mem. Cheia (Eventos) 0x00 0x00 0x00 a 0x00 0x13 0x88 = 0 a 5000
Byte 30 Intervalo Acesso Repetido 0x00 = OFF / 0x01 a 0xFA = 1 a 250 minutos
Byte 31 Alarme "Porta Aberta" 0x00 = OFF / 0x01 a 0xFA = 1 a 250 segundos
Byte 32 Alarme Temporizado 0x00 = OFF / 0x01 a 0x0F = 1 a 15 segundos
Byte 33 Calibrao (Relgio) bit7 --> 0 = Positivo / 1 --> Negativo
bit6..0 --> 0 a 60 segundos
Byte 34..35 *RESERVADOS* 0xFF
Byte 36 Ajuste Dedo mido 0x00 = OFF / 0x01 a 0x08 = Nvel 1 a 8
Byte 37..48 *RESERVADOS* 0xFF
*NOTA: Para manter valor atual, considere o Byte correspondente igual a 0xFF
Frame Multifuno 4A: <frameSetupMultiA (256 bytes)>
Byte 41 bit 7..4 [MODO TX] [Display LED] Mostrar Boto no Display 2 (B4..B1) 0 = OFF / 1 = ON
bit 3..0 [MODO TX] [Display LED] Mostrar Boto no Display 1 (B4..B1) 0 = OFF / 1 = ON
[MODO CTWB/TP/TA] [Display LED] Mostrar Canal (485) no
Byte 42 bit 7..4 0 = OFF / 1 = ON
Display 2 (Canal 4..Canal 1)
[MODO CTWB/TP/TA] [Display LED] Mostrar Canal (485) no
bit 3..0 0 = OFF / 1 = ON
Display 1 (Canal 4..Canal 1)
[MODO CTWB] [Display LED] Mostrar Canal (Wiegand) no
Byte 43 bit 7..4 0 = OFF / 1 = ON
Display 2 (Canal 4..Canal 1)
[MODO CTWB] [Display LED] Mostrar Canal (Wiegand) no
bit 3..0 0 = OFF / 1 = ON
Display 1 (Canal 4..Canal 1)
Byte 44 bit 7 [MODO TP] Rel Passback 0 = Simples / 1 = Contnuo
bit 6..5 *reservados* 00
bit 4 [Display LED] Beep 0 = OFF / 1 = ON
bit 3..2 [Display LED] Tipo 00 = Linear-HCS / 01 = Multitoc
bit 1..0 [Display LED] Cor 00 = Vermelho / 01 = Laranja / 10 = Verde / 11 = Mix
Byte 45 bit 7 [MODO CTWB] Pnico 2x Carto 0 = OFF / 1 = ON
bit 6 [MODO TP] Multi-TAG 0 = OFF / 1 = ON
bit 5 *reservado* 0
bit 4 [MODO TP] Varredura 0 = Sequencial / 1 = Simultnea
bit 3..0 *reservados* 0000
Byte 46 bit 7..1 *reservados* 0000000
bit 0 Baudrate CAN 0 = 125 kbps / 1 = 20 kbps
Byte 47 bit 7..3 [Display LED] Tempo Mensagem 0 a 31 decimal = 5 s a 160 s (passo 5 s)
bit 2 *reservado* 0
bit 1..0 [Display LED] Exibio 00 = Placa / 01 = Apto. / 10 = Apto. + Placa
Byte 48 bit 7 *reservados* 0
bit 6 Buzzer 0 = ON / 1 = OFF 2.004f
bit 5..3 *reservados* 000
bit 2 [Display LED] Display 2 0 = OFF / 1 = ON
bit 1 [Display LED] Display 1 0 = OFF / 1 = ON
bit 0 [MODO CTWB] Senha 10 dgitos 0 = OFF / 1 = ON
Byte 49 bit 7..6 *reservados* 00
bit 5 [MODO TA] Clausura 0 = OFF / 1 = ON
bit 4..3 [MODO TA] Quantidade de Frames RF 00 = 2 / 01 = 3 / 10 = 4 / 11 = 5
bit 2..1 [MODO TA] Quantidade ACKs LF 00 = 1 / 01 = 4 / 10 = 7 / 11 = 10
bit 0 [MODO TA] 3/30 s TAG 0 = 3 s / 1 = 30 s
Byte 50..56 *reservados* 0x00..0x00
Byte 57 bit 7..6 [Entradas Digitais] Porta Aberta L4 00 = OFF / 01 = 15 s / 10 = 60 s / 11 = 120 s
bit 5..4 [Entradas Digitais] Porta Aberta L3 00 = OFF / 01 = 15 s / 10 = 60 s / 11 = 120 s
bit 3..2 [Entradas Digitais] Porta Aberta L2 00 = OFF / 01 = 15 s / 10 = 60 s / 11 = 120 s
bit 1..0 [Entradas Digitais] Porta Aberta L1 00 = OFF / 01 = 15 s / 10 = 60 s / 11 = 120 s
Byte 58..118 *reservados* 0x00..0x00
Byte 119 bit 7 [Entradas Digitais] Inibio L2 0 = NF / 1 = NA
bit 6 [Entradas Digitais] Porta L2 0 = NF / 1 = NA
bit 5 [Entradas Digitais] Passagem L2 0 = NF / 1 = NA
bit 4 *reservado* 0
bit 3 [Entradas Digitais] Inibio L1 0 = NF / 1 = NA
bit 2 [Entradas Digitais] Porta L1 0 = NF / 1 = NA
bit 1 [Entradas Digitais] Passagem L1 0 = NF / 1 = NA
bit 0 *reservado* 0
Byte 120 bit 7 [Entradas Digitais] Inibio L4 0 = NF / 1 = NA
bit 6 [Entradas Digitais] Porta L4 0 = NF / 1 = NA
bit 5 [Entradas Digitais] Passagem L4 0 = NF / 1 = NA
bit 4 *reservado* 0
bit 3 [Entradas Digitais] Inibio L3 0 = NF / 1 = NA
bit 2 [Entradas Digitais] Porta L3 0 = NF / 1 = NA
bit 1 [Entradas Digitais] Passagem L3 0 = NF / 1 = NA
bit 0 *reservado* 0
Byte 121 bit 7..2 *reservados* 000000
bit 1..0 [Entradas Digitais] Funo em Modo TX + CTWB ou TX + TP 00 = TX / 01 = CTWB ou TP
Byte 122..256 *reservados* 0x00..0x00