PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CCET CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CCET CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO"

Transcrição

1 PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CCET CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO ALARME MONITORADO E CONTROLADO POR MEIO DE COMUNICAÇÃO WEB. CURITIBA 2008

2 JEFFERSON PATRÍCIO CALDEIRA MICHEL T. K. SPHAIR ALARME MONITORADO E CONTROLADO POR MEIO DE COMUNICAÇÃO WEB. Trabalho apresentado ao professor Luiz Lima da disciplina de Projeto Final II do 10º período do curso de Engenharia de Computação da Pontifícia Universidade Católica do Paraná. Orientador: Altair Olivo Santin CURITIBA 2008

3 SUMÁRIO RESUMO... 4 INTRODUÇÃO... 4 DETALHAMENTO DO PROJETO... 5 Central TINI... 6 Módulo Sensor de Presença... 7 Módulo de Comunicação Celular Módulo Monitoramento da Bateria PROCEDIMENTO DE TESTE E VALIDAÇÃO DO PROJETO PROCEDIMENTOS DE CAIXA BRANCA Teste da Central TINI Teste do Software da Central TINI Teste do Módulo Sensor de Presença Teste do Firmware do Módulo Sensor de Presença Teste do Módulo Monitoramento da Bateria Teste do Software do Módulo Monitoramento da Bateria PROCEDIMENTOS DE CAIXA PRETA CONCLUSÃO APROVAÇÃO DO ORIENTADOR REFERÊNCIAS BIBLIOGRÁFICAS ANEXO A CÓDIGO FONTE DO AT80S52 MÓDULO SENSOR DE PRESENÇA ANEXO B CÓDIGO FONTE DO AT80S52 MÓDULO MONITORAMENTO DE BATERIA 64 ANEXO C CÓDIGO FONTE DA CENTRAL REQUISIÇÕES HTTP ANEXO D CÓDIGO FONTE DA CENTRAL TRATAMENTO DE POSTS ANEXO E CÓDIGO FONTE DA CENTRAL MONITORAMENTO DE SENSOR ANEXO F CÓDIGO FONTE DA CENTRAL MONITORAMENTO DE SMS ANEXO G ESQUEMA ELÉTRICO COMPLETO DO MÓDULO MONITORAMENTO DA BATERIA ANEXO H ESQUEMA ELÉTRICO COMPLETO DO MÓDULO SENSOR DE PRESENÇA 133 ANEXO I LAYOUT DAS PLACAS FEITAS NO ORCAD ANEXO J FOTOS ANEXO K CÓDIGO HTML PÁGINA INICIAL

4 4 RESUMO Este documento aborda o conceito de um projeto que consiste em um alarme monitorado através da internet e por meio de mensagens SMS a partir de celulares. A problemática a ser resolvida é o total controle do alarme à distancia, permitindo assim a dispensa do serviço de monitoração, não onerando ainda mais o cliente final. Para resolver esse problema a configuração e o controle do alarme serão feitos utilizando-se da internet e assim acessando um servidor, papel esse desempenhado pela placa de desenvolvimento TINI. Esse servidor será desenvolvido em Java e HTML, linguagens atuais que permitem uma grande versatilidade para a central do alarme. Ainda será integrado o módulo de celular para que esse servidor possa ser monitorado através de mensagens curtas enviados por qualquer celular. INTRODUÇÃO Com o constante aumento da violência e criminalidade no mundo, todas as pessoas tendem a procurar meios de sentirem-se mais seguras. Para isso investem bastante dinheiro em seguros automotivos, pessoais e de casa, em alarmes e sistemas de monitoramento. Esse público está sempre procurando novos métodos de segurança e são conscientes que sempre podem economizar seu dinheiro. O ideal seria acabar com a criminalidade através de programas de educação implantados pelo governo para todas as classes sociais e econômicas. Como essa é uma realidade distante de ser alcançada, outras soluções devem ser encontradas para minimizar os problemas com a segurança. Por outro lado vemos a crescente utilização da internet em todos os lugares devido à baixa dos preços de computadores pessoais, os baixos custos de acesso em lan houses e a vasta oferta de banda larga pelas várias operadoras. Outro fator relevante é a utilização em massa de celulares dos mais variados tipos em nossa sociedade. Hoje em dia qualquer pessoa, mesmo não tendo um telefone fixo, possui um celular que além de fazer ligações envia mensagens de texto, possui câmera digital para captura de imagens, faz vídeo e toca músicas. Todos estes fatores fazem com que a idéia de uma central de alarmes residencial e empresarial de fácil configuração e utilização torne-se motivadora visto que o produto final tende a ser algo útil para a sociedade.

5 5 Atualmente existem várias soluções na área de segurança que desempenham as mais variadas funcionalidades. Essas soluções foram avaliadas e várias limitações foram encontradas. Isto se torna outro motivador para este projeto, ou seja, a falta no mercado de um sistema independente de monitoramento do alarme à distância e também que preze pela fácil configuração, instalação e utilização. Todos os sensores serão micro controlados para controle de uso da bateria. Através dos conceitos de eletrônica discreta [1], redes, programação em Java [2] e microprocessadores adquiridos durante o curso acredita-se que este projeto será passível de implementação. Este documento está estruturado em tópicos onde será apresentado o detalhamento do problema especificando em detalhes todo hardware, firmware e software, cronograma com as datas de cada etapa do projeto e conclusão, procedimento de teste e validação do projeto do ponto de vista do usuário e do sistema, os riscos e a conclusão. DETALHAMENTO DO PROJETO Figura 1: Diagrama geral do projeto.

6 6 Descrição dos blocos: Central TINI A central TINI [3], (Tiny InterNet Interface) é uma plataforma desenvolvida pela Dallas Semicondutores, que possui como características prover um custo baixo para desenvolvimento e uma gama imensa de conexões a dispositivos. Os principais componentes do kit de desenvolvimento são: Micro controlador; Flash ROM; Static RAM; Interfaces Ethernet e Serial. Os módulos de monitoramento da bateria, de comunicação celular e do sensor de presença comunicar-se-ão com a central TINI via serial. Esta central TINI possui duas interfaces seriais padrão RS232, uma serial padrão proprietário 1-Wire (1-Fio) e uma interface ethernet. Para utilizar a serial 1 da TINI foi necessário retornar ao datasheet da mesma para verificar onde se localizavam os pinos de transmissão de recebimento e envio serial. Esses pinos podem ser visualizados na Figura 03 como RX e TX, que foram ligados a um MAX232 para que os sinais TTL recebidos e enviados fossem tratados e transformados em sinais RS232 padrão para portas seriais. Como isso se conseguiu mais uma porta serial para a comunicação com os periféricos do projeto. Figura 2: Ligação elétrica para acessar a Serial 1.

7 7 A linguagem de programação adotada para o desenvolvimento é JAVA, porém a TINI também permite que sejam desenvolvidos programas em C e compilados para o formato.tini, visto ser o formato executável da TINI. Foi escolhido o ECLIPSE para desenvolver o código em Java visto ser amplamente utilizado e ter muitas funcionalidades úteis ao programador. Uma tela do desenvolvimento é apresentada na figura 3. Figura 3: Eclipse Desenvolvimento em Java. Os blocos de código desenvolvidos para as classes estão contidos no anexo C, D, E e F. Módulo Sensor de Presença O módulo sensor de presença é composto pelo sensor de presença, pelo monitor de nível de bateria, pelo standby do sensor, pela sirene e pelo micro controlador AT89S52 com interface serial para comunicação com a central TINI. O circuito abaixo mostra o AT89S52 com o MAX232 para interfacear com a serial. Como a fonte é de 18V e praticamente toda a alimentação do circuito é de 5V, foi utilizado um regulador L7805(5V) e foi utilizado também um regulador L7812(12V) para alimentar o sensor.

8 8 Figura 4: Circuito do AT89S52 com interface serial e reguladores de tensão. Figura 5: Foto do AT89S52 com interface serial e reguladores de tensão. A porta utilizada foi a 2 e os pinos utilizados no AT89S52 pode ser visto abaixo: Figura 6: Pinos utilizados do AT89S52.

9 9 O sensor de presença infravermelho que será utilizado será um da ATEEI modelo Lince, sua tensão de trabalho é de 10-15V, consumo de 15mA, área de atuação de 12x12m e com controle de sensibilidade feito por jumper. Figura 7: Foto do sensor de presença da ATEEI O sensor foi ligado ao AT89S52 pelo seu relé (com contato normalmente fechado). Quando houver um disparo o relé se abrirá detectando assim um disparo. O standby do sensor foi feito utilizando um BC548 onde o terra do sensor está ligado no coletor. Uma das saídas do AT89S52 está ligado na base, quando se tem nível 1 (5V) o sensor é aterrado fechando o circuito e com isso ligando o sensor. Caso o nível na base for 0 (0V) o circuito do sensor ficará aberto fazendo com que ele permaneça desligado. Abaixo é apresentado o circuito: Figura 8: Circuito do standby do sensor.

10 10 O monitor de nível de bateria se constitui por um TL081 que compara a tensão da fonte com a tensão de 1,2V que é a referência gerada pelo LM385. Se a tensão da fonte ficar menor que aproximadamente 16V que corresponde a 1,2V por causa do divisor de tensão, a saída do TL081 estará com nível lógico 1 (5V) e se for maior que a tensão de 1,2V, a saída do TL081 estará com nível lógico 0 (0V). Foi utilizado um buffer 74LS244, um inversor HEF4049, um BC557 e um BC548 para que houvesse compatibilidade de nível em relação a entrada do microcontrolador e pela baixa impedância de entrada. Caso a bateria esteja fraca o LED D2 acenderá e caso o alarme seja ligado o LED D1 se ligará para emitir um aviso visual ao usuário. Figura 9: Circuito do monitoramento do nível de bateria. Além disso foi adicionado também um circuito para disparar uma sirene para emitir um aviso sonoro quando o alarme for disparado que funciona usando o mesmo principio do standby para aciona-lá. Figura 10: Circuito da sirene. da sirene. A foto abaixo mostra o standby, o circuito de monitoramento do nível de bateria e o circuito

11 11 Figura 11: Foto do standby, circuito de monitoramento de nível de bateria e o circuito da sirene. O micro controlador foi programado utilizando a linguagem C e a IDE de desenvolvimento Keil uvision3, além disto, para gravar no micro controlador foi utilizado o software IC Writer juntamente com o gravador de 8051 que é emprestado pela PUC. O diagrama de circuito completo, o bloco de código (firmware) que foi gravado no micro controlador e foto do módulo completo estão no Anexo H, A e I respectivamente. Módulo de Comunicação Celular Para o módulo de comunicação celular foi utilizado o GR64. É um módulo que se caracteriza por ter integrado protocolos de pilha TCP/UDP/IP, celular (rádio, dados e voz), uma escala de temperatura industrial (-30 C a +75 C) e um micro controlador ARM9. As especificações do módulo podem ser vistas a seguir: Core processor: ARM9, 32 bit Memory: Internal Digital Control: Up to 12 GPIO, 5 x 5 keyboard Digital Comms : 2 UART, I2C Analogue Interfaces : 4 ADC Audio Interfaces : 2 analogue channels, PCM Cellular Radio: Global operation (quad band 800/900/1800/1900 MHz) Cellular Data: GSM standard SMS, CSD (circuit), GPRS cl 10 (packet) Cellular Voice: Quad codec (FR/HR/EFR/AMR) Package: 60pin, 50mm x 33mm x 3.3mm.

12 12 Figura 12: Foto do módulo de comunicação celular. Este módulo trabalhará ligado a TINI via serial e sua funcionalidade é receber e enviar mensagens utilizando a rede de comunicação celular. Este módulo trabalha com uma tensão entre 6,59V até 14V consumindo uma corrente de aproximadamente 1A. Módulo Monitoramento da Bateria O módulo monitoramento da bateria é composto pelo monitor de nível de bateria e micro controlador AT89S52 com interface serial para comunicação com a central TINI. O circuito abaixo mostra o AT89S52 com o MAX232 para interfacear com a serial. O circuito é alimentado por uma fonte e uma bateria ligados aos diodos D5 e D6, lembrando que neste sistema necessariamente a tensão da fonte tem que ser maior que a tensão da bateria. Quando a luz é cortada (fonte), a bateria de 12V automaticamente entra em funcionamento. Foi utilizado no circuito um regulador de tensão L7805(5V) para alimentar os componentes do circuito.

13 13 Figura 13: Circuito do AT89S52 com interface serial. Figura 14: Foto do AT89S52 com interface serial e reguladores de tensão. Figura 15: Pinos utilizados do AT89S52.

14 14 O monitor de nível de bateria se constitui por um TL081 que compara a tensão da fonte com a tensão de 1,2V que é a referência gerada pelo LM385. Se a tensão da fonte ficar menor que aproximadamente 10V que corresponde a 1,2V por causa do divisor de tensão, a saída do TL081 estará com nível lógico 1 (5V) e se for maior que a tensão de 1,2V, a saída do TL081 estará com nível lógico 0 (0V). O LED D1 indica quando a bateria está fraca. O circuito é apresentado abaixo: Figura 16: Circuito do monitoramento do nível de bateria. Foi adicionado um LED para indicar que o módulo está funcionando com a tensão da fonte. Quando a tensão da fonte está ligada, o LED D2 se manterá acesso. Se houver uma queda da tensão da fonte, o LED D2 se apagará e o sistema estará funcionando com a tensão da bateria, servindo como aviso visual que a tensão da fonte não está presente. Figura 17: Circuito do LED da tensão da fonte. Além disso, foi adicionado um LED para indicar que o módulo está ligado.

15 15 Figura 18: Circuito do LED para indicar que está ligado. Tanto a central TINI como o módulo de comunicação celular estão ligados neste módulo que será alimentado com a fonte e uma bateria. Caso haja uma queda de tensão, esse módulo mantém a energia e consequentemente o alarme em funcionamento. A foto abaixo mostra o circuito de monitoramento do nível de bateria, o circuito do LED da tensão da fonte e o circuito do LED para indicar que o módulo está ligado. Figura 19: Foto do circuito de monitoramento de nível de bateria, do LED da tensão da fonte e do LED para indicar que o módulo está ligado. O micro controlador foi programado utilizando a linguagem C e a IDE de desenvolvimento Keil uvision3, além disto, para gravar no micro controlador foi utilizado o software IC Writer juntamente com o gravador de 8051 que é emprestado pela PUC. O diagrama de circuito completo, o bloco de código (firmware) que foi gravado no micro controlador e foto do módulo completo estão no Anexo G, B e I respectivamente.

16 16 PROCEDIMENTO DE TESTE E VALIDAÇÃO DO PROJETO Dois tipos de testes [9] serão executados a fim de verificar a consistência do software e hardware. São eles: PROCEDIMENTOS DE CAIXA BRANCA Teste da Central TINI Para que a central do alarme funcionasse conforme desejado, foram criadas quatro classes para atender requisições HTTP e tratamento dessas requisições, das mensagens SMS e das variações de estado do sensor e dos monitores de bateria. Dessas classes, as classes de tratamento de mensagens SMS e das variações do sensor e dos monitores de bateria implementaram uma variação da classe Thread do Java, por necessitarem funcionar em segundo plano sem ações do usuário. A partir desse ponto onde temos o código pronto, necessitávamos fazer os testes com o programa dentro da TINI. Para isso, com as classes prontas, compilamos o código de acordo com o instruído no manual da TINI, com o seguinte comando Batch no prompt do off javac -bootclasspath..\..\bin\tiniclasses.jar;..\..\bin\modules.jar -d bin src\*.java java -classpath..\..\bin\tini.jar;%classpath% BuildDependency -add HTTPSERVER -x..\..\bin\owapi_dep.txt -p..\..\bin\modules.jar -f.\bin\posthandleralarme.class -f.\bin\postalarme.class -f.\bin\monitorsensor.class -f.\bin\monitorcelular.class -o.\bin\alarme.tini -d..\..\bin\tini.db Figura 20: Mensagem de compilação sem erros. Esse comando, depois de depurados todos os erros de programação, gerou um arquivo Alarme.tini, o qual é o arquivo principal de todo a central do alarme. Com esse arquivo compilado ligamos a

17 17 TINI e com um cabo serial ligado na porta serial zero iniciamos o processo de inserção do código dentro dela. Como instruído, pegamos os arquivos compactados de utilização da TINI disponibilizados pela Dallas e os descompactamos na raiz do disco local, facilitando na hora de digitar o caminho dos arquivos no prompt do DOS. Nessas pastas descompactadas encontram-se muitas informações importantes e arquivos necessários para o desenvolvimento, como as bibliotecas Java particulares da TINI. Para iniciar o processo de funcionamento da TINI é necessário executar o JAVAKIT, que é um programa em Java que é incluído no pacote de desenvolvimento da TINI. É necessário que se tenha instalado o Java JRE para executar o JAVAKIT. Da mesma maneira que a compilação, para executar o JAVAKIT é necessário rodar um código no prompt do DOS, o qual segue: set classpath=c:\jre\lib\comm.jar;c:\tini1.17\bin\tini.jar; C:\jre\bin\java -cp C:\jre\lib\comm.jar;C:\tini1.17\bin\tini.jar; JavaKit -400 Figura 21: Javakit sendo executado. Como o JAVAKIT aberto, abrimos uma porta de comunicação pela COM1 e resetamos a TINI, fazendo com que ela espere por comandos do usuário. Carregam-se então os arquivos de sistema da TINI e damos um Reset pelo Javakit. Seleciona-se então o banco de memória 18 e o preenche-se com o valor zero. Esse procedimento preenche os 64K mais baixos da memória com zeros, forçando o sistema a inicializar os ajustes necessários para rodar sem problemas. Após isso se digita EXIT e o sistema operacional inicia sem mais problemas.

18 18 Figura 22: Mensagens iniciais da Central. Figura 23: Inicialização completa. Visto que ainda não usamos a serial zero para saída de dados e sim apenas para entrada continuamos a usar o JAVAKIT para configurar a TINI. Com o comando IPCONFIG ajustamos o IP e a máscara de sub-rede da interface Ethernet da TINI. Com o comando DATE ajustamos a data e a hora da central. Com a interface de rede da central ligada a um switch e também um computador ligado a ele, acessamos a interface de TELNET da TINI, que facilita bastante a execução de programas e ajustes de TINI. Por meio dessa interface TELNET se vêem todas as mensagens impressas em console advindas da central ao decorrer da execução do programa.

19 19 Figura 24: Acesso Telnet. Figura 25 Exemplo de captura de tela com mensagens advindas da central. Também com um cliente FTP acessamos o IP da TINI e enviamos todos os arquivos.tini e os arquivos da página HTML que é enviada a cada requisição. Enviados os arquivos, executamos o servidor HTML com o comando Java Alarme.tini & por TELNET, onde dessa forma colocamos o servidor HTML para aceitar páginas e esperar por requisições. Tendo o servidor executado e a TINI totalmente operante, pelo browser acessamos nossa página de acesso à central de alarme web pelo IP Figura 26: Página HTML servida pela TINI.

