SDKCentraisDeAlarmeIntelbras v1.0.1
SDKCentraisDeAlarmeIntelbras v1.0.1
SDKCentraisDeAlarmeIntelbras v1.0.1
Num Bytes - Número de bytes, representa a soma da quantidade de bytes dos campos Comando e Dados. Os campo ChkSum e Num Bytes não
são incluídos na soma. Tamanho = 1 byte
Exemplo 1: (Num Bytes = 1 byte) + (Comando = 1 byte) + (Dados = 0 bytes) + (ChkSum = 1 byte) - neste caso o frame é formado por 3 bytes, mas o
número de bytes será enviado como 0x01,pois representa a soma dos campos Comando + Dados - 1 byte + 0 byte = 0x01
Exemplo 2: (Num Bytes = 1 byte) + (Comando = 1 byte) + (Dados = 20 bytes) + (ChkSum = 1 byte) - neste caso o frame é formado por 23 bytes,
mas o número de bytes será enviado como 0x15 (21 em hexadecimal) , pois representa a soma dos campos Comando + Dados
- 1 byte + 20 bytes = 21 = 0x15
Se tiver dúvidas utilize a aba "A-Cálculo CheckSum" para verificar se o cheksum está sendo calculado corretamente. Basta preencher as células com
o valor de cada byte enviado (em hexadecimal) e o checksum será cálculado automaticamente conforme exemplo existente
Definições gerais
- Este documento descreve o processo para receber a conexão de uma central de alarme Intelbras bem como o processo de recebimento
de eventos e solicitação de informções básicas da central
Obs.: Se desejar enviar solicitações diretamente do software de monitoramento para central de alarme, consulte as abas 4 e 5
- O software Receptor IP implementa um Socket TCP Server na porta 9010 (default) e o software AMT Remoto ou Amt Mobile V3 um socket
TCP Client.
- O AMT Remoto ou AMT Mobile V3 deve se conectar ao Receptor IP nesta porta
- Uma vez estabelecida a conexão com o software AMT Remoto, se o mesmo fechar o socket TCP o Receptor IP finaliza o link definido no
comando “E4”.
Notificação push
3 Tx - AMT Mobile / Rx - Receptor IP
1 Protocolo ISECMobile
Definições gerais
- Este documento descreve o protocolo utilizado para a comunicação de APPs para smartphone e as centrais de alarme Intelbras
- Esse protocolo só aceita a senha master ou uma senha de usuário, a senha de acesso remoto só é aceita no protocolo de programação
descrito na aba "5-Programar central via APP"
Protocolo ISECMobile
O frame ISECMobile é encapsulado no frame ISECNet V1 utilizando o comando 0xE9 descrito na aba "3-Conectar a central via Rec IP" item 2.2.
Veja o exemplo abaixo:
Número de bytes Comando Conteúdo Checksum
1 byte 0xE9 Frame ISECMobile descrito logo abaixo 1 byte
O frame ISECMobile é formado pelos campos abaixo e tem como limitadores de início e fim de frame o caractere "!" (0x21 em hexadecimal)
O frame padrão segue o formato abaixo:
O frame ISECMobile é similar ao protocolo ISECNet V1 a principal diferença é que ao invés do checkSum um CRC é calculado e adicionado ao
final do frame.
O frame padrão segue o formato abaixo:
<Num bytes> - O campo NumBytes representa representa o número de bytes dos campos comandos e dados e não conta os bytes ocupados
pelo CRC nem pelo próprio campo(NumBytes).
<Comando> - Indica a a função que será executada todos os comandos enviados para centrals tem uma resposta correspondente
<CRC Hi> - byte superior do CRC calculado, ver item "1.3 Cálculo CRC"
<CRC Lo> - byte inferior do CRC calculado, ver item "1.3 Cálculo CRC"
int CRCByteCount = 0;
for (int i = 0; i < listaComZeros.size(); i++) {
/*
* na primeira chamada preenche o byte 2
* na segunda o byte 1
* e nas demais preenche o byte 0
*/
int leftShift = 8 * (2 - CRCByteCount);
CRC = CRC & (((int) 0xFF << leftShift) ^ (int) 0xFFFFFFFF);
CRC = (CRC | (listaComZeros.get(i) << leftShift));
if (CRCByteCount < 2) {
CRCByteCount++;
} else {// quando os bytes de 0 a 2 estiverem preenchidos
for (int j = 0; j < 8; j++) { // desloca o valor armazenado 8 posic¸o~es para a esquerda, 1 bit por vez
CRC = (CRC << 1);
if ((CRC & 0x1000000) == 0x1000000) {// se o bit menos significativo do byte 3 estiver em 1
CRC = (CRC ^ 0x00800500);// executa um XOR do valor armazenado com a constante 0x00800500
}
}
}
}
CRC = ((((CRC >>> 16) & 0xFF) << 8) | ((CRC >>> 8) & 0xFF));
return (short)(CRC & 0xFFFF);
}
/**
* Retorna a parte "Hi" do CRC.
* @param CRC
* @return Parte "Hi" do CRC.
*/
private static int extrairCRCHi(short CRC) {
return (byte)((CRC & 0xFF00) >>> 8);
}
/**
* Retorna a parte "Low" do CRC.
* @param CRC
* @return Parte "Low" do CRC.
*/
private static int extrairCRCLo(short CRC) {
return (byte)(CRC & 0x00FF);
}
Para conferência, é possível utilizar sites na internet, tais como o https://crccalc.com/. Abaixo está o exemplo de como usá-lo.
return (byte)(CRC & 0x00FF);
}
Para conferência, é possível utilizar sites na internet, tais como o https://crccalc.com/. Abaixo está o exemplo de como usá-lo.
2 Início ,manutenção e finalização da conexão
6 Dispositivos do barramento
<DST ID> - Endereço destino, para o uso deste documento será sempre 0x0000. Tamanho = 2 bytes
<SRC ID> - Endereço origem, para o uso deste documento será sempre 0x0000. Tamanho = 2 bytes
<Num Bytes> - Número de bytes, representa a soma da quantidade de bytes dos campos Comando e Dados. Os campo DST ID, SRC ID, ChkSum e
Num Bytes não são incluídos na soma. Tamanho = 2 bytes
Comando - Identifica a operação que será executada. Tamanho = 2 bytes.
Dados - Dados necessários para a execução do Comando. O tamanho deste campo é variável de acordo com o Comando enviado. Tamanho 0
a 1000 bytes dependendo do modelo da central de alarme
ChkSum - Ver descrição no item 1.3.Tamanho 1 byte.
1.3 Cálculo do Check Sum
O check Sum do frame que é calculado executando uma operação XOR entre todos os bytes do frame e um XOR com o valor 0xFF ao final.
Este campo é utilizado para verificar a integridade dos dados enviados. Tamanho 1 byte.
Exemplo : Calcular o check sum do frame 02 D1 10
02 XOR D1 = D3
D3 XOR 10 = C3 - Resultado XOR entre todos os bytes do frame
Executar XOR com o valor 0xFF -> C3 XOR FF = 3C
Frame final incluinfo o checkSum = 02 D1 10 3C
Se tiver dúvidas utilize a aba "A-Cálculo CheckSum" para verificar se o cheksum está sendo calculado corretamente. Basta preencher as células com
o valor de cada byte enviado e o checksum será cálculado automaticamente conforme exemplo existente
1 AMT 8000
1.1 Definições gerais
- Para receber as fotos associadas a um evento da AMT 8000 envie os comandos descritos nos itens 2.1, 2.2 e 2.3 em sequência
- Ao receber um evento como foto associada (comando 0xB5) é necessário se autenticar utilizando o comando F0F0 descrito no item 2.1
- Após autenticar enviar o comando 0BB0 descrito no item 2.2 informando o índice recebido no evento e solicite os fragmentos da foto
- Ao finalizar o recebimento de todos os fragmentos, desconectar da central usando o comando F0F1 descrito no item 2.3
- Quando o sensor dispara, a foto ainda não está disponível na central, leva em torno de 15 Segundos para cada foto ser enviado para central.
Ao tentar ler a foto da central durante este processo, será respondido o comando de NACK 0xF0FD com ERRO 0x28: ERRO_GRAVANDO_FOTO,
neste caso é necessário aguardar 10 segundos e enviar o comando novamente
- Uma lista com todos erros possíveis (NACK) está descrita no item 2.4
2 Recebimento de fotos
Descrição
rio
ado ao usuário
Modelos de centrais que enviam estes eventos
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
Todas
----
----
AMT 4010 SMART, AMT 1000 SMART, AMT 2018 E SMART
AMT 4010 SMART, AMT 1000 SMART, AMT 2018 E SMART
AMT 4010 SMART, AMT 1000 SMART, AMT 2018 E SMART
AMT 4010 SMART, AMT 1000 SMART, AMT 2018 E SMART
AMT 4010 SMART, AMT 1000 SMART, AMT 2018 E SMART
AMT 4010 SMART, AMT 1000 SMART, AMT 2018 E SMART
AMT 4010 SMART
AMT 1000 SMART, AMT 2018 E SMART
AMT 1000 SMART, AMT 2018 E SMART
AMT 1000 SMART, AMT 2018 E SMART
AMT 1000 SMART, AMT 2018 E SMART
AMT 1000 SMART, AMT 2018 E SMART
----
----
Esta aba pode ser utilizada para entender as mensagens recebidas ou enviadas para a central de alarme durante o desenvolvime
Ela irá separar dividir os bytes da mensagem e identificar o seu significado no protocolo. Para utiliza-la basta copiar a mensagem
seu ambiente de desenvolvimento, colar na célula em amarelo e clicar no sinal "+" correspondente ao protocolo desejado. Após
abrir a lista role a tela até o início
Nibble superior
Nibble inferior
Hexadecimal
00, 81, 00, 00, 00, 13, 35, 63, FF, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
00, 00, 44
Bit 7
Bit 6
Bit 5
Bit 4
Receber eventos e Conectar a central via Rec IP
PROTOCOLO IsecNetV2