SISTEMA ELETRÔNICO DE SEGURANÇA UTILIZANDO SOCKETS Eduardo Moreira Vilarinho, Kenedy Lopes Nogueira, Keila Nogueira ([email protected] – [email protected] - [email protected]) Fundação Educacional de Ituiutaba, Universidade do Estado de Minas Gerais Ituiutaba – MG, Brasil Resumo - O presente artigo descreve um protótipo de um sistema de segurança que utiliza a internet, através de Sockets, para controlar dispositivos elétricos remotamente e acompanhar os mesmos e seus status de controle através de um supervisório em tempo real. Palavras-Chave - Automação Residencial, Segurança, Sockets. ELETRONIC SYSTEM OF SECURITY USING SOCKETS Abstract - This article describes a prototype of a security system that uses the Internet, through sockets, to control electrical devices remotely and monitor them and control their status through a supervisory in real time. 1 Keywords - Residential Automation, Security, Sockets. I. INTRODUÇÃO Este artigo destaca o uso da tecnologia para inibir a mais comum ameaça a residências e empresas, a invasão. Algo que está modificando a vida cotidiana de todos, é o progresso dos computadores, não só os computadores pessoais, mas todos os chips de silício que estão embutidos nos eletro-eletrônicos em geral. Atualmente, observa-se que todos estes aparelhos trabalham independente e isoladamente em suas funções. A revolução das redes domésticas e, por consequência, a automação residencial, estão baseadas no fato de permitir a comunicação entre estes dispositivos e controlá-los através de um gerenciador central. A automação permite controlar a residência remotamente, poupar tempo com tarefas repetitivas, economizar energia, dinheiro e aumentar o conforto e segurança. [1] Muito se fala sobre as novidades tecnológicas que irão equipar nossos lares no futuro próximo. Como qualquer novidade, a automação residencial inicialmente é percebida pelo cliente como um símbolo de status e modernidade. No momento seguinte, o conforto e a conveniência por ela proporcionados passam a ser decisivos. E por fim, ela se tornará uma necessidade vital e um fator de economia. [2] Uma das principais preocupações dos projetistas e instaladores de sistemas de automação residencial deve ser a integração entre eles. Os produtos modernos, embora muitas vezes de complexa tecnologia, dispõem de interfaces amigáveis para que possam ser operados com certa facilidade pelo usuário final. [3] No entanto, quando uma série de produtos destes trabalham sem comunicação entre si, o resultado na maioria das vezes é uma grande confusão operacional. [3] Vale ressaltar que o tema automação residencial não está ainda largamente difundido no Brasil e no exterior. Uma das constatações feitas durante a condução deste trabalho é a escassez de material relacionado ao tema. II. MOTIVAÇÃO Foram identificados alguns projetos que aplicam a automação residencial nas mais variadas áreas, tais como: entretenimento e iluminação. Destaca-se o uso da automação residencial para dar ênfase à segurança, sem deixar de aproveitar todos os seus benefícios. A grande contribuição deste é a utilização da automação residencial para proporcionar ao usuário o controle e o acompanhamento de todos os ambientes através da integração de todas essas áreas, que, hoje, são instaladas aleatoriamente e acabam resolvendo alguns problemas localizados. III. FUNDAMENTOS TECNOLÓGICOS 1) C++ Builder - é um ambiente de desenvolvimento integrado (IDE) produzido pela Borland para escrita de programas na linguagem C++. Assemelha-se ao Delphi, sendo considerado sua versão em C++, de forma que muitos componentes desenvolvidos para Delphi podem ser utilizados no C++ Builder sem modificação, apesar do inverso não ser verdade. O C++ Builder inclui ferramentas que permitem desenvolvimento visual através de “arrastar e soltar”, tornando a programação mais simples, além de possuir um pacote de componentes para utilização de sockets. 2) Sockets – é um protocolo de internet que permite que aplicações cliente-servidor usem transparentemente uma rede através de um elo bidirecional de comunicação. O funcionamento básico de uma comunicação via socket é a seguinte. Primeiro, o servidor entra em modo escuta, aguardando um processo cliente solicitá-lo. Em seguida, um processo cliente ao criar um socket tenta conectar-se com o servidor. Assim que a conexão é estabelecida, ambos os processos começam a trocar dados. Qualquer um dos lados pode encerrar a conexão, fechando o socket. 3) Porta paralela - é uma interface de comunicação entre o computador e um periférico. Atualmente, são vários os periféricos que utilizam-se desta porta para enviar e receber dados para o computador. Neste trabalho, é utilizado o modelo de porta avançada EPP (Enhanced Parallel Port), que chega a atingir uma taxa de transferência de 2MB/s. Para atingir essa velocidade, será necessário um cabo especial. Comunica-se com a CPU utilizando um BUS de dados de 32 bits. Para a transmissão de dados entre periféricos são usados oito bits por vez. A extensão do cabo para interligar um computador a um periférico é de no máximo 8 metros. Na prática, utiliza-se um cabo com extensão menor. Quanto maior a extensão do cabo, maior é a atenuação e menor fica a relação sinal ruído, aumentando a interferência dos dados. 4) webcamXP - utilizado para monitoramento do ambiente, este programa é um poderoso gerenciador de webcams, que pode ser utilizado tanto para finalidades pessoais, como para finalidades profissionais. Ele oferece características únicas e grande facilidade de utilização. É possível transmitir e controlar várias câmeras conectadas no mesmo computador. 5) No-IP DUC (Dynamic Update Client) - é usado em conjunto com o serviço DNS grátis do site www.no-ip.com. Ele transforma o computador num servidor de internet, mesmo que o computador não tenha IP fixo. Em intervalos regulares, o No-IP DUC confere se o endereço IP do computador foi modificado e conforme a necessidade sincroniza o IP do computador com o DNS atribuído pelo redirecionador. A Figura 1 apresenta através de uma planta o funcionamento do projeto, onde o servidor é um computador que deve estar sempre ligado no local em que está instalado o programa servidor do sistema eletrônico de segurança. Além disso, é necessário estar instalado neste computador os programas webcamXP e No-IP DUC. Todo o ambiente pode ser monitorado através de webcams. Para isso, foi integrado ao projeto os programa webcamXP e No-IP DUC. O webcamXP é responsável por capturar e transmitir a imagem das câmeras para a internet. O No-IP DUC é responsável por criar um domínio para o IP do servidor, fazendo com que o usuário tenha acesso ao monitoramento do ambiente mesmo que o IP da máquina servidor mude. No servidor ainda ficam ligados as câmeras, os sensores e o módulo de controle. Se o servidor estiver conectado à internet, outro computador que possuir o programa cliente do sistema eletrônico de segurança instalado e também estiver conectado à internet poderá acessar o servidor remotamente de qualquer lugar para acompanhar em tempo real o ambiente e controlar os dispositivos elétricos conectados ao módulo de controle. Abaixo, a Figura 2 mostra a interface do programa servidor. Nele é possível ativar ou desativar algum dispositivo ou sensor específico para que o usuário, através do programa cliente, consiga ou não acionar o mesmo. Além disso, pode-se acompanhar todos os dados recebidos do cliente, por exemplo, um pedido para acionamento de dispositivos. IV. DETALHES DA IMPLEMENTAÇÃO Este projeto passou por duas etapas, que, necessariamente, foram trabalhadas paralelamente, pela dependência que tem entre si. Uma das etapas foi o desenvolvimento do programa supervisório, dividido em servidor e cliente, usando o Borland C++ Builder, a outra foi o desenvolvimento do módulo de controle de dispositivos elétricos. Figura 2 – Interface do programa servidor. A Figura 3 apresenta a interface do programa cliente. Ele é subdividido por guias. A guia “Principal” é a responsável por fazer a conexão do programa cliente com o programa servidor. Nela ficam definidos o endereço HTTP (HyperText Transfer Protocol) do programa No-IP DUC, a porta de comunicação de dados definida no programa servidor e a porta de comunicação de dados do programa webcamXP. A guia “Monitorar câmeras” é a responsável por mostrar as câmeras ligadas no servidor. O usuário poderá ligar ou desligar dispositivos através da guia “Controlar dispositivos” Figura 1 - Diagrama para representação do projeto. e poderá ligar ou desligar sensores através da guia “Controlar sensores”. eletrônicos, entre outros. Mas esse módulo pode ser utilizado em projetos mais complexos ou em conjunto com outros sistemas. Figura 5 – Circuito do módulo de controle. Figura 3 – Interface do programa cliente. A Figura 4 mostra o tipo de sensor utilizado no projeto. Sensores magnéticos podem ser instalados em portas e janelas. Se for detectada a abertura, é enviado um sinal para o programa servidor, alertando o usuário de uma possível ação de intrusos. O controlador integrado 74LS541 é utilizado no módulo de controle para proteger a porta paralela de altas correntes. Ele é alimentado com 5V, diferente da outra parte do circuito que controla os relês, que precisa de 12V para serem acionados. Os contatos dos relês suportam 220V/10A, possibilitando acionar aparelhos de potência. O módulo de controle é capaz de controlar até oito dispositivos elétricos simultaneamente. V. CONCLUSÕES Na primeira parte do projeto, os programas servidor e cliente já se encontram desenvolvidos no Borland C++ Builder. Na segunda parte do projeto o módulo de controle está enviando os sinais recebidos do programa servidor aos dispositivos elétricos e recebendo os sinais dos dispositivos elétricos para enviá-los ao servidor. REFERÊNCIAS BIBLIOGRÁFICAS Figura 4 - Sensor magnético. A porta paralela é utilizada para acionar, através dos pinos de saída da mesma, o módulo de controle. Conforme o dispositivo acionado pelo usuário no programa cliente, a porta paralela envia bytes em números binários para acionar a saída. Quando o usuário clicar em um determinado botão na interface gráfica do programa cliente, o programa servidor enviará à porta paralela oito bits. A sequência de bits gerada por essa ação é que definirá qual pino da porta paralela deverá ser acionada. O módulo de controle pode ser utilizado para acionar eletrodomésticos, aparelhos de som, televisões, ar condicionados, ventiladores, fechaduras elétricas, portões [1] C. A. M. Bolzani, Residências Inteligentes: um curso de Domótica. Editora Livraria da Física, São Paulo, 2004. [2] Auridese (2009). Temas Técnicos: Conceitos Básicos, Automação Residencial: Realidade Hoje. Acedido em 04 de Abril de 2009, em: http://www.aureside.org.br. [3] Auridese (2009). Temas Técnicos: Conceitos Básicos, Automação Residencial: Sistemas Integrados. Acedido em 04 de Abril de 2009, em: http://www.aureside.org.br. [4] A. R. Messias. Porta Paralela. Acedido em 04 de Abril de 2009, em: http://www.rogercom.com.br. [5] A. M. Oliveira, Automação Residencial. Trabalho de Conclusão de Curso (Graduação) - Centro Universitário de Araraquara, Araraquara, pp. 53, 2005.