20 20 Teste do Software da Central TINI O software da central TINI foi totalmente desenvolvido em Java na IDE Eclipse, que précompila todo o código que vai sendo gerado desde o início. Foi acrescentado à JRE padrão do Java e que é utilizada pelo Eclipse as quatro bibliotecas de desenvolvimento da TINI, como pode ser visto na figura 27, fazendo com que o código gerado também faça uso dessas bibliotecas que são essenciais ao desenvolvimento de software para a TINI. Figura 27: Bibliotecas da TINI adicionadas ao Eclipse. Foram geradas quatro classes nesse projeto, são elas: 1. Classe de tratamento para solicitações HTTP; 2. Classe de tratamento para Posts HTTP; 3. Classe de monitoramento dos sensores; 4. Classe de monitoramento de SMS. Para a classe de tratamento se solicitações HTTP abaixo se encontra o diagrama de fluxo de dados onde se pode ver que depois de ajustados os parâmetros HTTP, há um loop infinito atendendo requisições de páginas.

21 21 Início Ajusta parâmetros HTTP Solicitação? sim não Entrega página inicial Figura 28: Diagrama do programa. Depois de compilado o código, colocado na TINI e executado, quando é acessado o endereço ip da TINI é então exibida a página pré-definida nos parâmetros e que encontra-se disponível em uma pasta também definida, como visto na figura 29. O código HTML da página encontra-se no Anexo J. Figura 29: Tela da página web. Para a classe de tratamento para Posts HTTP também se pode ver o fluxo de dados através da figura 31, onde há toda a exibição de como a central trata os posts, que vem de solicitações inicias de acesso à central e posteriormente dos comandos para a central. Essa classe interpreta os comandos a cada requisição HTTP e é finalizada, não ficando em loop infinito como fica a classe anterior. Acessando a central através do Telnet é possível verificar as mensagens que são impressas no console a cada comando enviado. Todos os comandos têm alguma saída de console e todas as funções podem e foram verificadas através destas respostas, visto a impossibilidade de realizar um debug mais preciso em conjunto com a TINI.

22 22 Figura 30: Requisição de página atendida. Início Espera Dados do Post Atribui Dados do Post a Variáveis Locais Ligar Thread demonitoramento HTTP Post? sim Verifica Dados do Post não Ligar Monitoramento dos Sensores? não Ligar Monitoramento de SMS?$ não sim sim Ajusta variáveis de controle Verifica Status pelas Portas Seriais Salva Arquivo de Log Fim Já Logado? não Usuário Correto? sim sim Status? não Rearmar? não sim sim Automático? não sim Ajusta variáveis de controle Força Desligar não Senha Correta? sim Desligar Monitoramento dos Sensores? sim Desligar Força Ligar Usuário ou Senha Incorretos não não Desligar Monitoramento de SMS? sim Desligar não Ajustar Número Celular? sim Coloca Número na varável não Ver Número Celular? sim Verifica Número na varável não Ver Número IP? sim Verifica Número IP não Ver Data e Hora? sim Verifica Data e Hora não não Sair? Figura 31: Diagrama do programa.

23 23 Quando um usuário entra com o nome de usuário e a senha e clica em enviar, essa classe trata e verifica os dados enviados e de acordo com a solicitação entrega a página desejada e criada dinamicamente visto que cada situação possui parâmetros diferentes. Vemos na figura 32 que depois de digitados usuário e senha corretos o servidor entrega a página desejada, caso contrário entrega a mesma página mais uma mensagem de erro. Figura 32: Tela do Sistema Post atendido. Uma tela do telnet apresentando o comando status é visualizada abaixo, mostrando a requisição sendo atendida, os estados das baterias com valores em inteiro e a data e hora. Figura 33: Tela do Telnet Post atendido. Na classe de monitoramento dos sensores temos uma situação interessante, pois ela é uma derivação da classe Thread do Java, e é criada a cada solicitação de monitoramento dos sensores e fica em loop infinito. Quando não se deseja mais monitorar os sensores ela morre. O diagrama dessa classe é apresentado abaixo.

24 24 Início Dormir 30 seg. Monitorar? sim Requisita status baterias Recebeu Dados? sim Requisita status sensor não não Recebeu Dados? sim Ajusta variáveis de controle não Salva Arquivo de Log Fim Figura 34: Diagrama da classe de monitoramento dos sensores. Para não sobrecarregar os sistemas, a cada volta do monitoramento há um descanso de 30 segundos, evitando então que o processador trave por ter tantas tarefas sendo enviadas a ele. Uma tela da saída em console pode visualizada a seguir na imagem. Figura 35: Tela do Telnet Monitoramento Ligado. A classe de monitoramento de SMS tem o mesmo princípio de funcionamento da classe de monitoramento dos sensores, pois quando se requer que ela monitore as mensagens sms recebidas e envie mensagens sms de acordo com os estados da central se cria uma thread que fica em loop infinito, monitorando, dormindo e acordando e depois quando não se deseja mais esse

25 25 monitoramento essa thread morre. O fluxo de dados é apresentado na figura 36 a seguir. Início Dormir 30 seg. Monitorar SMS? sim não Fim Status? não Salva Arquivo de Log sim Ligar? não sim Desligar? não Envia SMS com Dados Ligar sim Desligar não Rearmar? sim Desligar Ligar Figura 36: Diagrama da classe de monitoramento de sms. Para continuar visualizando o estado da central e verificar se o monitoramento realmente está ocorrendo uma mensagem no console aparece quando esse monitoramento é iniciado. Figura 37: Tela do Telnet Monitoramento de SMS ligado.

26 26 Teste do Módulo Sensor de Presença Para testar o circuito do módulo sensor de presença, foi programado o AT89S52 usando o IC Writer com o programa já simulado. Através da conexão via serial foram enviados comandos pelo Hyper Terminal. Foram enviados os seguintes comandos: 101LIGAR, 101DESLIGAR, 101GET_STATUS e 101GET_BATT_STATUS e observado o retorno do GET_STATUS e GET_BATT_STATUS para comprovar o correto funcionamento como ocorrido na simulação. O circuito foi alimentado com uma fonte de 18V, com dois reguladores de tensão um de 5V para o circuito e um de 12V para o sensor de presença. Figura 38: Circuito do AT89S52 com interface serial e reguladores de tensão. Para testar o standby do sensor, foi colocado um multímetro no pino 27 do AT89S52 e medido a tensão com o alarme desligado que é de aproximadamente 58mV. Quando o alarme era ligado a tensão no pino subia para aproximadamente 2,89V, com isso polarizando o transistor Q1 e aterrando o pino de terra do sensor fechando o circuito e consequentemente ativando o sensor.

27 27 Figura 39: Circuito do standby do sensor. Para monitorar o nível de bateria foi implementado o circuito abaixo. Que nada mais é que um comparador com uma tensão de referencia que não oscila com a variação da fonte e que passa pelo buffer e inversor pelo motivo descrito na descrição do bloco. Quando a tensão de 18V cai para 16V ou menos a tensão na saída do operacional sobe para aproximadamente 2,76V, tensão está sobre o pino 28 do AT89S52 e, além disto, acende o LED D2 servindo como aviso visual que a bateria do alarme esta fraca. Quando envia um 101GET_BATT_STATUS, ele checa se no pino 28 tem nível lógico 0 ou 1 e retorna uma mensagem que pode ser 010SENSOR01_3 (para bateria carregada) ou 010SENSOR01_4 (para bateria fraca). Para testar, foi colocado um multímetro no pino 6 do operacional e diminuído a tensão da fonte de 18V para 16V observou-se o aumento do nível de tensão. Quando o alarme é ligado a tensão no pino 25 do AT89S52 vai para aproximadamente 2,98V (nível alto) passando pelo buffer e acendendo o LED D1 para demonstrar que o alarme está armado. Figura 40: Circuito do monitoramento do nível de bateria.

28 28 O circuito da sirene funciona seguindo o mesmo principio do standby. Foi colocado o multímetro no pino 24 do AT89S52 e enviado através da serial o comando 101LIGAR. Quando o alarme é disparado o nível lógico do pino 24 do AT89S52 que está ligado a base do transistor Q2 muda de 0V para aproximadamente 4,89V polarizando o transistor e fechando o circuito da sirene fazendo a disparar. Figura 41: Circuito da sirene. Teste do Firmware do Módulo Sensor de Presença O programa do módulo do sensor de presença foi desenvolvido com a IDE uvision3 da Keil utilizando a linguagem C e foi simulado utilizando a mesma IDE. Abaixo o diagrama do programa:

29 29 Figura 42: Diagrama do programa. Quando ligamos o módulo, o sensor de presença esta desligado. Em parallel port 2 mostrado nas figuras abaixo podemos verificar o estado de cada bit da porta 2 do AT89S52. O bit 0 (zero) representa o sensor de presença, por ser NF (normalmente fechado), o estado dele é sempre 1 (nível alto), quando ocorre um disparo o estado muda para 0 (nível baixo). O bit 6 (seis) é utilizado pelo Standby do sensor, quando ele está no estado 0 (nível baixo) o sensor ficará desligado e quando o estado muda para 1 (nível alto) o sensor é ligado. O bit 4 (cinco) é utilizado para acender um LED, quando ele está no estado 0 (nível baixo) o LED ficara desligado e quando o estado muda para 1 (nível alto) o LED é ligado. Podemos constatar com a figura abaixo que o alarme se encontra desligado, com o sensor e o LED desligados.

30 30 Figura 43: Alarme desligado. Figura 44: Estado dos bits da porta 2 do AT89S52. Quando o alarme é ligado com o comando 101LIGAR como é mostrado na figura abaixo, Os bits 6 e 4 respectivamente do standby do sensor e do LED são mudados para 1 (nível alto).

31 31 Figura 45: Alarme ligado. Figura 46: Estado dos bits da porta 2 do AT89S52.

32 32 Foi implementado no programa um comando 101GET_STATUS. O seu retorno pode estar em 3 estados: 010SENSOR01_0 para alarme desligado, 010SENSOR01_1 para alarme ligado e 010SENSOR01_2 para alarme disparado. Na simulação abaixo foi dado um 101GET_STATUS com o alarme ligado e foi retornado o status 010SENSOR01_1 (alarme ligado). Figura 47: 101GET_STATUS quando ligado.

33 33 Depois foi dado o comando 101DESLIGAR para desligar o alarme. Os bits 6 e 4 foram mudados para 0 (nível baixo). Em seguida foi dado o comando 101GET_STATUS para verificar o status do alarme que retornou o 010SENSOR01_0 (alarme desligado). Figura 48: 101GET_STATUS quando desligado. Figura 49: Estado dos bits da porta 2 do AT89S52.

34 34 Para o teste do disparo do alarme, foi mudado o status do bit 0 para 0 (nível baixo) que representa o sensor de presença. Com está ação o alarme foi disparado. Foi dado o comando 101GET_STATUS para ver o status do alarme e foi retornado 010SENSOR01_2 (alarme disparado). Após 5 minutos (cronometrados) o alarme volta a se armar automaticamente. Além disto, foi dado o comando 101DESLIGAR e o 101LIGAR, para verificar o correto funcionamento. Figura 50: Alarme disparado. Figura 51: Estado dos bits da porta 2 do AT89S52.

35 35 O bit 7 é responsável por monitorar o nível da bateria. Se estiver com o bit em 0 (nível baixo), a bateria retornara 010SENSOR01_3 (bateria carregada). Na simulação abaixo mostra que se pode verificar o status da bateria com o comando 101GET_BATT_STATUS. Figura 52: 101GET_BATT_STATUS com a bateria carregada.

36 36 Nessa outra simulação o bit 7 está com o bit em 1 (nível alto), indicando que a bateria está com o nível de carga baixo e retornara 010SENSOR01_4. Isso pode ser constatado pelo comando 101GET_BATT_STATUS. Figura 53: 101GET_BATT_STATUS com a bateria descarregada. Figura 54: Estado dos bits da porta 2 do AT89S52. O código fonte completo do firmware pode ser encontrado no Anexo A.

37 37 Teste do Módulo Monitoramento da Bateria Para testar o circuito do módulo monitoramento da bateria, foi programado o AT89S52 usando o IC Writer com o programa já simulado. Através da conexão via serial foi enviado o comando pelo Hyper Terminal. Foi enviado o seguinte comando: 101GETBAT. Este comando retornará o estado da bateria para comprovar o correto funcionamento como ocorrido na simulação. O circuito foi alimentado com uma fonte de 13V e uma bateria de 12V, com um regulador de tensão de 5V para o circuito. Figura 55: Circuito do AT89S52 com interface serial. A porta utilizada foi a 2 e os pinos utilizados no AT89S52 podem ser visto abaixo: Figura 56: Pinos utilizados do AT89S52.

38 38 Para monitorar o nível de bateria foi implementado o circuito abaixo. Que nada mais é que um comparador com uma tensão de referencia que não oscila com a variação da fonte. Quando a tensão da bateria cai de 12V para 10V ou menos a tensão na saída do operacional sobe para aproximadamente 2,76V, tensão está sobre o pino 21 do AT89S52 e, além disto, acende o LED D1 servindo como aviso visual que a bateria do alarme esta fraca. Quando envia um 101GETBAT, ele checa se no pino 21 do AT89S52 tem nível lógico 0 ou 1 e retorna uma mensagem que pode ser 010SENSOR02_3 (para bateria carregada) ou 010SENSOR02_4 (para bateria fraca). Para testar, foi colocado um multímetro no pino 6 do operacional(tl081) e diminuído a tensão da fonte de 12V para 10V observando-se o aumento do nível de tensão. Está função só funciona sem a fonte, pois com a fonte sempre vai retornar que a bateria estará carregada. Figura 57: Circuito do monitoramento do nível de bateria. Quando a tensão da fonte está ligada, o LED D2 se manterá acesso com uma tensão em cima do LED D2 de aproximadamente 11,89V verificado com o multímetro. Se houver uma queda da tensão da fonte, o LED D2 se apagará. Figura 58: Circuito do LED da tensão da fonte.

39 39 Quando o alarme é ligado a tensão no pino 24 do AT89S52 vai para aproximadamente 2,98V (nível alto) passando pelo buffer e acendendo o LED D3 para demonstrar que o monitoramento da bateria está ligado. Figura 59: Circuito do LED para indicar que está ligado.

40 40 Teste do Software do Módulo Monitoramento da Bateria O programa do módulo monitoramento da bateria foi desenvolvido com a IDE uvision3 da Keil utilizando a linguagem C e foi simulado utilizando a mesma IDE. Abaixo o diagrama do programa: Figura 60: Diagrama do programa. O bit 7 é responsável por monitorar o nível da bateria. Se estiver com o bit em 0 (nível baixo), a bateria retornara 010SENSOR02_3(bateria com carga alta). Na simulação abaixo mostra que se pode verificar o status da bateria com o comando 101GETBAT. O bit 4 indica que o monitoramento esta ligado.

41 41 Figura 61: 101GETBAT com a bateria com carga alta. Figura 62: Estado dos bits da porta 2 do AT89S52. Nessa outra simulação o bit 7 está com o bit em 1 (nível alto), indicando que a bateria está com o nível de carga baixo e retornara 010SENSOR01_4. Isso pode ser constatado pelo comando 101GET_BATT_STATUS.

42 42 Figura 63: 101GETBAT com a bateria com carga baixa. Figura 64: Estado dos bits da porta 2 do AT89S52. O código fonte completo do firmware pode ser encontrado no Anexo B.

43 43 PROCEDIMENTOS DE CAIXA PRETA Do ponto de vista do usuário, o equipamento apresentará procedimentos de teste simples para que a configuração e utilização ocorra de tranquilamente. Para começar os testes, primeiramente é necessário confirmar se a todos os módulos e a central TINI estão alimentados corretamente e ligados. Verifica-se isso através do led indicador de central ligada na cor verde localizado no módulo monitoramento da bateria, conforme mostrado na figura 65. Se ele estiver ligado quer dizer que a central também está ligada. Led Verde Central Ligada Figura 65: Módulo monitoramento da bateria. A próxima verificação é na Central TINI, onde também há um led de confirmação de alimentação na cor verde (Led Verde 01) e outro led vermelho de confirmação de sistema funcional, de acordo com a figura 66. Caso estejam ligados tudo está funcionando perfeitamente, senão deve ser verificada a alimentação advinda do módulo monitoramento de bateria da central visto que essa alimentação é compartilhada, ou reiniciado o estado de andamento do software. Serial 1 Central Ligada Serial 4 Central Ligada Serial 0 Central Ligada Ethernet Central Led Verde Ligada 02 Central Led Verde Ligada 01 Central Ligada Led Vermelho Central Ligada Figura 66: Módulo Central - TINI.

44 44 Também pela figura 66 devem ser verificadas as conexões seriais com o módulo sensor de presença conectado à serial 4, com o módulo monitoramento da bateria conectado à serial 1 e o módulo comunicação celular conectado à serial 0. Ainda em se tratando das conexões, deve ser verificada a conexão com a ethernet através do conector RJ45 localizado na placa e quando conectado e transmitindo faz com que o led verde dois pisque de acordo com o tráfego de dados. Outro passo importante é verificar, caso implantado, o estado do módulo de comunicação celular que transmite e recebe sms. Ele possui um led vermelho, visto na figura 67, que quando ligado o módulo permanece ligado constante e após feita conexão com a rede GSM fica piscando ininterruptamente de forma lenta. Caso esteja fazendo alguma comunicação, ou seja, recebendo ou transmitindo mensagens, esse mesmo led pisca mais rápido. Led Vermelho Figura 67: Módulo Comunicação Celular. Agora com todas as conexões verificadas e tudo funcionando já é possível configurar um computador ligado à mesma rede da central TINI para acessar a página de configuração do alarme. A placa de rede da central possui o endereço ip (internet protocol-protocolo internet) com máscara de sub-rede Faz-se necessário colocar um ip da mesma faixa da central TINI no computador a ser usado para que haja comunicação. Deve-se acessar a configuração da placa de rede desse computador e configurado, por exemplo, um ip com máscara de sub-rede No navegador já é possível acessar a página de configuração digitando o ip A tela apresentada deve ser como na figura 68.

45 45 Figura 68: Página inicial de acesso à central. O usuário inicial para acessar a central é root, sem aspas e a senha é tini, também sem aspas. Caso seja digitado um usuário errado ou uma senha errada uma mensagem de erro é apresentada. Após digitado usuário e senha corretos é apresentada a tela inicial do sistema, visto na figura 69, sendo apresentada também a mensagem de acesso com sucesso. Figura 69: Página inicial de configuração da central. Nesta tela é possível encontrar uma lista de comandos no menu drop down, o estado da bateria da central, o estado da bateria do sensor, o estado do sensor, o estado do monitoramento do sensor, o estado do monitoramento de mensagens sms, as mensagens advindas da central a cada comando enviado e um link para a verificação do arquivo de log. Os comandos para a central são os seguintes: Monitorar Sensores;

46 46 Monitorar SMS; Status; Rearmar Central; Verificar IP; Ajustar IP; Ajustar Mascara Sub-rede; Ver Número Celular; Ajustar Número Celular; Ver Data; Ajustar Data; Trocar Usuário; Trocar Senha; Desligar Mon. SMS; Desligar Mon. Sensores; SAIR; Para cada comando há uma mensagem de resposta da central bem como a variação dos ícones dependendo do estado dos sensores, das baterias e dos monitoramentos. Também há variação no status dos leds das placas indicando cada situação. Na primeira situação criada para testes, verifica-se o estado da bateria com o comando Status. Esse comando retorna a tela a seguir, onde se verifica que as baterias estão carregadas, o sensor está desligado (ou standby) e os monitoramentos estão desligados. Figura 70: Resposta da Central TINI ao comando Status.

47 47 Quando a bateria do sensor está fraca e novamente é requisitado o estado da central TINI pelo comando Status, a figura que mostrava bateria ok agora muda para bateria fraca. Também se pode verificar o nível fraco de bateria pelo led vermelho que permanece aceso quando neste estado. Led Vermelho Figura 71: Placa do sensor. Figura 72: Resposta da Central TINI ao comando Status. Quando a energia do local de instalação da central TINI acaba, a bateria da central TINI está fraca e novamente é requisitado o estado da central pelo comando Status, a figura que mostrava bateria ok agora muda para bateria fraca.

48 48 Figura 73: Resposta da Central TINI ao comando Status. Os leds do módulo de monitoramento da bateria também indicam que a energia do local de instalação acabou e que a bateria está fraca. Quando a energia acaba o led vermelho central desliga e quando a bateria está fraca o led vermelho da direita permanece aceso. Energia fraca da bateria Energia do local Figura 74: Módulo monitoramento da bateria. Ao ligar o monitoramento dos sensores a figura relacionada ao monitoramento muda de desligado para ligado conforme imagem abaixo.

49 49 Figura 75: Resposta da Central TINI quando ligado o monitoramento dos Sensores. Outra alteração é a figura do estado do sensor que muda de standby para ligado, o que acontece em alguns segundos após a inicialização do sensor, que pode ser verificado na tela a seguir. Figura 76: Resposta da Central TINI ao comando Status. Depois de ligado o monitoramento dos sensores, é interessante também ligar o monitoramento das mensagens curtas do módulo comunicação celular para que sejam enviadas mensagens de variação no estado do sensor e recebidas mensagens de comando para a central TINI. Quando ligado esse monitoramento a figura relativa é alterada também de desligado para ligado.

50 50 Figura 77: Resposta da Central TINI quando ligado o monitoramento de sms. Quando esse monitoramento de comandos sms está ligado as seguintes mensagens podem ser enviadas à central TINI, são elas: LIGAR: quando enviada esta mensagem a central verifica se o monitoramento dos sensores já está ligado e se não estiver é efetuada a ligação do monitoramento e uma mensagem sms é enviada ao celular dizendo que o monitoramento foi ligado e o estado das baterias do sensor e da central TINI, senão apenas uma mensagem dizendo que a central já está ligada é enviada. DESLIGAR: acontece praticamente o mesmo do que o comando ligar, porém inversamente. Quando a mensagem é recebida e o monitoramento dos sensores já está desligado uma mensagem de monitoramento já desligado é enviada, caso contrário o monitoramento é desligado e uma mensagem sms é enviada dizendo que o monitoramento foi desligado. REARMAR: nesse comando é forçado um desligamento do monitoramento dos sensores e posterior religamento desse monitoramento. Uma mensagem de central rearmada é enviada juntamente com o estado das baterias da Central TINI e do sensor de presença. STATUS: recebido esse comando a Central TINI verifica o nível das baterias tanto do sensor de presença quanto da Central TINI juntamente com o estado do sensor e envia todos esses dados ao celular programado. Caso não se deseje mais que sejam monitoradas as mensagens sms é necessário que seja enviado o comando desligar monitoramento de sms, que retorna o estado de monitoramento de sms desligado e apresenta a mensagem também de monitoramento de sms desligado.

51 51 Figura 78: Resposta da Central quando desligado o monitoramento dos sensores. Desligar o monitoramento dos sensores retorna mensagens praticamente idênticas às mensagens quando se desliga o monitoramento de sms, porém voltadas ao desligamento dos sensores. Essa variação verifica-se pela imagem abaixo. Figura 79: Resposta da Central quando desligado o monitoramento de sms. Outro comando importante é o de rearmar a central TINI e o módulo sensor de presença, que faz com que o monitoramento do sensor seja desligado, todas as variáveis de controle são reiniciadas e novamente é ligado o monitoramento dos sensores. A mensagem da central TINI rearmada é retornada ao se enviar esse comando.

52 52 Figura 80: Resposta da Central ao comando Rearmar Central. Foram implementados alguns comandos de configuração da central TINI, como o comando de verificar o ip da central, que retorna o endereço ip atribuído inicialmente à central e a máscara de sub-rede correspondente. Figura 81: Resposta da Central ao comando verificar IP. Também na área de configuração temos o comando que verifica o número de celular para o qual serão enviadas as mensagens sms em caso de variação do estado do sensor. Também há o comando para alterar esse número, que se faz colocando o novo número de celular com DDD no campo parâmetros dos comandos e enviar o comando ajustar número celular, que retorna uma mensagem de alteração com sucesso. É possível confirmar essa alteração verificando-se novamente o número celular.

53 53 Figura 82: Resposta da Central TINI ao comando verificar número celular. Figura 83: Resposta da Central TINI ao comando alterar número celular.

54 Verificar a data com o comando verificar data retorna a data configurada na central. Essa data é configurada inicialmente e mesmo se a central for desligada ela continua correta. 54 Figura 84: Resposta da Central TINI ao comando verificar data. Ao executar o comando SAIR, a sessão de configuração e monitoramento é encerrada e a tela inicial é apresentada somada da mensagem de sessão finalizada com sucesso. Figura 85: Resposta da Central TINI ao comando SAIR.

55 55 Ainda dentro da sessão de monitoramento e configuração, quando o monitoramento dos sensores está ligado e há uma detecção no sensor o estado do sensor é alterado para sensor disparado. Caso o monitoramento de mensagens sms estiver ligado uma mensagem é enviada ao celular pré-configurado acusando o disparo do alarme e da sirene. Se nenhuma atitude for tomada em cinco minutos, o sensor retorna que a central TINI deve ser rearmada Figura 86: Resposta da Central TINI ao comando Status. Pela placa do sensor também pode ser visualizado o disparo do alarme pelo led verde que fica ligado caso seja disparado o sensor. Led Verde Figura 87: Placa do sensor.

56 56 CONCLUSÃO Este documento propôs demonstrar o mais detalhadamente possível o projeto relacionado ao problema que atualmente é encontrado nas centrais de alarmes comercializadas. A solução definida é demonstrada passo-a-passo a partir do diagrama em blocos do sistema completo e os testes. Utilizando-se da internet e conexão celular, manter-se-á uma central de alarme operante todo o tempo mesmo que condições adversas apareçam. O detalhamento do projeto foi exposto a fim de explanar como foi desenvolvido todo o sistema com diagramas de blocos, diagramas elétricos, diagramas de fluxo de dados, códigos e testes para cada um dos módulos desenvolvidos. Alguns problemas surgiram no decorrer do projeto que prejudicou o andamento do mesmo. O primeiro a ser mencionado foi a falta de tempo dos integrantes do grupo que trabalham em horário integral sendo assim não podendo usufruir de tempo suficiente do laboratório, onde esse pouco tempo foi de extrema importância para a implementação de vários pontos do projeto. O segundo foi a comunicação RF entre o módulo sensor de presença e a central TINI. O alto nível de ruído inviabilizou a agregação desta tecnologia ao projeto tendo em vista que o AT80S52 funciona usando interrupções vindas da serial e as respostas não foram satisfatórias. Depois de muito tempo gasto nesta parte depois a equipe decidiu em não integrar os módulos usando esta tecnologia. O terceiro e ultimo ponto foi a falta de documentação principalmente sobre a placa de desenvolvimento TINI, sendo que foi desprendido muito tempo para aprender sobre o funcionamento da mesma. Programando o micro controlador 8051 em C ajudou a relembrar os conceitos vistos desde o início do curso bem como a aprender novos conceitos em programação de micro controladores. A utilização do Java foi muito interessante visto ser uma tecnologia atual e fácil de utilizar para criar todas as classes utilizadas no projeto, tanto em programação seqüencial como com threads.

57 57 APROVAÇÃO DO ORIENTADOR Altair Olivo Santin Assinatura:

58 58 REFERÊNCIAS BIBLIOGRÁFICAS [1] Sedra, Adel S.; Smith, Kenneth C.. Microeletrônica. Quarta Edição. Makron Books, [2] Deitel, H. M.; Deitel, P. J.. Como Programar em Java. Terceira Edição. Bookman, [3] Loomis, Don. The Tini Specification and Developer s Guide. Primeira Edição. Addison-Wesley, [4] Maxim Explorando a TINI: disponível na internet em [5] Listas de Discussão sobre TINI: disponível na internet em [6] Site do Prof. Afonso sobre 8051: disponível na internet em [7] Diagrama de Fluxo de Dados: disponível na internet em [8] Diagrama de Fluxo de Dados (DFD): disponível na internet em [9] Informações sobre pinagem em celulares: disponível na internet [10] Teste de Software Wikipedia: disponível na internet em [11] TINI Resources: disponível na internet em

59 59 [12] Explicação das Classes TININet: disponível na internet em [13] Dicas da TINI: disponível na internet em [14] Tutoriais da TINI: disponível na internet em [15] TINIAnt Simplificação de construção para aplicativos TINI: disponível na internet em

60 60 ANEXO A CÓDIGO FONTE DO AT80S52 MÓDULO SENSOR DE PRESENÇA /* prj8051.c Copyright Keil Software, Inc */ #include <Atmel\REGX52.H> /* special function register declarations */ /* for the intended 8051 derivative */ #include <stdio.h> /* prototype declarations for I/O functions */ #include <string.h> /* prototype declarations for String functions */ #define LIGADO 1 #define DESLIGADO 0 #define DISPARADO 2 //*********************************************** //GLOBAL VARS * //*********************************************** unsigned char status; unsigned short int contador_timer_0; unsigned int timer_delay=0; unsigned int flag=0; //*********************************************** //INTERRUPT * //*********************************************** void serial_int (void) interrupt SIO_VECTOR { char buffer [20]; if (RI == 1) { */ /* Recebendo um dado da serial gets(buffer,sizeof(buffer)-1); /* Lendo uma string */ if (!strcmp(buffer,"101ligar")) { status = LIGADO; contador_timer_0 = 0; flag = 0; else if (!strcmp(buffer,"101desligar")) { status = DESLIGADO; else if (!strcmp(buffer,"101get_status")) { switch (status) { case LIGADO: printf("010sensor01_1"); break; case DESLIGADO: printf("010sensor01_0"); break; case DISPARADO: printf("010sensor01_2"); break; else if (!strcmp(buffer,"101get_batt_status")) { if (!P2_7) { //OK printf("010sensor01_3"); else { //LOW printf("010sensor01_4");

61 61 RI = 0; #ifdef MONITOR51 /* Debugging with Monitor-51 needs */ char code reserve [3] _at_ 0x23; /* space for serial interrupt if */ #endif /* Stop Exection with Serial Intr. */ /* is enabled */ //*********************************************** //TIMER RESET * //*********************************************** void reinicia_timer () { TR0 = 0; /* Para a contagem do timer */ /* apagando a contagem preexistante */ TH0 = 0; TL0 = 0; TF0 = 0; /* tira o estouro do timer */ //*********************************************** //MAIN * //*********************************************** void main (void) { bit disparou_vezes; #ifndef MONITOR51 TH1 = 0xF3; TMOD = 0x21; SCON = 0x50; TR1 = 1; TI = 0; //TI = 1; /*Usar somente na simulacao*/ #endif SBUF = 65; /* Configurando as interrupcoes */ IE = 0x91; /* Resetando todas as saidas de P2 */ P2 = 0; /* Iniciando a variavel */ contador_timer_0 = 0; status = DESLIGADO; //*********************************************** //WHILE TRUE * //*********************************************** while (1) { comeco: if (status == LIGADO) { goto alarme_ligado; else if (status == DESLIGADO) { goto alarme_desligado;

62 62 else if (status == DISPARADO) { goto alarme_disparado; //*********************************************** //ALARME LIGADO * //*********************************************** alarme_ligado: P2_6 = 1; /* Liga o sensor */ P2_3 = 0; /* Desliga sirene */ P2_4 = 1; /* Liga LED */ /* Delay para sincronia do sensor */ reinicia_timer(); if(flag == 0){ while(timer_delay!= 530){ TR0 = 1; while (!TF0) { timer_delay++; TF0 = 0; reinicia_timer(); flag=1; timer_delay=0; /* Começa a contagem do tempo para o timer 0 */ reinicia_timer(); TR0 = 1; 0 */ while (!TF0) { timer 0 */ contador_timer_0 += 1; estouros */ /* Inicia a contagem no Timer /* Trava esperando o estouro do /* incrementa o contador de if (contador_timer_0 == 8) { /* esperamos o que tinhamos de esperar 0,5s*/ if (!P2_0) { /* se em 0, dispara */ status = DISPARADO; /* A porra do alarme disparou e fudeu tudo! */ contador_timer_0 = 0; TF0 = 0; /* Apaga o aviso de estouro */ goto comeco; //*********************************************** //ALARME DISPARADO * //*********************************************** alarme_disparado: P2_3 = 1; disparou_vezes = 0; reinicia_timer(); TR0 = 1; 0 */ /* inicia a contagem no Timer

63 63 while (!TF0) { estouro do timer */ contador_timer_0 += 1; estouros */ if (contador_timer_0 == 4578) { de esperar, para 5 mins */ status = LIGADO; verificação do alarme */ contador_timer_0 = 0; /* estamos esperando o /* incrementa o contador de /* esperamos o que tinhamos /* volta para o estado de */ TF0 = 0; goto comeco; /* Apaga o aviso de estouro //*********************************************** //ALARME DESLIGADO * //*********************************************** alarme_desligado: P2_3 = 0; P2_6 = 0; P2_4 = 0; contador_timer_0 = 0; flag = 0; goto comeco;

64 64 ANEXO B CÓDIGO FONTE DO AT80S52 MÓDULO MONITORAMENTO DE BATERIA /* prjbat.c Copyright Keil Software, Inc */ #include <Atmel\REGX52.H> /* special function register declarations */ /* for the intended 8051 derivative */ #include <stdio.h> /* prototype declarations for I/O functions */ #include <string.h> /* prototype declarations for String functions */ /*Variaveis globais*/ unsigned char status; unsigned short int contador_timer_0; void serial_int (void) interrupt SIO_VECTOR { char buffer [20]; /* Código que gerencia a interrupt de recebimento de comandos */ if (RI == 1) { /* RECEBEMOS UM DADO DA SERIAL!!!! */ gets(buffer,sizeof(buffer)-1); /* lemos a string */ if (!strcmp(buffer,"101getbat")) { if (!P2_7) { //OK printf("010sensor02_3"); else { //LOW printf("010sensor02_4"); RI = 0; #ifdef MONITOR51 /* Debugging with Monitor-51 needs */ char code reserve [3] _at_ 0x23; /* space for serial interrupt if */ #endif /* Stop Exection with Serial Intr. */ /* is enabled */ /* The main C function. Program execution starts here after stack initialization */ void main (void) { #ifndef MONITOR51 TH1 = 0xF3; TMOD = 0x21; SCON = 0x50; TR1 = 1; TI = 0; #endif SBUF = 65;

65 65 /* Configurando as interrupcoes */ IE = 0x91; /* Resetando todas as saidas de P2 */ P2 = 0; P2_4 = 1; while (1) {

66 66 ANEXO C CÓDIGO FONTE DA CENTRAL REQUISIÇÕES HTTP /* * Copyright (C) 2008 Michel e Jefferson, All Rights Reserved. * * Software desenvolvido para o projeto final de curso * da Engenharia de Computacao pela Pontifícia Universidade Católica * do Paraná com orientacao do Professor Altair Santin * * Software desenvolvido na ferramenta Eclipse com suporte * ao jdk da TINI. * * */ // Imports import com.dalsemi.tininet.http.httpserver; import com.dalsemi.tininet.http.httpserverexception; class PostAlarme { static Object lock; /** * Main method of our web server */ public static void main(string[] args) { // Cria um servidor na porta 80 HTTPServer httpd = new HTTPServer(80); // Pasta padrao para arquivos httpd.sethttproot( "/html" ); // Pagina inicial httpd.setindexpage( "index2.html" ); // arquivo de log httpd.setlogfilename( "log2.txt" ); // habilita o log httpd.setlogging( true ); // servidor online System.out.println("Servidor Online..."); // envia paginas while (true) { try { httpd.servicerequests(); catch ( HTTPServerException e ) { System.out.println( "Ocorreu um Erro ao Processar Pagina: " + e.getmessage() );

67 67 ANEXO D CÓDIGO FONTE DA CENTRAL TRATAMENTO DE POSTS /* * Copyright (C) 2008 Michel e Jefferson, All Rights Reserved. * * Software desenvolvido para o projeto final de curso * da Engenharia de Computacao pela Pontifícia Universidade Católica * do Paraná com orientacao do Professor Altair Santin * * Software desenvolvido na ferramenta Eclipse com suporte * ao jdk da TINI. * * */ // Includes import java.io.*; import java.util.*; import com.dalsemi.tininet.http.*; import com.dalsemi.tininet.tininet; import java.util.enumeration; import javax.comm.commportidentifier; import javax.comm.serialport; import com.dalsemi.system.tinios; import com.dalsemi.comm.*; import com.dalsemi.*; /** * Servidor HTTP para a Central de Alarme TINI WEB */ public class PostHandlerAlarme implements PostScript { /** * This method handles all responses to the the HTTP POST * data - a Vector of PostElements holding all supplied fields and Values in pairs out - an Output Stream to the client socket work - HTTPWorker contains utility functions used to URL encode our response IOException if an IO error occurs */ //String[] listastr; //int vetor[]={1,2,3,4,5; //public static int sessaoiniciada = 0; public static int sessaovalor = 0; public static int valorstatussensor[] = {0,0; public static int flagstatussensor = 0; public static int flagstatuscelular = 0; public static int flagjaligado = 0; public static int flagcelularjaligado = 0; public static int flagjadesligado = 0; public static int valorbateriacentral = 0; public static int valorbateriasensor = 0; public static String numerocelular = " "; public static int msgjaenviou = 0; public static int flagrearmado = 0; public static String gifcentral = "naoverificado.gif"; public static String gifsensor = "naoverificado.gif";

68 68 public static String gifstatus = "naoverificado.gif"; public static String gifligado = "m3desligado.gif"; public static String gifcelular = "m3desligado.gif"; public static String usuariologin = "root"; public static String senhalogin = "tini"; public void handlepost( Vector data, OutputStream out, HTTPWorker work ) throws IOException { //Adicionando //listastr[0]="sessao01"; //listastr[1]="sessao02"; //listastr[2]="sessao03"; //listastr[3]="sessao04"; //listastr[4]="sessao05"; // Inform user that we are handling the POST request System.out.println("Pagina Sendo Processada..."); PostElement pe; PostElement pe1; PostElement pe2; String failurecause = ""; StringBuffer strbuff; System.out.println("Servidor Enviando Pagina\n"); OutputStream sout; InputStream sin; SerialPort sp; MonitorSensor mosensor = new MonitorSensor(); MonitorCelular mocelular = new MonitorCelular(); pe = (PostElement)data.elementAt(0); FileOutputStream arquivolog; PrintStream alog; if(flagjaligado == 1){ gifligado = "mligar.gif"; else gifligado = "m3desligado.gif"; if(flagcelularjaligado == 1){ gifcelular = "mligar.gif"; else gifcelular = "m3desligado.gif"; if(pe.value.equals("zero")){ // Check the user name and password they submited. pe = (PostElement)data.elementAt(1); pe1 = (PostElement)data.elementAt(2); pe2 = (PostElement)data.elementAt(3); </title>" int flag = 0; strbuff = new StringBuffer(); if (!pe.value.equals(usuariologin) && pe2.value.equals("index") ) { failurecause = "Usuário ou Senha Inválidos"; String textoanexado = new String(); textoanexado = " Usuário Inválido!"; // Write out the HTML headers and basic title text here strbuff.append( "<html>" +"<head>" +"<title>-$= Alarme Monitorado e Controlado pela WEB =$-

69 +"<style type=\"text/css\">" +"<!--" +".style1 {font-family: \"Courier New\", Courier, monospace" +"-->" +"</style>" +"</head>" +"<body>" +"<div align=\"center\"><img src=\"logosistemaweb.gif\" width=\"447\" height=\"109\" alt=\"alarme Michel e Jefferson\"></div>" +"<br>" +"<table width=\"455\" border=\"1\" align=\"center\">" +" <tr>" +" <td><table width=\"445\" border=\"0\" align=\"center\">" +" <tr>" +" <td colspan=\"4\"><div align=\"center\" class=\"style1\">" +" <p>entre com Nome de Usuario e Senha.</p>" +" <p><br>" +" </p>" +" </div></td>" +" </tr>" +" <tr><form METHOD=\"POST\" ENCTYPE=\"application/x-wwwform-urlencoded\" ACTION=\"PostHandlerAlarme\">" +" <td width=\"45\"><div align=\"center\" class=\"style1\">" +" <input type=\"hidden\" name=\"verificador\" value=\"zero\">" +" </div></td>" +" <td width=\"78\"><span class=\"style1\">nome:</span></td>" +" <td colspan=\"2\"><input type=\"text\" name=\"name\" ></td>" +" </tr>" +" <tr>" +" <td rowspan=\"2\"><div align=\"center\" class=\"style1\"></div></td>" +" <td><span class=\"style1\">senha:</span></td>" +" <td colspan=\"2\"><input type=\"password\" name=\"password\" >" +" <input type=\"hidden\" name=\"index\" value=\"index\">" +" <input type=\"submit\" value=\"enviar\"></td></form>" +" </tr>" +" <tr>" +" <td colspan=\"2\"><div align=\"center\"></div></td>" +" <td width=\"249\"><span class=\"style1\">"+textoanexado+"</span></td>" +" </tr>" +" </table></td>" +" </tr>" +"</table>" ); // Tell the browser if their login worker or not else if ( pe.value.equals(usuariologin) &&!pe1.value.equals(senhalogin) && pe2.value.equals("index") ) { failurecause = "Usuário ou Senha Inválidos"; // Write out the HTML headers and basic title text here String textoanexado = new String(); 69

70 // Tell the browser if their login worker or not textoanexado = " Senha Invalida"; // Write out the HTML headers and basic title text here strbuff.append( "<html>" +"<head>" +"<title>-$= Alarme Monitorado e Controlado pela WEB =$-</title>" +"<style type=\"text/css\">" +"<!--" +".style1 {font-family: \"Courier New\", Courier, monospace" +"-->" +"</style>" +"</head>" +"<body>" +"<div align=\"center\"><img src=\"logosistemaweb.gif\" width=\"447\" height=\"109\" alt=\"alarme Michel e Jefferson\"></div>" +"<br>" +"<table width=\"455\" border=\"1\" align=\"center\">" +" <tr>" +" <td><table width=\"445\" border=\"0\" align=\"center\">" +" <tr>" +" <td colspan=\"4\"><div align=\"center\" class=\"style1\">" +" <p>entre com Nome de Usuario e Senha.</p>" +" <p><br>" +" </p>" +" </div></td>" +" </tr>" +" <tr><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\">" +" <td width=\"45\"><div align=\"center\" class=\"style1\">" +" <input type=\"hidden\" name=\"verificador\" value=\"zero\">" +" </div></td>" +" <td width=\"78\"><span class=\"style1\">nome:</span></td>" +" <td colspan=\"2\"><input type=\"text\" name=\"name\"></td>" +" </tr>" +" <tr>" +" <td rowspan=\"2\"><div align=\"center\" class=\"style1\"></div></td>" +" <td><span class=\"style1\">senha:</span></td>" +" <td colspan=\"2\"><input type=\"password\" name=\"password\">" +" <input type=\"hidden\" name=\"index\" value=\"index\">" +" <input type=\"submit\" value=\"enviar\"></td></form>" +" </tr>" +" <tr>" +" <td colspan=\"2\"><div align=\"center\"></div></td>" +" <td width=\"249\"><span class=\"style1\">"+textoanexado+"</span></td>" +" </tr>" 70

71 71 +" </table></td>" +" </tr>" +"</table>" ); // Tell the browser if their login worker or not else if (pe.value.equals(usuariologin) && pe1.value.equals(senhalogin) && pe2.value.equals("index") ){ String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " Usuário Logado com Sucesso."; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\"naoverificado.gif\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\"naoverificado.gif\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\"naoverificado.gif\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\"

72 72 width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">usuario Logado com Sucesso.</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else strbuff.append(failurecause + "<BR>\r\n" ); // Create HTML footers strbuff.append( "</BODY></HTML>" ); // Use HTTPWorker's encode body function to generate the URL encoded response out.write( work.encodebody( HTTPServer.HTTP_OK, "OK", HTTPServer.MIME_TEXT_HTML, strbuff.length() ) ); // Send out the bytes of our response page out.write( strbuff.tostring().getbytes() ); // Ensure that our data is written imediatly out.flush(); // Inform user that we are done handling the POST request System.out.println("Pagina Enviada Com Sucesso!"); else /*if(!pe.value.equals("zero"))*/{ // Check the user name and password they submited. pe = (PostElement)data.elementAt(1); pe1 = (PostElement)data.elementAt(2); //pe2 = (PostElement)data.elementAt(2); strbuff = new StringBuffer(); if ( pe.value.equals("ligar") && pe1.value.equals("alarme") && flagjaligado == 0 ){ flagjaligado = 1; String messagestatus01 = new String(); String messagestatus02 = new String(); //get bat //get bat status //ligar //retornar na tela //mandar no celular //monitor try { //strbuff.append( htmlheadergeneric ); //pegando status da bateria da central String messagestring = "101GETBAT\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial1").open("lcentral", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream();

73 73 sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada a Central\n"); sout.flush(); int count; int valorbuffer; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); Central <<\r\n"); Central <<\r\n"); for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 51) { //strbuff.append( "\n>> Bateria OK da gifcentral = "bateriaok.gif"; messagestatus01 = "Batt Central OK"; System.out.println(valorBuffer); else if(i==9 && valorbuffer == 52) { //strbuff.append( "\n>> Bateria BAIXA da gifcentral = "bateriafraca.gif"; messagestatus01 = "Batt Central LOW"; System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); sp.close(); //pegando status da bateria do sensor messagestring = "101GET_BATT_STATUS\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n");

74 74 sout.flush(); count=0; valorbuffer=0; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); SENSOR 01 <<\r\n"); <<\r\n"); for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 51) { //strbuff.append( "\n>> Bateria BAIXA do gifsensor = "bateriaok.gif"; messagestatus02 = "Batt Sensor OK"; System.out.println(valorBuffer); else if(i==9 && valorbuffer == 52) { //strbuff.append( "\n>> Bateria OK do SENSOR gifsensor = "bateriafraca.gif"; messagestatus02 = "Batt Sensor LOW"; System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); //sp.close(); //ligando o sensor que sai do standby sp.close(); messagestring = "101LIGAR\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Comunicacao Serial OK.");

75 75 sp.close(); arquivolog = new FileOutputStream("html/arquivoLog.txt",true); alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("alarme Ligado: " + dataatual.tostring()+"\r\n"); alog.close(); //mandando sms /* messagestring = "at+cmgs=\""+ numerocelular +"\""; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); //certifica-se de que enviou sout.flush(); //segundo caracter sout.write(0x0d); sout.flush(); //terceiro caracter sout.write(0x0a); sout.flush(); //mensagem a ser enviada messagestring = " \nweb ALARME:\nLIGADO\n"+messageStatus01+"\n"+messageStatus02+"\n"; sout.write(messagestring.getbytes()); sout.flush(); //caracter de final de comando sout.write(0x1a); System.out.println("Mensagem Enviada\n"); sout.flush(); System.out.println("Dados Interpretados\n"); sp.close(); */ String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " >> Sensor e Monitoramento Ligados <<"; //gifstatus = "sligado.gif"; gifligado = "mligar.gif"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\"

76 align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); 76 catch (Exception e) { System.out.println(e.getMessage()); <<\r\n"); //strbuff.append( "\n>> Sensor e Monitoramento Ligados flagstatussensor = 0; flagjadesligado = 0; mosensor.start(); else if ( pe.value.equals("ligar") && pe1.value.equals("alarme") && flagjaligado == 1 ){ String textoanexado = new String();

77 77 // Tell the browser if their login worker or not textoanexado = " >> Sensor e Monitoramento Já Ligados <<"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); ){ else if(pe.value.equals("setcelular") && pe1.value.equals("alarme")

78 78 pe = (PostElement)data.elementAt(3); System.out.println(pe.value.toString()); numerocelular = pe.value.tostring(); //strbuff.append( htmlheadergeneric ); //strbuff.append( "\nnumero Celular Alterado com Sucesso.\n"); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " Numero Celular Alterado com Sucesso"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div

79 align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else if(pe.value.equals("getcelular") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //sessaoiniciada = 1; //sessaovalor ++; //if(sessaovalor >= 4) // sessaovalor = 0; //strbuff.append( "\nnumero Celular: "+ numerocelular); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = "Numero Celular: "+numerocelular; 79 strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div

80 align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else if(pe.value.equals("setuser") && pe1.value.equals("alarme") ){ pe = (PostElement)data.elementAt(3); System.out.println(pe.value.toString()); usuariologin = pe.value.tostring(); //strbuff.append( htmlheadergeneric ); //strbuff.append( "\nnumero Celular Alterado com Sucesso.\n"); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = "Usuário Alterado com Sucesso"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do 80

81 Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else if(pe.value.equals("getuser") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //sessaoiniciada = 1; //sessaovalor ++; //if(sessaovalor >= 4) // sessaovalor = 0; //strbuff.append( "\nnumero Celular: "+ numerocelular); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = "Usuário: "+usuariologin; 81 strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table

82 width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else if(pe.value.equals("setpass") && pe1.value.equals("alarme") ){ pe = (PostElement)data.elementAt(3); System.out.println(pe.value.toString()); senhalogin = pe.value.tostring(); //strbuff.append( htmlheadergeneric ); //strbuff.append( "\nnumero Celular Alterado com Sucesso.\n"); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = "Password Alterado com Sucesso"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div 82

83 align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else if(pe.value.equals("getpass") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //sessaoiniciada = 1; //sessaovalor ++; //if(sessaovalor >= 4) // sessaovalor = 0; //strbuff.append( "\nnumero Celular: "+ numerocelular); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = "Password: "+senhalogin; 83 strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara

84 Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else if ( pe.value.equals("rearmar") && pe1.value.equals("alarme") ){ flagstatussensor = 1; flagjaligado = 1; System.out.println("Desligando..."); //strbuff.append( htmlheadergeneric ); String messagestatus01 = new String(); String messagestatus02 = new String(); //get bat //get bat status //ligar //retornar na tela //mandar no celular //monitor try { //pegando status da bateria da central String messagestring = "101GETBAT\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial1").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, 84

85 85 SerialPort.PARITY_NONE); SerialPort.STOPBITS_1, sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); int count; int valorbuffer; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); Central <<\r\n"); Central <<\r\n"); for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 51) { //strbuff.append( "\n>> Bateria OK da gifcentral = "bateriaok.gif"; messagestatus01 = "Batt Central OK"; System.out.println(valorBuffer); else if(i==9 && valorbuffer == 52) { //strbuff.append( "\n>> Bateria BAIXA da gifcentral = "bateriafraca.gif"; messagestatus01 = "Batt Central LOW"; System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); sp.close(); //pegando status da bateria do sensor messagestring = "101GET_BATT_STATUS\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);

86 86 sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); count=0; valorbuffer=0; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); SENSOR 01 <<\r\n"); 01 <<\r\n"); for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 52) { //strbuff.append( "\n>> Bateria BAIXA do gifsensor = "bateriafraca.gif"; messagestatus02 = "Batt Sensor LOW"; System.out.println(valorBuffer); else if(i==9 && valorbuffer == 51) { //strbuff.append( "\n>> Bateria OK do SENSOR gifsensor = "bateriaok.gif"; messagestatus02 = "Batt Sensor OK"; System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); sp.close(); //ligando o sensor que sai do standby sp.close(); messagestring = "101LIGAR\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);

87 87 sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Comunicacao Serial OK."); sp.close(); arquivolog = new FileOutputStream("html/arquivoLog.txt",true); alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("alarme Rearmado: " + dataatual.tostring()+"\r\n"); alog.close(); //mandando sms /* messagestring = "at+cmgs=\""+ numerocelular +"\""; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); //certifica-se de que enviou sout.flush(); //segundo caracter sout.write(0x0d); sout.flush(); //terceiro caracter sout.write(0x0a); sout.flush(); //mensagem a ser enviada messagestring = " \nweb ALARME:\nREARMADO\n"+messageStatus01+"\n"+messageStatus02+"\n"; sout.write(messagestring.getbytes()); sout.flush(); //caracter de final de comando sout.write(0x1a); System.out.println("Mensagem Enviada\n"); sout.flush(); System.out.println("Dados Interpretados\n"); sp.close(); */ String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " >> Central Rearmada <<"; gifstatus = "sligado.gif"; gifligado = "mligar.gif"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color:

88 #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); catch (Exception e) { System.out.println(e.getMessage()); //strbuff.append( "\n>> Central Rearmada <<\r\n"); System.out.println("Ligando...\nCentral Rearmada."); while(true) { if(!mosensor.isalive()) break; 88

89 89 flagstatussensor = 0; flagjadesligado = 0; mosensor.start(); /*else if ( pe.value.equals("msensor") && pe1.value.equals("alarme") ){ strbuff.append( htmlheadergeneric ); strbuff.append( "\n>> Monitoramento dos Sensores Ligado <<\r\n"); try { //Flag = 0 $ Monitoramento Pode Ocorrer flagstatussensor = 0; mosensor.start(); System.out.println("Monitoramento Ativado"); String messagestring = "SERIAL1\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("write", 2000); SerialPort.DATABITS_8, SerialPort.PARITY_NONE); sp.setserialportparams(2400, SerialPort.STOPBITS_1, ){ sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Comunicacao Serial OK."); sp.close(); catch (Exception e) { System.out.println(e.getMessage()); */ else if ( pe.value.equals("celular") && pe1.value.equals("alarme") //strbuff.append( htmlheadergeneric ); //strbuff.append( "\n>> Monitoramento de Comandos SMS Ligado <<\r\n"); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " >>Monitoramento de Comandos SMS Ligado<<"; gifcelular = "mligar.gif"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar

90 Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); try { //Flag = 0 $ Monitoramento Pode Ocorrer flagstatuscelular = 0; flagcelularjaligado = 1; mocelular.start(); System.out.println("Monitoramento Celular Ativado"); String messagestring = "Monitor Celular Ligado\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("write", 2000); 90 SerialPort.DATABITS_8, SerialPort.PARITY_NONE); sp.setserialportparams(2400, SerialPort.STOPBITS_1, sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Comunicacao Serial OK.");

91 91 sp.close(); catch (Exception e) { System.out.println(e.getMessage()); else if ( pe.value.equals("dsensor") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //strbuff.append( "\n>> Monitoramento dos Sensores Desligado <<\r\n"); try { //Flag = 1 $ Monitoramento Cancelado flagstatussensor = 1; System.out.println("Monitoramento dos Sensores Desligado"); catch (Exception e) { System.out.println(e.getMessage()); else if ( pe.value.equals("dcelular") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //strbuff.append( "\n>> Monitoramento de Comandos SMS Desligado <<\r\n"); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " >>Monitoramento de Comandos SMS Desligado<<"; gifcelular = "m3desligado.gif"; flagcelularjaligado = 0; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\"

92 value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); try { //Flag = 1 $ Monitoramento Cancelado flagstatuscelular = 1; flagcelularjaligado = 0; System.out.println("Monitoramento Celular Desligado"); 92 catch (Exception e) { System.out.println(e.getMessage()); else if ( pe.value.equals("desligar") && pe1.value.equals("alarme") && flagjadesligado == 0){ //strbuff.append( htmlheadergeneric ); //strbuff.append( "\n>> Sensor Desligado <<\r\n"); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " >> Sensor e Monitoramento Desligados <<"; gifstatus = "sstandby.gif"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option

93 value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); try { //gravando log arquivolog = new FileOutputStream("html/arquivoLog.txt",true); alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("alarme Desligado: " + dataatual.tostring()+"\r\n"); alog.close(); 93 //mandando sms de desligado /* String messagestring = "at+cmgs=\""+ numerocelular +"\""; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("write", 2000);

94 94 SerialPort.DATABITS_8, SerialPort.PARITY_NONE); sp.setserialportparams(2400, SerialPort.STOPBITS_1, sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); //certifica-se de que enviou ALARME:\nDESLIGADO\n"; sout.flush(); //segundo caracter sout.write(0x0d); sout.flush(); //terceiro caracter sout.write(0x0a); sout.flush(); //mensagem a ser enviada messagestring = " \nweb sout.write(messagestring.getbytes()); sout.flush(); //caracter de final de comando sout.write(0x1a); System.out.println("Mensagem Enviada\n"); sout.flush(); System.out.println("Dados Interpretados\n"); sp.close(); */ catch (Exception e) { System.out.println(e.getMessage()); //seta flag para parar monitoramento valorstatussensor[0] = 0; flagstatussensor = 1; flagjadesligado = 1; flagjaligado = 0; else if ( pe.value.equals("desligar") && pe1.value.equals("alarme") && flagjadesligado == 1 ){ //strbuff.append( htmlheadergeneric ); //strbuff.append( "\n>> Sensor Já Desligado <<\r\n"); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " >>Sensor e Monitoramento Já Desligados<<"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\"

95 value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else if ( pe.value.equals("status") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //strbuff.append("recebendo Status: "); try { //pegando status da bateria da central String messagestatus01 = new String(); String messagestatus02 = new String(); String messagestatus03 = new String(); String messagestring = "101GETBAT\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial1").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); 95

96 96 sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); int count; int valorbuffer; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); Central <<\r\n"); Central <<\r\n"); for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 51) { //strbuff.append( "\n>> Bateria OK da gifcentral = "bateriaok.gif"; messagestatus01 = "Batt Central OK"; System.out.println(valorBuffer); else if(i==9 && valorbuffer == 52) { //strbuff.append( "\n>> Bateria BAIXA da gifcentral = "bateriafraca.gif"; messagestatus01 = "Batt Central LOW"; System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); sp.close(); //pegando status da bateria do sensor messagestring = "101GET_BATT_STATUS\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes());

97 97 System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); count=0; valorbuffer=0; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); SENSOR 01 <<\r\n"); 01 <<\r\n"); for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 52) { //strbuff.append( "\n>> Bateria BAIXA do gifsensor = "bateriafraca.gif"; messagestatus02 = "Batt Sensor LOW"; System.out.println(valorBuffer); else if(i==9 && valorbuffer == 51) { //strbuff.append( "\n>> Bateria OK do SENSOR gifsensor = "bateriaok.gif"; messagestatus02 = "Batt Sensor OK"; System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); sp.close(); Date dataatual = new Date(); System.out.println(dataAtual.toString()); if(valorstatussensor[0] == 0) { //strbuff.append("sensor StandBy.\r\n"); gifstatus = "sstandby.gif"; messagestatus03 = "Sensor StandBy"; else if(valorstatussensor[0] == 1) { //strbuff.append("sensor Ligado.\r\n"); gifstatus = "sligado.gif"; messagestatus03 = "Sensor Ligado"; else if(valorstatussensor[0] == 2)

98 98 { //strbuff.append("sensor Disparado.\r\n"); gifstatus = "alarmedisparado.gif"; messagestatus03 = "Sensor Disparado"; arquivolog = new FileOutputStream("html/arquivoLog.txt",true); alog = new PrintStream(arquivoLog); alog.println("status Verificado: " + dataatual.tostring()+"\r\n"); alog.close(); //mandando sms /* messagestring = "at+cmgs=\""+ numerocelular +"\""; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); //certifica-se de que enviou sout.flush(); //segundo caracter sout.write(0x0d); sout.flush(); //terceiro caracter sout.write(0x0a); sout.flush(); //mensagem a ser enviada messagestring = " \nweb ALARME:\n"+messageStatus01+"\n"+messageStatus02+"\n"+messageStatus03; sout.write(messagestring.getbytes()); sout.flush(); //caracter de final de comando sout.write(0x1a); System.out.println("Mensagem Enviada\n"); sout.flush(); System.out.println("Dados Interpretados\n"); sp.close(); */ //montando html String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " Status Recebido"; strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size:

99 small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); catch (Exception e) { System.out.println(e.getMessage()); else if ( pe.value.equals("getip") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //strbuff.append( "\n>> Endereco IP: "+TININet.getIPAddress()+"<br>>> Mascara SubRede:"+TININet.getSubnetMask()); String textoanexado = new String(); // Tell the browser if their login worker or not 99

100 100 textoanexado = "Endereco IP: "+TININet.getIPAddress()+"<br>>> Mascara SubRede:"+TININet.getSubnetMask(); strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); System.out.println("Endereco IP Revelado");

101 else if ( pe.value.equals("setip") && pe1.value.equals("alarme") ){ pe = (PostElement)data.elementAt(4); TININet.setIPAddress(pe.value.toString()); //strbuff.append( htmlheadergeneric ); // strbuff.append( "\nendereco IP Alterado com Sucesso.\r\n"); String textoanexado = new String(); // Tell the browser if their login worker or not textoanexado = " Endereco IP Alterado com Sucesso"; 101 strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {fontfamily: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; -- ></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf- 8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span

102 class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); else if ( pe.value.equals("getdata") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //strbuff.append( "\n>> Endereco IP: "+TININet.getIPAddress()+"<br>>> Mascara SubRede:"+TININet.getSubnetMask()); String textoanexado = new String(); Date dataatual = new Date(); // Tell the browser if their login worker or not textoanexado = "Data Atual: "+dataatual.tostring(); 102 strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span

103 class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); System.out.println("Endereco IP Revelado"); else if ( pe.value.equals("setdata") && pe1.value.equals("alarme") ){ //strbuff.append( htmlheadergeneric ); //strbuff.append( "\n>> Endereco IP: "+TININet.getIPAddress()+"<br>>> Mascara SubRede:"+TININet.getSubnetMask()); String textoanexado = new String(); Date dataatual = new Date(); // Tell the browser if their login worker or not textoanexado = "Data Atual: "+dataatual.tostring(); 103 strbuff.append( "<html><head><title>-$= Alarme Monitorado e Controlado pela WEB =$-</title><style type=\"text/css\"><!--.style2 {font-family: \"Courier New\", Courier, monospacea:link {color: #FFFFFF;a:visited {color: #FFFFFF;a:hover {color: #FFFFFF;a:active {color: #FFFFFF;.style4 {font-family: \"Courier New\", Courier, monospace; font-size: small; --></style><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"></head><body><div align=\"center\"><img src=\"logosistemaweb.gif\" alt=\"web Alarme Michel e Jefferson\" width=\"451\" height=\"111\"><br></div><br><table width=\"455\" border=\"1\" align=\"center\"><tr><td><table width=\"440\" border=\"0\" align=\"center\"><tr><td width=\"215\"><div align=\"right\" class=\"style2\">selecione um comando:</div></td><td width=\"20\"><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\"><input type=\"hidden\" name=\"verificador\" value=\"inside\"></td><td width=\"151\"><select size=\"1\" name=\"name\"><option value=\"\" selected>lista de Comandos</option><option value=\"ligar\">monitorar Sensores</option><option value=\"celular\">monitorar SMS</option><option value=\"status\">status</option><option value=\"rearmar\">rearmar Central</option><option value=\"getip\">verificar IP</option><option value=\"setip\">ajustar IP</option><option value=\"setipmask\">ajustar Mascara Subrede</option><option value=\"getcelular\">ver Numero Celular</option><option value=\"setcelular\">ajustar Numero Celular</option><option value=\"getuser\">verifica Usuario</option><option value=\"setuser\">ajustar Nome Usuario</option><option value=\"getpass\">verifica Senha</option><option value=\"setpass\">ajustar Senha</option><option value=\"getdata\">ver Data</option><option value=\"setdata\">ajustar Data</option><option value=\"dcelular\">desligar Mon. SMS</option><option value=\"desligar\">desligar Mon. Sensores</option><option value=\"sair\">sair</option></tr><tr><td><div align=\"center\"><span class=\"style4\">parametros dos Comandos</span></div></td><td><input type=\"hidden\" name=\"index\" value=\"alarme\"></td><td><input type=\"text\" name=\"secline\"></td></tr><tr><td> </td><td> </td><td><input type=\"submit\" value=\"enviar\"></form></td></tr></table><p></p><table width=\"350\" border=\"0\" align=\"center\" bordercolor=\"#333333\"><tr><td width=\"185\"><div align=\"center\" class=\"style2\">bateria da Central</div></td><td width=\"21\"><span class=\"style2\">:</span></td><td

104 width=\"130\"><img src=\""+gifcentral+"\" alt=\"status Bateria\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">bateria do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifsensor+"\" alt=\"bateria Sensor\" width=\"122\" height=\"22\"></td></tr><tr><td><div align=\"center\" class=\"style2\">status do Sensor</div></td><td><span class=\"style2\">:</span></td><td><img src=\""+gifstatus+"\" alt=\"status Sensor\" width=\"122\" height=\"22\"></td></tr></table><br><table width=\"420\" border=\"0\" align=\"center\"><tr><td width=\"260\"><div align=\"center\"><span class=\"style2\">monitoramento do Sensor</span></div></td><td width=\"150\"><div align=\"center\"><img src=\""+gifligado+"\" alt=\"monitoramento do Sensor\" width=\"122\" height=\"22\"></div></td></tr><tr><td><div align=\"center\"><span class=\"style2\">monitoramento de SMS</span></div></td><td><div align=\"center\"><img src=\""+gifcelular+ "\" alt=\"monitoramento de SMS\" width=\"122\" height=\"22\"></div></td></tr></table><br></center><table width=\"445\" border=\"0\" align=\"center\"><tr><td><span class=\"style2\">mensagem da Central</span></td></tr><tr><td><span class=\"style2\">"+textoanexado+"</span></td></tr><tr><td><div align=\"center\"><a href=\"arquivolog.txt\" target=\"_blank\"><img src=\"verificalog.gif\" alt=\"verificar Arquivo de Log\" width=\"133\" height=\"35\"></a></div></td></tr></table></td></tr></table><p></p>"); System.out.println("Endereco IP Revelado"); else if ( pe.value.equals("sair") && pe1.value.equals("alarme") ) { failurecause = "Logout"; // Write out the HTML headers and basic title text here String textoanexado = new String(); textoanexado = " Sessao Finalizada com Sucesso."; // Write out the HTML headers and basic title text here strbuff.append( "<html>" +"<head>" +"<title>-$= Alarme Monitorado e Controlado pela WEB =$-</title>" +"<style type=\"text/css\">" +"<!--" +".style1 {font-family: \"Courier New\", Courier, monospace" +"-->" +"</style>" +"</head>" +"<body>" +"<div align=\"center\"><img src=\"logosistemaweb.gif\" width=\"447\" height=\"109\" alt=\"alarme Michel e Jefferson\"></div>" +"<br>" +"<table width=\"455\" border=\"1\" align=\"center\">" +" <tr>" +" <td><table width=\"445\" border=\"0\" align=\"center\">" +" <tr>" +" <td colspan=\"4\"><div align=\"center\" class=\"style1\">" +" <p>entre com Nome de Usuario e Senha.</p>" +" <p><br>" +" </p>" +" </div></td>" +" </tr>" +" <tr><form METHOD=\"POST\" ENCTYPE=\"application/x-www-form-urlencoded\" ACTION=\"PostHandlerAlarme\">" 104

105 +" <td width=\"45\"><div align=\"center\" class=\"style1\">" +" <input type=\"hidden\" name=\"verificador\" value=\"zero\">" +" </div></td>" +" <td width=\"78\"><span class=\"style1\">nome:</span></td>" +" <td colspan=\"2\"><input type=\"text\" name=\"name\" ></td>" +" </tr>" +" <tr>" +" <td rowspan=\"2\"><div align=\"center\" class=\"style1\"></div></td>" +" <td><span class=\"style1\">senha:</span></td>" +" <td colspan=\"2\"><input type=\"password\" name=\"password\" >" +" <input type=\"hidden\" name=\"index\" value=\"index\">" +" <input type=\"submit\" value=\"enviar\"></td></form>" +" </tr>" +" <tr>" +" <td colspan=\"2\"><div align=\"center\"></div></td>" +" <td width=\"249\"><span class=\"style1\">"+textoanexado+"</span></td>" +" </tr>" +" </table></td>" +" </tr>" +"</table>" ); //sessaoiniciada = 0; // Tell the browser if their login worker or not //strbuff.append("\nsessao Finalizada com Sucesso.\n"); else strbuff.append( "<html>" + "<head>" + "<title>-$= Alarme Monitorado e Controlado pela WEB =$-</title>" + "</head>" + "<body>" + "<img src=\"sensor_logo.gif\" width=\"254\" height=\"127\" alt=\"alarme Michel e Jefferson\">" + "<br>" + "<pre>" + "Entre com um" + "<FORM METHOD=\"POST\" ENCTYPE=\"application/xwww-form-urlencoded\" ACTION=\"PostHandlerAlarme\">" + " <INPUT TYPE=\"hidden\" NAME=\"verificador\" value=\"inside\">" + "\n Comando: "/*<INPUT TYPE=\"text\" NAME=\"Name\" value=\"ligar\">"*/ + "<select size=\"1\" name=\"name\">" + "<option value=\"\" selected>lista de Comandos</option>" + "<option value=\"ligar\">ligar</option>" + "<option value=\"status\">status</option>" + "<option value=\"rearmar\">rearmar</option>" + "<option value=\"getip\">getip</option>" + "<option value=\"setip\">setip</option>" + "<option value=\"setipmask\">setipmask</option>" 105

106 + "<option value=\"getcelular\">getcelular</option>" + "<option value=\"setcelular\">setcelular</option>" + "<option value=\"getdata\">getdata</option>" + "<option value=\"setdata\">setdata</option>" + "<option value=\"desligar\">desligar</option>" + "<option value=\"celular\">celular</option>" + "<option value=\"sair\">sair</option>" + "</select>" + " <INPUT TYPE=\"hidden\" NAME=\"Index\" VALUE=\"alarme\">" + "<INPUT TYPE=\"text\" NAME=\"secLine\" value=\"- restrito-\">" + "\n\n <INPUT TYPE=\"submit\" VALUE=\"Enviar\">" + "</FORM>" + "</pre>" ); // Create HTML footers strbuff.append( "</BODY></HTML>" ); // Use HTTPWorker's encode body function to generate the URL encoded response out.write( work.encodebody( HTTPServer.HTTP_OK, "OK", HTTPServer.MIME_TEXT_HTML, strbuff.length() ) ); // Send out the bytes of our response page out.write( strbuff.tostring().getbytes() ); // Ensure that our data is written imediatly out.flush(); 106 // Inform user that we are done handling the POST request System.out.println("Pagina Enviada Com Sucesso!"); public static int getflagsensor(){ int retorno = flagstatussensor; return retorno; public static void setstatussensor(int posicao, int status){ valorstatussensor[posicao] = status;

107 ANEXO E CÓDIGO FONTE DA CENTRAL MONITORAMENTO DE SENSOR /* * Copyright (C) 2008 Michel e Jefferson, All Rights Reserved. * * Software desenvolvido para o projeto final de curso * da Engenharia de Computacao pela Pontifícia Universidade Católica * do Paraná com orientacao do Professor Altair Santin * * Software desenvolvido na ferramenta Eclipse com suporte * ao jdk da TINI. * * */ import java.io.*; import java.util.*; import com.dalsemi.tininet.http.*; import java.util.enumeration; import javax.comm.commportidentifier; import javax.comm.serialport; import com.dalsemi.system.tinios; import com.dalsemi.comm.*; import com.dalsemi.*; import com.dalsemi.system.clock; public class MonitorSensor extends Thread implements Runnable{ public boolean statusligado = true; public void run(){ System.out.println("Thread de Monitoramento Ligada\n"); OutputStream sout; InputStream sin; SerialPort sp; //comandos sms OutputStream cout; InputStream cin; SerialPort cp; boolean jadisparado = false; while (statusligado) { try{ Thread.sleep(30000); String messagestring = "101GET_STATUS\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial4").open("get_status_monitor", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); System.out.println("Dados Interpretados\n"); 107

108 108 int count; int valorbuffer; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 48) { //sensor standby PostHandlerAlarme.setStatusSensor(0,0); PostHandlerAlarme.setStatusSensor(1,0); System.out.println(valorBuffer); jadisparado = false; else if(i==9 && valorbuffer == 49) { //sensor ligado if(posthandleralarme.valorstatussensor[1]==2) { //sensor veio do disparado para ligado - rearmado PostHandlerAlarme.valorStatusSensor[1] = 1; PostHandlerAlarme.flagRearmado = 1; sp.close(); //salvando log FileOutputStream arquivolog; PrintStream alog; arquivolog = new FileOutputStream("html/arquivoLog.txt",true); alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("alarme Rearmado - 5 Minutos: " + dataatual.tostring()+"\r\n"); alog.close(); PostHandlerAlarme.setStatusSensor(0,1); PostHandlerAlarme.setStatusSensor(1,1); System.out.println(valorBuffer); jadisparado = false;

109 109 else if(i==9 && valorbuffer == 50) { // sensor disparado if(jadisparado == false){ PostHandlerAlarme.msgJaEnviou = 1; jadisparado = true; sp.close(); PostHandlerAlarme.setStatusSensor(0,2); PostHandlerAlarme.setStatusSensor(1,2); System.out.println("Alarme Disparado"); //strbuff.append("sensor Disparado.\r\n"); //salvando log FileOutputStream arquivolog; PrintStream alog; arquivolog = new FileOutputStream("html/arquivoLog.txt",true); dataatual.tostring()+"\r\n"); alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("alarme DISPARADO: " + alog.close(); sp.close(); //sleep(3000); //pegando status //pegando status da bateria da central messagestring = "101GETBAT\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial1").open("bat central", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); count = 0; valorbuffer = 0; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48)

110 110 break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 51) { //bateria ok PostHandlerAlarme.valorBateriaCentral = 1; //System.out.println(valorBuffer); else if(i==9 && valorbuffer == 52) { //bateria low PostHandlerAlarme.valorBateriaCentral = 0; //System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); sp.close(); //pegando status da bateria do sensor messagestring = "101GET_BATT_STATUS\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial4").open("bat sensor", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sout = sp.getoutputstream(); sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); count=0; valorbuffer=0; while(true){ sin = sp.getinputstream(); valorbuffer = sin.read(); if(valorbuffer == 48){ valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; count = sin.available(); System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n");

111 111 for(int i =0;i<10;i++) { valorbuffer = sin.read(); if(i==9 && valorbuffer == 51) { PostHandlerAlarme.valorBateriaSensor = 1; //System.out.println(valorBuffer); else if(i==9 && valorbuffer == 52) { PostHandlerAlarme.valorBateriaSensor = 0; //System.out.println(valorBuffer); //System.out.println("Dados Interpretados\n"); sp.close(); //Busca Flag de Controle if(posthandleralarme.getflagsensor()==1) { statusligado = false; PostHandlerAlarme.valorStatusSensor[0] = 0; messagestring = "101DESLIGAR\n"; sp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial4").open("desligar", 2000); SerialPort.DATABITS_8, SerialPort.PARITY_NONE); sp.setserialportparams(2400, SerialPort.STOPBITS_1, sout = sp.getoutputstream(); OK."); sout.write(messagestring.getbytes()); System.out.println("Comunicacao Serial - Desligar sout.flush(); sout.close(); sp.close(); //System.out.println(PostHandlerAlarme.getSensorStatus()); System.out.println("Desligando Monitoramento do Sensor..."); sp.close(); catch (Exception e) { System.out.println(e.getMessage()); public void setrunning(boolean running){ this.statusligado = running; public void setstopped(){ this.statusligado = false; public void setstarted(){

112 112 this.statusligado = true;

113 113 ANEXO F CÓDIGO FONTE DA CENTRAL MONITORAMENTO DE SMS /* * Copyright (C) 2008 Michel e Jefferson, All Rights Reserved. * * Software desenvolvido para o projeto final de curso * da Engenharia de Computacao pela Pontifícia Universidade Católica * do Paraná com orientacao do Professor Altair Santin * * Software desenvolvido na ferramenta Eclipse com suporte * ao jdk da TINI. * * */ import java.io.*; import java.util.*; import com.dalsemi.tininet.http.*; import java.util.enumeration; import javax.comm.commportidentifier; import javax.comm.serialport; import com.dalsemi.system.tinios; import com.dalsemi.comm.*; import com.dalsemi.*; public class MonitorCelular extends Thread implements Runnable{ // public MonitorSensor() // { // boolean statuscelular = true; public void run(){ System.out.println("Thread de Monitoramento SMS Ligada\n"); //comandos sms OutputStream smsout; InputStream smsin; SerialPort spsms; MonitorSensor mosensor = new MonitorSensor(); while (statuscelular) { try{ Thread.sleep(10000); String messagecomandosms = "at+cmgl=\"rec UNREAD\"\r\n"; spsms = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("thread Celular", 2000); spsms.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); smsout = spsms.getoutputstream(); smsout.write(messagecomandosms.getbytes()); //System.out.println("Requisicao Enviada\n"); smsout.flush(); smsin = spsms.getinputstream();

114 114 int count; int valorbuffer; count = smsin.available(); //System.out.println("Dados no Buffer: " + count); //System.out.println("Dados Recebidos\n"); for(int i =0;i<26;i++) //27 { valorbuffer = smsin.read(); //System.out.println(valorBuffer); if(i==25 && valorbuffer == 79) { System.out.println("Buffer Vazio"); //strbuff.append("sensor StandBy.\r\n"); //System.out.println(valorBuffer); else if(i==23 && valorbuffer == 43) { System.out.println("Novo Comando Recebido"); //strbuff.append("sensor Ligado.\r\n"); //System.out.println(valorBuffer); for(int j=0;j<40;j++){ valorbuffer = smsin.read(); //System.out.println(valorBuffer); if(j==39 && valorbuffer == 76){ FileOutputStream("html/arquivoLog.txt",true); spsms.close(); //ligar System.out.println("LIGAR"); //salvando log FileOutputStream arquivolog; PrintStream alog; arquivolog = new alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("comando SMS Recebido: LIGAR " + dataatual.tostring()+"\r\n"); alog.close(); == 1) //System.out.println(valorBuffer); if(posthandleralarme.flagjaligado { OutputStream cout; SerialPort cp; String messagecelular = "at+cmgs=\""+posthandleralarme.numerocelular+"\""; cp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("envio Status", 2000); cp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);

115 115 cp.getoutputstream(); cout = cout.write(messagecelular.getbytes()); enviou \nweb ALARME:\nAlarme Ja Ligado"; cout.write(messagecelular.getbytes()); comando //certifica-se de que cout.flush(); //segundo caracter cout.write(0x0d); cout.flush(); //terceiro caracter cout.write(0x0a); cout.flush(); //mensagem a ser enviada messagecelular = " cout.flush(); //caracter de final de cout.write(0x1a); System.out.println("Mensagem Enviada\n"); else{ cout.flush(); cout.close(); cp.close(); PostHandlerAlarme.flagJaLigado = 1; new String(); new String(); String messagestatus01 = String messagestatus02 = //get bat //get bat status //ligar //retornar na tela //mandar no celular //monitor try { bateria da central arquivolog; = "101GETBAT\n"; CommPortIdentifier.getPortIdentifier( //pegando status da OutputStream sout; InputStream sin; SerialPort sp; //FileOutputStream //PrintStream alog; String messagestring sp = (SerialPort) "serial1").open("write", 2000);

116 116 sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); count = 0; valorbuffer = 0; sp.getinputstream(); sin.read(); == 48){ while(true){ sin = valorbuffer = if(valorbuffer valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break; sin.available(); count = System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); =0;k<10;k++) sin.read(); valorbuffer == 51) for(int k { valorbuffer = if(k==9 && { //strbuff.append( "\n>> Bateria OK da Central <<\r\n"); messagestatus01 = "Batt Central OK"; System.out.println(valorBuffer);

117 117 valorbuffer == 52) else if(k==9 && { //strbuff.append( "\n>> Bateria BAIXA da Central <<\r\n"); messagestatus01 = "Batt Central LOW"; System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); sp.close(); bateria do sensor "101GET_BATT_STATUS\n"; CommPortIdentifier.getPortIdentifier( //pegando status da messagestring = sp = (SerialPort) "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); count=0; valorbuffer=0; sp.getinputstream(); sin.read(); == 48){ while(true){ sin = valorbuffer = if(valorbuffer valorbuffer = sin.read(); if(valorbuffer == 49){ valorbuffer = sin.read(); if(valorbuffer == 48) break;

118 118 sin.available(); count = System.out.println("Dados no Buffer: " + count); System.out.println("Dados Recebidos\n"); =0;k<10;k++) sin.read(); valorbuffer == 52) for(int k { valorbuffer = if(k==9 && { //strbuff.append( "\n>> Bateria BAIXA do SENSOR 01 <<\r\n"); messagestatus02 = "Batt Sensor LOW"; System.out.println(valorBuffer); valorbuffer == 51) else if(k==9 && { //strbuff.append( "\n>> Bateria OK do SENSOR 01 <<\r\n"); messagestatus02 = "Batt Sensor OK"; System.out.println(valorBuffer); System.out.println("Dados Interpretados\n"); //sp.close(); que sai do standby "101LIGAR\n"; CommPortIdentifier.getPortIdentifier( //ligando o sensor sp.close(); messagestring = sp = (SerialPort) "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes());

119 119 System.out.println("Comunicacao Serial OK."); sp.close(); FileOutputStream("html/arquivoLog.txt",true); PrintStream(arquivoLog); Ligado: " + dataatual.tostring()+"\r\n"); arquivolog = new alog = new dataatual = new Date(); alog.println("alarme alog.close(); "at+cmgs=\""+ PostHandlerAlarme.numeroCelular +"\""; CommPortIdentifier.getPortIdentifier( messagestring = sp = (SerialPort) "serial0").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); //certifica-se de que enviou sout.flush(); //segundo caracter sout.write(0x0d); sout.flush(); //terceiro caracter sout.write(0x0a); sout.flush(); //mensagem a ser enviada messagestring = " \nweb ALARME:\nLIGADO\n"+messageStatus01+"\n"+messageStatus02+"\n"; de comando sout.write(messagestring.getbytes()); sout.flush(); //caracter de final sout.write(0x1a); System.out.println("Mensagem Enviada\n"); sout.flush(); System.out.println("Dados Interpretados\n"); sp.close(); catch (Exception e) {

120 120 System.out.println(e.getMessage()); Sensor e Monitoramento Ligados <<\r\n"); //strbuff.append( "\n>> PostHandlerAlarme.flagStatusSensor = 0; PostHandlerAlarme.flagJaDesligado = 0; mosensor.start(); else if(j==39 && valorbuffer == 68){ spsms.close(); //desligar System.out.println("DESLIGAR"); //salvando log FileOutputStream arquivolog; PrintStream alog; arquivolog = new FileOutputStream("html/arquivoLog.txt",true); alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("comando SMS Recebido: DESLIGAR " + dataatual.tostring()+"\r\n"); alog.close(); if(posthandleralarme.flagjadesligado == 1){ OutputStream cout; SerialPort cp; String messagecelular = "at+cmgs=\""+posthandleralarme.numerocelular+"\""; cp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("envio Status", 2000); cp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); cp.getoutputstream(); cout = enviou cout.write(messagecelular.getbytes()); //certifica-se de que cout.flush(); //segundo caracter cout.write(0x0d); cout.flush();

121 121 \nweb ALARME:\nAlarme Ja Desligado"; comando cout.write(messagecelular.getbytes()); //terceiro caracter cout.write(0x0a); cout.flush(); //mensagem a ser enviada messagecelular = " cout.flush(); //caracter de final de cout.write(0x1a); System.out.println("Mensagem Enviada\n"); else{ cout.flush(); cout.close(); cp.close(); try { OutputStream sout; = "DESLIGAR\n"; CommPortIdentifier.getPortIdentifier( SerialPort sp; String messagestring sp = (SerialPort) "serial0").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); System.out.println("Comunicacao Serial OK."); sp.close(); FileOutputStream("html/arquivoLog.txt",true); PrintStream(arquivoLog); Desligado: " + dataatual.tostring()+"\r\n"); //gravando log arquivolog = new alog = new dataatual = new Date(); alog.println("alarme alog.close(); "at+cmgs=\""+ PostHandlerAlarme.numeroCelular +"\""; messagestring =

122 122 CommPortIdentifier.getPortIdentifier( sp = (SerialPort) "serial0").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); enviou enviada \nweb ALARME:\nDESLIGADO\n"; sout.write(messagestring.getbytes()); de comando //certifica-se de que sout.flush(); //segundo caracter sout.write(0x0d); sout.flush(); //terceiro caracter sout.write(0x0a); sout.flush(); //mensagem a ser messagestring = " sout.flush(); //caracter de final sout.write(0x1a); System.out.println("Mensagem Enviada\n"); sout.flush(); System.out.println("Dados Interpretados\n"); System.out.println(e.getMessage()); monitoramento sp.close(); catch (Exception e) { //seta flag para parar PostHandlerAlarme.flagStatusSensor = 1; PostHandlerAlarme.flagJaDesligado = 1; PostHandlerAlarme.flagJaLigado = 0; else if(j==39 && valorbuffer == 82){ spsms.close(); OutputStream sout; InputStream sin;

123 123 FileOutputStream("html/arquivoLog.txt",true); SerialPort sp; //rearmar System.out.println("REARMAR"); //salvando log FileOutputStream arquivolog; PrintStream alog; arquivolog = new alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("comando SMS Recebido: REARMAR " + dataatual.tostring()+"\r\n"); alog.close(); 1; PostHandlerAlarme.flagStatusSensor = 1; PostHandlerAlarme.flagJaLigado = String(); String(); System.out.println("Desligando..."); Thread.sleep(30000); String messagestatus01 = new String messagestatus02 = new //get bat //get bat status //ligar //retornar na tela //mandar no celular //monitor try { da central "101GETBAT\n"; CommPortIdentifier.getPortIdentifier( //pegando status da bateria String messagestring = sp = (SerialPort) "serial1").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush();

124 124 count = 0; valorbuffer = 0; sp.getinputstream(); sin.read(); 48){ sin.read(); == 49){ while(true){ sin = valorbuffer = if(valorbuffer == valorbuffer = if(valorbuffer valorbuffer = sin.read(); if(valorbuffer == 48) break; no Buffer: " + count); Recebidos\n"); sin.read(); valorbuffer == 51) PostHandlerAlarme.valorBateriaCentral = 1; = "Batt Central OK"; System.out.println(valorBuffer); valorbuffer == 52) PostHandlerAlarme.valorBateriaCentral = 0; = "Batt Central LOW"; count = sin.available(); System.out.println("Dados System.out.println("Dados for(int k =0;k<10;k++) { valorbuffer = if(k==9 && { messagestatus01 else if(k==9 && { messagestatus01 System.out.println(valorBuffer); Interpretados\n"); System.out.println("Dados sp.close(); do sensor //pegando status da bateria

125 125 "101GET_BATT_STATUS\n"; CommPortIdentifier.getPortIdentifier( messagestring = sp = (SerialPort) "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); System.out.println("Requisicao Enviada ao Sensor\n"); sout.flush(); count=0; valorbuffer=0; sp.getinputstream(); sin.read(); 48){ sin.read(); == 49){ while(true){ sin = valorbuffer = if(valorbuffer == valorbuffer = if(valorbuffer valorbuffer = sin.read(); if(valorbuffer == 48) break; no Buffer: " + count); Recebidos\n"); sin.read(); valorbuffer == 52) PostHandlerAlarme.valorBateriaSensor = 0; = "Batt Sensor LOW"; count = sin.available(); System.out.println("Dados System.out.println("Dados for(int t =0;t<10;t++) { valorbuffer = if(t==9 && { messagestatus02

126 126 System.out.println(valorBuffer); valorbuffer == 51) PostHandlerAlarme.valorBateriaSensor = 1; = "Batt Sensor OK"; System.out.println(valorBuffer); else if(t==9 && { messagestatus02 Interpretados\n"); System.out.println("Dados sp.close(); do standby "101LIGAR\n"; CommPortIdentifier.getPortIdentifier( //ligando o sensor que sai sp.close(); messagestring = sp = (SerialPort) "serial4").open("write", 2000); sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); System.out.println("Comunicacao Serial OK."); sp.close(); FileOutputStream("html/arquivoLog.txt",true); PrintStream(arquivoLog); Rearmado: " + datarearme.tostring()+"\r\n"); arquivolog = new alog = new Date datarearme = new Date(); alog.println("alarme alog.close(); "at+cmgs=\""+ PostHandlerAlarme.numeroCelular +"\""; CommPortIdentifier.getPortIdentifier( messagestring = sp = (SerialPort) "serial0").open("write", 2000);

127 127 sp.setserialportparams(2400, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); sp.getoutputstream(); sout = sout.write(messagestring.getbytes()); //certifica-se de que enviou sout.flush(); //segundo caracter sout.write(0x0d); sout.flush(); //terceiro caracter sout.write(0x0a); sout.flush(); //mensagem a ser enviada messagestring = " \nweb ALARME:\nREARMADO\n"+messageStatus01+"\n"+messageStatus02+"\n"; comando sout.write(messagestring.getbytes()); sout.flush(); //caracter de final de sout.write(0x1a); System.out.println("Mensagem Enviada\n"); Interpretados\n"); System.out.println(e.getMessage()); sout.flush(); System.out.println("Dados sp.close(); catch (Exception e) { System.out.println("Ligando...\nCentral Rearmada."); while(true) { if(!mosensor.isalive()) break; = 0; PostHandlerAlarme.flagStatusSensor = 0; PostHandlerAlarme.flagJaDesligado mosensor.start(); else if(j==39 && valorbuffer == 83){ spsms.close(); //status

128 128 FileOutputStream("html/arquivoLog.txt",true); System.out.println("STATUS"); //salvando log FileOutputStream arquivolog; PrintStream alog; arquivolog = new alog = new PrintStream(arquivoLog); Date dataatual = new Date(); alog.println("comando SMS Recebido: STATUS " + dataatual.tostring()+"\r\n"); alog.close(); //comandos sms OutputStream cout; 0) Desligado"; == 0) Ligado"; SerialPort cp; String statuscelular1 = new String(); String statuscelular2 = new String(); String statuscelular3 = new String(); String statuscelular4 = new String(); //verificando status if (PostHandlerAlarme.flagJaLigado == statuscelular1 = "Monitor else if(posthandleralarme.flagjaligado statuscelular1 = "Monitor if(posthandleralarme.valorbateriacentral == 0) statuscelular2= "Bat Central LOW"; else if(posthandleralarme.valorbateriacentral == 1) statuscelular2= "Bat Central OK"; if(posthandleralarme.valorbateriasensor == 0) statuscelular3= "Bat Sensor LOW"; else if(posthandleralarme.valorbateriasensor == 1) statuscelular3= "Bat Sensor OK"; if(posthandleralarme.valorstatussensor[0] == 0) statuscelular4= "Sensor StandBy"; else if(posthandleralarme.valorstatussensor[0]== 1) statuscelular4= "Sensor Ligado"; else if(posthandleralarme.valorstatussensor[0] == 2) statuscelular4= "Sensor Disparado"; String messagecelular = "at+cmgs=\""+posthandleralarme.numerocelular+"\""; cp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("envio Status", 2000);

129 129 SerialPort.DATABITS_8, cp.setserialportparams(2400, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); cout = cp.getoutputstream(); cout.write(messagecelular.getbytes()); //certifica-se de que enviou cout.flush(); //segundo caracter cout.write(0x0d); cout.flush(); //terceiro caracter cout.write(0x0a); cout.flush(); //mensagem a ser enviada messagecelular = " \nweb ALARME:"+statusCelular1+"\n"+statusCelular2+"\n"+statusCelular3+"\n"+statusCelul ar4; cout.write(messagecelular.getbytes()); cout.flush(); //caracter de final de comando cout.write(0x1a); Enviada\n"); System.out.println("Mensagem cout.flush(); cout.close(); cp.close(); break; System.out.println("Dados Recebidos e Interpretados\n"); //sleep(3000); spsms.close(); //System.out.println("Recebido Comando Celular\n"); if(posthandleralarme.msgjaenviou == 1 ){ PostHandlerAlarme.msgJaEnviou = 0; OutputStream cout; SerialPort cp; String messagecelular = "at+cmgs=\""+ PostHandlerAlarme.numeroCelular +"\""; cp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("thread Monitoramento", 2000); SerialPort.DATABITS_8, cp.setserialportparams(2400,

130 130 SerialPort.PARITY_NONE); SerialPort.STOPBITS_1, cout = cp.getoutputstream(); cout.write(messagecelular.getbytes()); //certifica-se de que enviou ALARME:\nAlarme Disparou!"; cout.flush(); //segundo caracter cout.write(0x0d); cout.flush(); //terceiro caracter cout.write(0x0a); cout.flush(); //mensagem a ser enviada messagecelular = " \nweb cout.write(messagecelular.getbytes()); cout.flush(); //caracter de final de comando cout.write(0x1a); System.out.println("Mensagem Enviada\n"); cout.flush(); cout.close(); cp.close(); PostHandlerAlarme.msgJaEnviou = 0; if(posthandleralarme.flagrearmado == 1){ OutputStream cout; SerialPort cp; System.out.println("Alarme Rearmado\n"); String messagecelular = "at+cmgs=\""+ PostHandlerAlarme.numeroCelular +"\""; cp = (SerialPort) CommPortIdentifier.getPortIdentifier( "serial0").open("sensor Disparado", 2000); SerialPort.DATABITS_8, SerialPort.PARITY_NONE); cp.setserialportparams(2400, SerialPort.STOPBITS_1, cout = cp.getoutputstream(); cout.write(messagecelular.getbytes()); //certifica-se de que enviou cout.flush(); //segundo caracter cout.write(0x0d); cout.flush(); //terceiro caracter cout.write(0x0a); cout.flush(); //mensagem a ser enviada

131 131 ALARME:\nAlarme Rearmado!"; messagecelular = " \nweb cout.write(messagecelular.getbytes()); cout.flush(); //caracter de final de comando cout.write(0x1a); System.out.println("Mensagem Enviada\n"); cout.flush(); cout.close(); cp.close(); PostHandlerAlarme.flagRearmado = 0; if(posthandleralarme.flagstatuscelular == 1) { statuscelular = false; PostHandlerAlarme.flagStatusCelular = 0; catch (Exception e) { System.out.println(e.getMessage()); public void setrunning(boolean running){ this.statuscelular = running;

132 ANEXO G ESQUEMA ELÉTRICO COMPLETO DO MÓDULO MONITORAMENTO DA BATERIA 132

133 ANEXO H ESQUEMA ELÉTRICO COMPLETO DO MÓDULO SENSOR DE PRESENÇA 133

134 134 ANEXO I LAYOUT DAS PLACAS FEITAS NO ORCAD Layout do standby, circuito de monitoramento de nível de bateria e o circuito da sirene. Layout do circuito de monitoramento de nível de bateria, do LED da tensão da fonte e do LED para indicar que o módulo está ligado.

135 135 Layout do AT89S52 com interface serial e reguladores de tensão do módulo sensor de presença. Layout do AT89S52 com interface serial e reguladores de tensão do módulo monitoramento da bateria.

WWW.cerne-tec.com.br. Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br

WWW.cerne-tec.com.br. Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br 1 Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br Continuando com o artigo apresentado na edição passada de comunicação USB com o PIC, continuaremos nesta edição o estudo do

Leia mais

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI Manual de Utilização Família MI ÍNDICE 1.0 COMO LIGAR O MÓDULO... pág 03 e 04 2.0 OBJETIVO... pág 05 3.0 COMO CONFIGURAR O MÓDULO MI... pág 06, 07, 08 e 09 4.0 COMO TESTAR A REDE... pág 10 5.0 COMO CONFIGURAR

Leia mais

WiFiShield. Introdução

WiFiShield. Introdução WiFiShield Obrigado por adquirir o WiFiShield do Laboratório de Garagem. Através deste manual, você conhecerá maiores detalhes sobre este produto, para iniciar seus projetos com Arduino e integração com

Leia mais

Características... 3. Identificando a placa... 3. Esquema de ligação... 3. Parâmetros programados no painel de alarme... 4

Características... 3. Identificando a placa... 3. Esquema de ligação... 3. Parâmetros programados no painel de alarme... 4 P18640 - Rev. 0 Índice Características... 3 Identificando a placa... 3 Esquema de ligação... 3 Parâmetros programados no painel de alarme... 4 Instalação do software programador... 4 Instalação do cabo

Leia mais

Manual de utilização do módulo NSE METH-8RL/Exp

Manual de utilização do módulo NSE METH-8RL/Exp INSTALAÇÃO 1 - Baixe o arquivo Software Configurador Ethernet disponível para download em www.nse.com.br/downloads-manuais e descompacte-o em qualquer pasta de sua preferência. 2 - Conecte a fonte 12Vcc/1A

Leia mais

ori Portaria á su R al Time e U o dlauna M

ori Portaria á su R al Time e U o dlauna M M a nua ld o Usu á roi Portaria Re al Time Sumário Introdução... Especificações... 3 3 Ilustrações Portaria RT sem descarga de coletor... Portaria RT com descarga de coletor... Portaria RT TCP/IP... Portaria

Leia mais

Controle de Acesso. Automático de Veículos. saiba mais. automação

Controle de Acesso. Automático de Veículos. saiba mais. automação Controle de Acesso Automático de Veículos Este trabalho tem como objetivo desenvolver uma solução tecnológica que permita o controle dos portões automáticos remotamente através da internet. Aplicando-se

Leia mais

Manual de Instruções. Rastreador Via Satelite para Automóveis e Caminhões

Manual de Instruções. Rastreador Via Satelite para Automóveis e Caminhões Manual de Instruções Manual de Instruções Esta embalagem contém: Módulo AT1000 1 relé de potência 1 alto falante 1 antena GPS 1 antena GSM 1 soquete p/ relé com cabo 1 conector com cabo Manual de instruções

Leia mais

Indice. Indice.1. 6.1- Reprodução Local...18. 6.2- Reprodução Remota...19

Indice. Indice.1. 6.1- Reprodução Local...18. 6.2- Reprodução Remota...19 Indice Indice.1 1. Introdução...2 1.1. Ambiente de Operação...2 1.2. Instruções de Instalação...2 2. Instalação e desinstalação...3 2.1. Instalação...3 2.2. Desinstalação...4 2.3. Reparo...5 3. Operação

Leia mais

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

Leia mais

Manual da Placa de Interface e Acionamento. SnowFlakes 4S

Manual da Placa de Interface e Acionamento. SnowFlakes 4S Manual da Placa de Interface e Acionamento SnowFlakes 4S Introdução O SnowFlakes é uma placa eletrônica Open Source desenvolvida com o controlador programável Tibbo AKTEM-203, vendido no e-commerce do

Leia mais

Manual. Rev 2 - junho/07

Manual. Rev 2 - junho/07 Manual 1.Desbloquear o software ------------------------------------------------------------------02 2.Botões do programa- --------------------------------------------------------------------- 02 3. Configurações

Leia mais

Apresentação...3. Vantagens...3. Instalação...4. Informações Técnicas...5. Especificações Técnicas...8

Apresentação...3. Vantagens...3. Instalação...4. Informações Técnicas...5. Especificações Técnicas...8 1 ÍNDICE Apresentação...3 Vantagens...3 Instalação...4 Informações Técnicas...5 Especificações Técnicas......8 2 APRESENTAÇÃO: O SS100 é um rastreador desenvolvido com os mais rígidos padrões de qualidade

Leia mais

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1 MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL - 317 RV1 SÃO CAETANO DO SUL 06/06/2014 SUMÁRIO Descrição do Produto... 3 Características... 3 Configuração USB... 4 Configuração... 5 Página

Leia mais

R O B Ó T I C A. Sensor Smart. Ultrassom. Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13. www.robouno.com.br

R O B Ó T I C A. Sensor Smart. Ultrassom. Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13. www.robouno.com.br R O B Ó T I C A Sensor Smart Ultrassom Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13 Sensor Smart Ultrassom 1. Introdução Os sensores de ultrassom ou ultrassônicos são sensores que detectam

Leia mais

Sumário. Aviso. Para evitar risco de incêndio ou choque elétrico, não exponha este PRODUTO à chuva ou à umidade.

Sumário. Aviso. Para evitar risco de incêndio ou choque elétrico, não exponha este PRODUTO à chuva ou à umidade. Sumário Este símbolo destina-se a alertar o usuário quanto à presença de tensão perigosa não isolada dentro do gabinete do produto, a qual pode ser de magnitude suficiente para constituir risco de choque

Leia mais

Software RedeMB5 Manual do Usuário (Ver. 2)

Software RedeMB5 Manual do Usuário (Ver. 2) Manual do Usuário (Ver. 2) 1. Introdução O software RedeMB5 é uma ferramenta que permite monitorar em tempo real 247 medidores de energia ou multitransdutores digitais KRON em uma rede padrão RS-485 com

Leia mais

Dedicado. V 3.20 Jul09 r2.00

Dedicado. V 3.20 Jul09 r2.00 Dedicado V 3.20 Jul09 r2.00 Índice Apresentação...2 Instalação...2 Esquema de Ligação...3 Operação...4 Terminal...5 Funções de Programação...6 [007 a 011] Programação da Entrada (Setor Interno)...6 Função

Leia mais

DISCADORA DISC CELL 5 ULTRA

DISCADORA DISC CELL 5 ULTRA DISCADORA DISC CELL 5 ULTRA 1- FUNCIONAMENTO: A discadora DiscCell5 Ultra é um aparelho eletrônico que disca para até 5 números, cada chamada dura aproximadamente 1 minuto. Uma vez discado o número uma

Leia mais

GUIA RÁPIDO. DARUMA Viva de um novo jeito

GUIA RÁPIDO. DARUMA Viva de um novo jeito GUIA RÁPIDO DARUMA Viva de um novo jeito Dicas e Soluções para IPA210 Leia atentamente as dicas a seguir para configurar seu IPA210. Siga todos os tópicos para que seja feita a configuração básica para

Leia mais

Motorola Phone Tools. Início Rápido

Motorola Phone Tools. Início Rápido Motorola Phone Tools Início Rápido Conteúdo Requisitos mínimos... 2 Antes da instalação Motorola Phone Tools... 3 Instalar Motorola Phone Tools... 4 Instalação e configuração do dispositivo móvel... 5

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

Leia mais

CONCEITOS BÁSICOS DE REDES E FIREWALL

CONCEITOS BÁSICOS DE REDES E FIREWALL Secretaria Municipal de Educação SME Coordenadoria de Tecnologia da Informação e Comunicação CTIC Núcleo de Tecnologia Municipal NTM CONCEITOS BÁSICOS DE REDES E FIREWALL Amauri Soares de Brito Mário Ângelo

Leia mais

Central de Alarme de Oito Zonas

Central de Alarme de Oito Zonas Central de Alarme de Oito Zonas R02 ÍNDICE CARACTERÍSTICAS GERAIS:... 3 CARACTERÍSTICAS TÉCNICAS:... 3 CONHECENDO A CENTRAL:... 4 COMO A CENTRAL FUNCIONA:... 4 COMO APAGAR A MEMÓRIA DA CENTRAL:... 4 COMO

Leia mais

Attack 1.35. Software de controle e Monitoração de amplificadores

Attack 1.35. Software de controle e Monitoração de amplificadores Attack 1.35 Software de controle e Monitoração de amplificadores 1 Índice 1 Hardware necessário:... 3 1.1 Requisitos do computador:... 3 1.2 Cabos e conectores:... 3 1.3 Adaptadores RS-232 USB:... 4 1.4

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets

Leia mais

CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E

CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E SIGMA Sistema Integrado de Combate a Incêndio CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E CABO BLINDADO (SHIELD) 4 VIAS 2X2,50 MM + 2X0,75 MM IHM Possibilidade de até 95 loops. LOOP LOOP LOOP CABO

Leia mais

Henry Equipamentos Eletrônicos e Sistemas Ltda.

Henry Equipamentos Eletrônicos e Sistemas Ltda. Manual do equipamento Henry Equipamentos Eletrônicos e Sistemas Ltda. +55 41 3661-0100 Rua Rio Piquiri, 400 - Jardim Weissópolis - Pinhais/PR - Brasil CEP: 83322-010 CNPJ: 01.245.055/0001-24 Inscrição

Leia mais

Manual de Usuário INDICE

Manual de Usuário INDICE Manual de Usuário INDICE Características do Sistema... 02 Características Operacionais... 03 Realizando o Login... 04 Menu Tarifador... 05 Menu Relatórios... 06 Menu Ferramentas... 27 Menu Monitor... 30

Leia mais

DESCRIÇÃO DO FUNCIONAMENTO Basicamente o ANTRON II-s recebe sinais provenientes da atuação de contatos elétricos externos, associados a equipamentos

DESCRIÇÃO DO FUNCIONAMENTO Basicamente o ANTRON II-s recebe sinais provenientes da atuação de contatos elétricos externos, associados a equipamentos DESCRIÇÃO DO FUNCIONAMENTO Basicamente o ANTRON II-s recebe sinais provenientes da atuação de contatos elétricos externos, associados a equipamentos ou sistemas que se queiram supervisionar, via contatos

Leia mais

Nota de Aplicação. Migrando a base da dados do software ION-GER da maquina servidor. Suporte Técnico Brasil. Versão: 1.0

Nota de Aplicação. Migrando a base da dados do software ION-GER da maquina servidor. Suporte Técnico Brasil. Versão: 1.0 Nota de Aplicação Migrando a base da dados do software ION-GER da maquina servidor. Versão: 1.0 Suporte Técnico Brasil Especificações técnicas Hardware: Firmware: HX901 HX900 ALL HX600 Software: Versão:

Leia mais

MANUAL DE INSTALAÇÃO E OPERAÇÃO

MANUAL DE INSTALAÇÃO E OPERAÇÃO PÉGASUS GPRS STUDIO V3.03 MANUAL DE INSTALAÇÃO E OPERAÇÃO 3i Soluções Ind. Com. de Equip. Eletrônicos e Serviços em Materiais Elétricos Ltda. Rua Marcilio Dias, 65 Lapa CEP 05077-120 São Paulo - SP Brasil

Leia mais

NGP 822. FXS, FXO e GSM. Visão frontal. 4 ou 8 ramais. 0, 1 ou 2 interfaces celulares. 0, 1 ou 2 interfaces de linhas alógicas. Automação e segurança

NGP 822. FXS, FXO e GSM. Visão frontal. 4 ou 8 ramais. 0, 1 ou 2 interfaces celulares. 0, 1 ou 2 interfaces de linhas alógicas. Automação e segurança NGP 822 FXS, FXO e GSM Visão frontal 4 ou 8 ramais 0, 1 ou 2 interfaces celulares 0, 1 ou 2 interfaces de linhas alógicas Automação e segurança Interface Web LEDs de status do equipamento e das interfaces

Leia mais

Central de alarme Ventura GSM

Central de alarme Ventura GSM Central de alarme Ventura GSM Manual do Usuário 1 Índice: 1 Aplicação:... 3 2 Características:... 3 3 Características de funcionamento... 3 4- Apresentação da Central... 4 4.1 Parte externa... 4 4.2 Parte

Leia mais

R O B Ó T I C A. Sensor Smart. Seguidor de Linha. Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19. www.robouno.com.br

R O B Ó T I C A. Sensor Smart. Seguidor de Linha. Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19. www.robouno.com.br R O B Ó T I C A Sensor Smart Seguidor de Linha Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19 Sensor Smart Seguidor de Linha 1. Introdução Os sensores seguidores de linha são sensores que detectam

Leia mais

Aplicativo para configuração da interface de celular ITC 4000

Aplicativo para configuração da interface de celular ITC 4000 MANUAL DO USUÁRIO Aplicativo para configuração da interface de celular ITC 4000 Este aplicativo roda em plataforma Windows e comunica-se com a ITC 4000 via conexão USB. Através do ITC 4000 Manager, o usuário

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CÂMPUS CURITIBA CURSO DE ENGENHARIA DE COMPUTAÇÃO

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CÂMPUS CURITIBA CURSO DE ENGENHARIA DE COMPUTAÇÃO 0 PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CÂMPUS CURITIBA CURSO DE ENGENHARIA DE COMPUTAÇÃO PROJETO INTEGRADO: COBERTURA AUTOMATIZADA COM DETECTOR DE CHUVA CURITIBA 2010 1 TAISA DAIANA DA COSTA PROJETO

Leia mais

BuscaPreço Gertec V3.0

BuscaPreço Gertec V3.0 BuscaPreço Gertec V3.0 Gertec Telecomunicações Ltda. Manual do Usuário 1 DESCRIÇÃO... 3 RECONHECENDO O TERMINAL... 4 INSTALAÇÃO DO TERMINAL... 5 CONFIGURAÇÃO DO TERMINAL... 5 CONFIGURANDO PELO TECLADO...

Leia mais

SISTEMA DE MONITORAMENTO DIGITAL

SISTEMA DE MONITORAMENTO DIGITAL SISTEMA DE MONITORAMENTO DIGITAL Módulos para automação Características gerais - Processamento independente - Possui alerta sonoro e luminoso de falta de conexão - Não precisa ser configurado (Plug and

Leia mais

IVV JA-60WEB IP. Manual de Instalação e Utilizador

IVV JA-60WEB IP. Manual de Instalação e Utilizador IVV JA-60WEB IP Manual de Instalação e Utilizador I n d ice Introdução 1 CAPITÚTLO 1 Instalação do JA-60WEB Instalação do Hardware 2 Usar o IVV locater 4 Log in 5 Modo de serviço 6 Painel de controlo

Leia mais

Autenticação modo Roteador. Após finalizar a configuração, seu computador obterá o IP e a página de configuração do ATA poderá ser acessada.

Autenticação modo Roteador. Após finalizar a configuração, seu computador obterá o IP e a página de configuração do ATA poderá ser acessada. 2. Conecte a porta WAN do GKM 2210 T ao seu acesso à internet (porta ethernet do modem). O LED WAN acenderá; 3. Conecte a porta LAN à placa de rede do PC. O LED LAN acenderá; 4. Conecte o(s) telefone(s)

Leia mais

www: toppoalarmes.com.br SAC: 0800-643-6680

www: toppoalarmes.com.br SAC: 0800-643-6680 Prezado cliente, Muito obrigado por escolher o alarme residencial TPS-100: você adquiriu um produto de alta qualidade, confiabilidade e sofisticação. Por favor leia todas as instruções relacionadas ao

Leia mais

Hamtronix CONTROLE REMOTO DTMF. CRD200 - Manual de Instalação e Operação. Software V 2.0 Hardware Revisão B

Hamtronix CONTROLE REMOTO DTMF. CRD200 - Manual de Instalação e Operação. Software V 2.0 Hardware Revisão B Hamtronix CRD200 - Manual de Instalação e Operação Software V 2.0 Hardware Revisão B INTRODUÇÃO Índice...01 Suporte On-line...01 Termo de Garantia...01 Em Caso de Problemas (RESET)...01 Descrição do Produto...02

Leia mais

Placa Acessório Modem Impacta

Placa Acessório Modem Impacta manual do usuário Placa Acessório Modem Impacta Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. A Placa Modem é um acessório que poderá ser utilizado em todas as centrais

Leia mais

MANUAL DE INSTALAÇÃO E OPERAÇÃO

MANUAL DE INSTALAÇÃO E OPERAÇÃO PÉGASUS (ETHERNET) STUDIO V2.02 MANUAL DE INSTALAÇÃO E OPERAÇÃO Rua Coronel Botelho, 64 - Alto da Lapa - CEP: 05088-020 São Paulo - SP - Brasil +55 (11) 3832-6102 PÉGASUS (ETHERNET) STUDIO V2.02 - MANUAL

Leia mais

Application Note FBEE Comunicação Serial Wireless REV01. - 1 - Rev01

Application Note FBEE Comunicação Serial Wireless REV01. - 1 - Rev01 Application Note FBEE Comunicação Serial Wireless REV01-1 - Rev01 1. INTRODUÇÃO Aplicações com redes sem fio vêm se tornando bastante comuns. De aplicações industriais a projetos específicos, criou-se

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

ITSCAM ITSLUX/SUPERLUX GUIA DE INSTALAÇÃO RÁPIDA

ITSCAM ITSLUX/SUPERLUX GUIA DE INSTALAÇÃO RÁPIDA ITSCAM ITSLUX/SUPERLUX GUIA DE INSTALAÇÃO RÁPIDA Versão 2.0 Julho 2013 linhas 300 a 411 GUIA DE INSTALAÇÃO RÁPIDA - ITSCAM-ITSLUX/SUPERLUX Para a instalação rápida da ITSCAM-ITSLUX/SUPERLUX, devem-se seguir

Leia mais

Vid8 Servidor. Correção da conexão com o GME, quando placa VP-1616F com 32 canais; Correção da conexão com o GME, quando configurado em modo DVR;

Vid8 Servidor. Correção da conexão com o GME, quando placa VP-1616F com 32 canais; Correção da conexão com o GME, quando configurado em modo DVR; Vid8 Servidor Versão 8.13.0411 Correção da conexão com o GME, quando placa VP-1616F com 32 canais; Versão 8.12.0311 Correção da conexão com o GME, quando configurado em modo DVR; Versão 8.11.0311 Correção

Leia mais

Para que seja instalado o Bematef Total, é necessário que o computador onde seja efetuada a instalação

Para que seja instalado o Bematef Total, é necessário que o computador onde seja efetuada a instalação Rafael Ferreira Rodrigues REVISADO POR: Raquel Marques APROVADO POR: Renato Reguera dos Santos 1 - Objetivo Descrever o processo de instalação do Bematef Total. 2 - Campos de Aplicação É aplicável a área

Leia mais

Produto: CL Titânio Assunto: Quais as funções que podem ser executadas no software client?

Produto: CL Titânio Assunto: Quais as funções que podem ser executadas no software client? Produto: CL Titânio Assunto: Quais as funções que podem ser executadas no software client? Assim que abrir o DVR Client, no canto superior direito há um grupo de opções denominado Login, preencha de acordo

Leia mais

MANUAL DO USUÁRIO. Software de imagem via celular (isic) para sistema operacional BlackBerry

MANUAL DO USUÁRIO. Software de imagem via celular (isic) para sistema operacional BlackBerry MANUAL DO USUÁRIO Software de imagem via celular (isic) para sistema operacional BlackBerry Software de imagem via celular para sistema operacional BlackBerry Parabéns, você acaba de adquirir um produto

Leia mais

Alarme Automotivo com mensagem para móvel utilizando Arduino

Alarme Automotivo com mensagem para móvel utilizando Arduino Alarme Automotivo com mensagem para móvel utilizando Arduino Maycon Cirilo dos Santos¹, Wyllian Fressatti¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil mayconsi2012@gmail.com, wyllian@unipar.br

Leia mais

MODEM USB 3G+ WM31. Manual do Usuário

MODEM USB 3G+ WM31. Manual do Usuário MODEM USB 3G+ WM31 Manual do Usuário 2 Tabela de Conteúdo 1 Introdução... 3 2. Instalação... 5 3. Descrição da interface do cliente... 6 4. Conexão... 10 5.SMS... 11 6.Contatos... 14 7.Estatística... 18

Leia mais

Manual de Instalação. GPRS Universal

Manual de Instalação. GPRS Universal Manual de Instalação GPRS Universal INTRODUÇÃO O módulo GPRS Universal Pináculo é um conversor de comunicação que se conecta a qualquer painel de alarme monitorado que utilize o protocolo de comunicação

Leia mais

Manual do Aplicativo de Configurações

Manual do Aplicativo de Configurações Registrador Eletrônico de Ponto Manual do Aplicativo de Configurações Henry Equipamentos Eletrônicos e Sistemas Ltda. Rua Rio Piquiri, 400 - Jardim Weissópolis Código Postal 83.322-010 Pinhais - Paraná

Leia mais

MANUAL DE INSTALAÇÃO E OPERAÇÃO. Central de Alarme Particionada AP4/AP4 D

MANUAL DE INSTALAÇÃO E OPERAÇÃO. Central de Alarme Particionada AP4/AP4 D MANUAL DE INSTALAÇÃO E OPERAÇÃO Central de Alarme Particionada AP/AP D Índice 1.Apresentação... 2.Características... 3.Características Técnicas... 5.Status de Bips... 5 5.Status dos Led s... 5 6.Conhecendo

Leia mais

Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands.

Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands. Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands. Antes de começamos certifique-se de estarem com o programa instalado, com sua conta e licenças ativas. Neste tutorial não irei

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

Just do it yourself ;) Guia de instalação rápida da ITSCAM Dispositivo de Controle de Tráfego Modelos 400 a 421

Just do it yourself ;) Guia de instalação rápida da ITSCAM Dispositivo de Controle de Tráfego Modelos 400 a 421 Just do it yourself ;) Guia de instalação rápida da ITSCAM Dispositivo de Controle de Tráfego Modelos 400 a 421 Versão 4.0 Junho 2014 ITSCAM ITSLUX/SUPERLUX/GREENLUX/WHITELUX Para a instalação rápida da

Leia mais

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software.

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software. 1 - Sumário 1 - Sumário... 2 2 O Easy Chat... 3 3 Conceitos... 3 3.1 Perfil... 3 3.2 Categoria... 4 3.3 Ícone Específico... 4 3.4 Janela Específica... 4 3.5 Ícone Geral... 4 3.6 Janela Geral... 4 4 Instalação...

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

Leia mais

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4.

Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. 1 Sumário 1. SOBRE O NFGoiana DESKTOP... 3 1.1. Apresentação... 3 1.2. Informações do sistema... 3 1.3. Acessando o NFGoiana Desktop... 3 1.4. Interface do sistema... 4 1.4.1. Janela Principal... 4 1.5.

Leia mais

MANUAL DE INSTRUÇÕES

MANUAL DE INSTRUÇÕES MANUAL DE INSTRUÇÕES 1 Conteúdo 1. LogWeb... 3 2. Instalação... 4 3. Início... 6 3.1 Painel Geral... 6 3.2 Salvar e Restaurar... 7 3.3 Manuais... 8 3.4 Sobre... 8 4. Monitoração... 9 4.1 Painel Sinóptico...

Leia mais

Guia de utilização do software. universal GPRS M-300.

Guia de utilização do software. universal GPRS M-300. Guia de utilização do software Programador do módulo universal GPRS M-300. JFL Equipamentos Eletrônicos Ind. e Com. Ltda. Rua: João Mota, 471 - Bairro: Jardim das Palmeiras Santa Rita do Sapucaí - MG CEP:

Leia mais

NVS (Servidor de vídeo em rede) e Câmeras IPS

NVS (Servidor de vídeo em rede) e Câmeras IPS NVS (Servidor de vídeo em rede) e Câmeras IPS Guia rápido de usuário (Versão 3.0.4) Nota: Esse manual pode descrever os detalhes técnicos incorretamente e pode ter erros de impressão. Se você tiver algum

Leia mais

Guia para atualização de Firmware dos racks RIO1608-D & RIO3224-D. (Firmware 1.50)

Guia para atualização de Firmware dos racks RIO1608-D & RIO3224-D. (Firmware 1.50) Guia para atualização de Firmware dos racks RIO1608-D & RIO3224-D (Firmware 1.50) PRECAUÇÕES 1. O usuário assume total responsabilidade pela atualização. 2. Atualize o Firmware de uma unidade por vez.

Leia mais

MODEM USB 3G+ WM31. Manual do Usuário

MODEM USB 3G+ WM31. Manual do Usuário MODEM USB 3G+ WM31 Manual do Usuário 2 Conteúdo 1 Introdução... 3 2 Descrição da Interface do Cliente... 5 3 Conexão... 7 4 SMS... 10 5 Contatos... 14 6 Estatística... 18 7 Configurações... 19 8 SIM Tool

Leia mais

Modelo: H.264 Câmera IP (1.0 Megapixels) guia de instalação rápida

Modelo: H.264 Câmera IP (1.0 Megapixels) guia de instalação rápida 1 Modelo: H.264 Câmera IP (1.0 Megapixels) guia de instalação rápida 1. Colocado diretamente no desktop Colocou a câmera IP na posição adequada 2 2. Montagem na parede O suporte com o parafuso de bloqueio

Leia mais

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 TUTORIAL Entradas Digitais Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br

Leia mais

PROJETO. Ponte Digital. http://www.pontedigital.hpg.ig.com.br/ Luciano Daniel Amarante - carabina@pop.com.br Ricardo Watzko - rw@netuno.com.

PROJETO. Ponte Digital. http://www.pontedigital.hpg.ig.com.br/ Luciano Daniel Amarante - carabina@pop.com.br Ricardo Watzko - rw@netuno.com. Ponte levadiça digital... Projeto semestral primeira fase de 2003 Engenharia de Computação 4 período Em breve aqui novos projetos... Página inicial Pré-projeto Projeto FOTOS e Vídeos Funcionamento Esboços

Leia mais

Manual do Usuário Cyber Square

Manual do Usuário Cyber Square Manual do Usuário Cyber Square Criado dia 27 de março de 2015 as 12:14 Página 1 de 48 Bem-vindo ao Cyber Square Parabéns! Você está utilizando o Cyber Square, o mais avançado sistema para gerenciamento

Leia mais

Data Autor Descrição Revisão Configuração HX600 via Rede Ethernet 1.0

Data Autor Descrição Revisão Configuração HX600 via Rede Ethernet 1.0 Data Autor Descrição Revisão 06/05/2009 Barbarini Configuração HX600 via Rede Ethernet 1.0 Page 1 / 12 Procedimento de Instalação 1 O módulo deverá ser fixado próximo ao medidor. Para alimentá-lo é necessária

Leia mais

Visão Geral sobre o tutorial de Utilização de

Visão Geral sobre o tutorial de Utilização de Tutorial de Utilização de Impressoras Não Fiscais no NFC-e Visão Geral sobre o tutorial de Utilização de Impressoras Não Fiscais no NFC-e O intuito deste tutorial é descrever com detalhes técnicos como

Leia mais

GerSAT Manual de Usuário

GerSAT Manual de Usuário GerSAT Manual de Usuário Manual do Usuário Ver. 1.1 Junho 2015 Informações importantes Antes de utilizar o equipamento, pedimos para que leia e siga todas as instruções descritas neste manual, pois a utilização

Leia mais

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx 1 Introdução O Conecta S_Line permite que o laboratório envie à Central S_Line os resultados de exames gerados pelo Sistema de Informação Laboratorial (LIS) em forma de arquivos digitais. Todo o processo

Leia mais

1. Apresentação. Fig. 1 - Rastreador Portátil OnixMiniSpy. Led indicativo de Sinal GSM/GPRS e GPS. LED indicativo de recarga de bateria

1. Apresentação. Fig. 1 - Rastreador Portátil OnixMiniSpy. Led indicativo de Sinal GSM/GPRS e GPS. LED indicativo de recarga de bateria 1. Apresentação O OnixMiniSpy é um rastreador portátil que utiliza a tecnologia de comunicação de dados GPRS (mesma tecnologia de telefone celular) para conectar-se com a central de rastreamento e efetuar

Leia mais

CONVERSOR SERIAL PARA REDE TCP/IP DS100B

CONVERSOR SERIAL PARA REDE TCP/IP DS100B CONVERSOR SERIAL PARA REDE TCP/IP DS100B MANUAL DE INSTRUÇÕES Rev.03 Sumário: 1. CARACTERÍSTICAS 2 2. INSTALAÇÃO DO CONVERSOR 2 ALIMENTAÇÃO DS100 COM CENTRAL DE ALARME... 3 ALIMENTAÇÃO DS100 COM PAINEL

Leia mais

Manual. Controle de motores via Bluetooth. William Trevine

Manual. Controle de motores via Bluetooth. William Trevine A Manual Controle de motores via Bluetooth 1 William Trevine Sumário 1 Introdução... 4 2 Características... 5 3 Instalação... 6 3.1 Alimentação... 7 3.2 Motores... 8 3.3 Liga e desliga... 9 3.4 Saídas

Leia mais

Manual de utilização do módulo NSE METH 3E4RL

Manual de utilização do módulo NSE METH 3E4RL INSTALAÇÃO 1 - Baixe o arquivo Software Configurador Ethernet disponível para download em www.nse.com.br/downloads-manuais e descompacte-o em qualquer pasta de sua preferência. 2 - Conecte a fonte 12Vcc/1A

Leia mais

Guia Rápido de Instalação. VNT 7704 e VNT 7708

Guia Rápido de Instalação. VNT 7704 e VNT 7708 Guia Rápido de Instalação VNT 7704 e VNT 7708 Conteúdo 1. Instale o HD... 3 1.1. Instale o HD... 3 2. Conexões... 3 2.1. Vista traseira do DVR de 04 canais... 3 2.2. Vista traseira do DVR de 08 canais...

Leia mais

TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 -

TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 - TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 - Índice Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 2 - ÍNDICE 1 APRESENTAÇÃO... 3 1.1 ACESSÓRIOS

Leia mais

ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4. 2.1. Ligação da porta USB... 4. 2.2. LEDs de estado... 4. 2.3. Botão... 5

ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4. 2.1. Ligação da porta USB... 4. 2.2. LEDs de estado... 4. 2.3. Botão... 5 MANUAL PICKIT2 ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4 2.1. Ligação da porta USB... 4 2.2. LEDs de estado... 4 2.3. Botão... 5 2.4. Conector de programação... 5 2.5. Slot para chaveiro...

Leia mais

CAPA Área de utilização para ilustração MANUAL w-vpn

CAPA Área de utilização para ilustração MANUAL w-vpn ...6 CAPA Área de utilização para ilustração MANUAL w-vpn 20/01/2012 Versão 1.4 Sumário 1.0 Pré Requisitos de instalação do w-vpn...2 2.0 Instalação do Serviço...2 3.0 Dicas...8 4.0 Suporte...11 1 1.0

Leia mais

GUIA DE INÍCIO RÁPIDO NHS NOBREAK MANAGER 4.0 TOPOLOGIA MÍNIMA DE REDE PARA A INSTALAÇÃO E USO DO SOFTWARE COM GPRS

GUIA DE INÍCIO RÁPIDO NHS NOBREAK MANAGER 4.0 TOPOLOGIA MÍNIMA DE REDE PARA A INSTALAÇÃO E USO DO SOFTWARE COM GPRS GUIA DE INÍCIO RÁPIDO NHS NOBREAK MANAGER 4.0 TOPOLOGIA MÍNIMA DE REDE PARA A INSTALAÇÃO E USO DO SOFTWARE COM GPRS CONFIGURAÇÃO DO GPRS 1. Entre no site da NHS na página de homologação do NHS NOBREAK

Leia mais

Lojamundi CNPJ: 17.869.444/0001-60 Av. Paranoá Qd. 09 conj. 01 lote 01 sala 304, Paranoá DF CEP: 71.571-012 www.lojamundi.com.br

Lojamundi CNPJ: 17.869.444/0001-60 Av. Paranoá Qd. 09 conj. 01 lote 01 sala 304, Paranoá DF CEP: 71.571-012 www.lojamundi.com.br Instalação e Configuração da Automação (Abertura) de Portão via GSM Telefones celulares comuns e os tão atraentes smartphones, com seus designs inovadores e os mais variados aplicativos, são cada vez mais

Leia mais

Índice. VIAWEBsystem - 1

Índice. VIAWEBsystem - 1 V 3.20 Jul09 r2.0 Índice Apresentação...3 Instalação...3 Esquema de Ligação...4 Operação...5 Terminal...6 Funções de Programação...7 [007 a 011] Programação da Entrada (Setor Interno)... 7 Função 007

Leia mais

IMPORTANTE: O PNM4R2 não entra em estado funcional enquanto o Windows não

IMPORTANTE: O PNM4R2 não entra em estado funcional enquanto o Windows não Manual Instalação Positivo Network Manager Versão 4R2 para Integradores O produto Positivo Network Manager Versão 4R2 (PNM4R2) consiste de uma plataforma do tipo cliente servidor, sendo o cliente, os microcomputadores

Leia mais

Conversor IP Shellby RS-232 ( TCP-IP)

Conversor IP Shellby RS-232 ( TCP-IP) Conversor IP Shellby RS-232 ( TCP-IP) Gradual Tecnologia Ltda. Manual do Conversor RS-232 Ethernet 1 ÍNDICE CARACTERÍSTICAS DO APARELHO... 3 DESCRIÇÃO:... 3 CARACTERÍSTICAS MECÂNICAS:... 3 PINAGEM... 4

Leia mais

Desenvolvedor Web Docente André Luiz Silva de Moraes

Desenvolvedor Web Docente André Luiz Silva de Moraes Roteiro 2: Introdução a Linguagem HTML Neste roteiro é explorada a linguagem HTML. A linguagem HTML (Hypertext Markup Language) é amplamente utilizada na construção de páginas de internet e é responsável

Leia mais

Manual de Configuração D-LINK Modelo: DVG-1402S Firmware: 1.00.011

Manual de Configuração D-LINK Modelo: DVG-1402S Firmware: 1.00.011 Manual de Configuração D-LINK Modelo: DVG-1402S Firmware: 1.00.011 Para usuários de conexão banda larga do tipo PPPoE (autenticação por usuário e senha) Capítulo 1 Conectando-se à Internet Alguns provedores

Leia mais

GUIA RÁPIDO DE PROGRAMAÇÃO CENTRAL INTELBRÁS

GUIA RÁPIDO DE PROGRAMAÇÃO CENTRAL INTELBRÁS Especificações técnicas GUIA RÁPIDO DE PROGRAMAÇÃO CENTRAL INTELBRÁS Características Alimentação AC 90 a 265 V Suporte a 2 chips (cartões SIM) de celular (somente AMT 2018 EG). Alimentação DC Bateria de

Leia mais

PAINEL DE ALARME VERSÃO 01

PAINEL DE ALARME VERSÃO 01 PAINEL DE ALARME VERSÃO 01 1. CARACTERÍSTICAS GERAIS 8 Zonas duplas programáveis, mais 1 zona por teclado; 4 Teclados endereçáveis com programações independentes; 95 usuários, 3 usuários temporários, além

Leia mais

MODEM USB LTE. Manual do Usuário

MODEM USB LTE. Manual do Usuário MODEM USB LTE Manual do Usuário 2 Conteúdo Manual do Usuário... 1 1 Introdução... 3 2 Descrição da Interface do Cliente... 4 3 Conexão... 7 4 SMS... 10 5 Contatos... 14 6 Estatística... 18 7 Configurações...

Leia mais

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE.

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE. Guia PDA e SmartPhones Windows Mobile, Pocket PC e CE. Referência completa para o integrador do sistema Module. Aborda os recursos necessários para a itulização, instalação do software e importação das

Leia mais

Geral: Manual de Utilização do Software de Teste Gradual Windows

Geral: Manual de Utilização do Software de Teste Gradual Windows Manual de Utilização do Software de Teste Gradual Windows Geral: Este aplicativo é utilizado para testar os Microterminais Gradual Tecnologia Ltda. Para tanto deve ter as Dll s necessárias para controlar

Leia mais

CONFORTO COM SEGURANÇA CONFORTO COM SEGURANÇA. 0 P27070 - Rev

CONFORTO COM SEGURANÇA CONFORTO COM SEGURANÇA. 0 P27070 - Rev P27070 - Rev. 0 1. RESTRIÇÕES DE FUNCIONAMENTO RECEPTOR IP ÍNDICE 1. Restrições de Funcionamento... 03 2. Receptor IP... 03 3. Inicialização do Software... 03 4. Aba Eventos... 04 4.1. Botão Contas...

Leia mais

Software Ativo. Operação

Software Ativo. Operação Software Ativo Operação Página deixada intencionalmente em branco PROTEO MANUAL OPERAÇÃO SUMÁRIO 1 - INSTALAÇÃO DO SOFTWARE ATIVO... 5 2 CRIANDO PROJETO UVS/ TMS PROTEO... 10 2.1 - Estrutura do Projeto...

Leia mais