1. AUTOMAÇÃO RESIDENCIAL, A CASA
INTELIGENTE.
Douglas Bento Scriptore, Wyllian Fressatti
Sistemas de Informação – Universidade Paranaense(UNIPAR) – Campus Paranavaí
Paranavaí– PR – Brasil
douglasscriptore@live.com, wyllian@unipar.br
Resumo. Nos dias atuais o conforto é visto como uma palavra essencial em nosso
cotidiano e a tecnologia vem suprindo essa necessidade.Com a automação houve
um grande desenvolvimento na linha da produção industrial, no gerenciamento de
um escritório de trabalho e na manutenção de um prédio. Agora é a vez de nossas
residências. Este artigo traz uma alternativa para se iniciar um projeto de
automação residencial utilizando um sistema web, visando o baixo custo,
explorando componentes OpenSource e a comunicação entre dois componentes
com linguagens de programação distintas utilizando a network socket. Concluindo
que é possível realizar uma automação utilizando a sugestão usada neste artigo,
reduzindo custos de projeto.
1. Introdução
A automação tem se mostrado eficiente no auxilio de algumas atividades em empresas,
comércios e residências. Nesse contexto pode-se afirmar que automação como um todo
é baseada em três princípios: conforto, economia e segurança. O conforto pode ser
alcançado através de um gerenciamento preciso das informações. A economia fica a par
de gerenciar os gastos. A segurança pode ser alcançada pelo monitoramento de todos os
circuitos envolvidos em um sistema.
A variedade de elementos que podem ser inseridas em uma residência é enorme.
Existe hoje no mercado sensores que detectam, desde, a presença de pessoas até
radiação nuclear.
Os componentes OpenSources, são uma excelente alternativa para se
desenvolver um projeto de automação visando o baixo custo como o arduino(Sessão
3.1), que foi desenvolvido para ser adaptado as necessidades do desenvolvedor
possuindo Shields (Sessão 3.1) para ampliar as possibilidades que podem ser atingidas.
Ao se tratar de um sistema web que utiliza o contexto cliente-servidor, é
necessário ter um computador que possua o software de interação com o usuário para
que haja a possibilidade de enviar dados ao controlador e receber um resultado, dada
façanha é obtida pela utilização do chamado internet socket(Sessão 3.3). Pensando em
redução de custo pode ser utilizado o Raspberry PI (Sessão 3.2).
2. Automação
Historicamente o conceito de Automação surgiu por volta de 3500 a 3200 a.C., com a
invenção da roda, tendo por finalidade melhorar, facilitar e agilizar o desempenho em
atividades cotidianas. O objetivo deste termo segue sempre uma mesma linha de
2. princípios, sendo: substituir o trabalho braçal por outros meios “mais inteligentes”,
liberando o tempo gasto para outras atividades, de intelecto, das artes e do lazer
(Silveira e & Santos, 1998).
Porém, a definição desta palavra sofreu algumas alterações no decorrer dos anos,
os softwares e hardwares evoluíram, tornando mais sofisticados, mais confiáveis, com
maior capacidade de processamento.
Com o surgimento da internet uma nova cultura foi criada, obrigando os
sistemas já existentes evoluírem para um patamar mais elevado, onde a informação
digitalizada esteja ao alcance de seu proprietário, a qualquer momento em qualquer
lugar.
Desta forma a chamada Automação Residencial ganhou força ao decorrer dos
anos pelos motivos supracitados. Entretanto ao redor da palavra tecnologia existe certo
misticismo onde muitos usuários ainda creem que dispositivos assim tornam seu
cotidiano mais frustrante (Intille, 2002).
Segundo a Associação Brasileira de Automação Residencial (Aureside)
responsável por congregar fabricantes e profissionais do setor, nos últimos três anos o
mercado de automação residencial brasileiro cresceu em média trinta e cinco por cento
ao ano em número de projetos.
Ao se tratar acessibilidade na automatização de residências, entende-se que com
o envolvimento da tecnologia no cotidiano, funções básicas como apagar uma lâmpada
ou abrir uma porta se tornaria muito fácil para deficientes físicos.
3. Como se alcançar a automação
De fato existem hoje inúmeros métodos, ferramentas e hardwares no mercado que
possibilitam alcançar a automação, porém métodos já existentes possuem alto custo de
desenvolvimento e implementação, sendo o principal ponto que repreende o deslanche
desta tecnologia.
Para suprir este empasse, pode ser adotado formas mais viáveis para obter uma
automação utilizando componentes OpenSource1, como o arduino.
3.1. Arduino
Por trás de todo um sistema automatizado existem circuitos lógicos programáveis (CLP)
que recebem uma informação devolvendo esta processada, consequentemente
executando uma rotina. Pensando nisto, pode ser utilizado o Arduino, um CLP
OpenSource1 de baixo custo com um sistema integrado de desenvolvimento, que
possibilita a escrita de linhas de comando na placa (Arduino, 2012).
O conceito do Arduino é o mesmo de uma brincadeira de lego, possibilitando o
encaixe de novas peças chamadas de Shields2 e assim ampliando as possibilidades,
1
Open-Source – Software ou hadware que tem sua licença livre, possuindo seu código aberto para
melhorias e adaptações.
2
Shields – Placa de circuito impresso normalmente fixadas no topo do aparelho, em nossa língua as
Shields passam a ter o nome de escudo
3. tornando essa placa muito atrativa, pois assim é possível anexar novas funcionalidades
com a sua necessidade, desta forma, não precisando adquirir um super hardware que
desperdice recursos.
A Figura 1 mostra como esse hardware é robusto, simples, e de fácil utilização,
no exemplo foi utilizado o Arduino versão Uno, para realizar as funções lógicas e o
Ethernet Shield, para dar a possibilidade de interação da placa através da internet por
intermédio de um dispositivo móvel.
Figura 1 - Shield conectado ao Arduino (Arduino,2012)
Hoje existem mais de 210 Shields submetidos para avaliação na empresa que
desenvolve o Arduino, no qual apenas 175 estão habilitadas para compra (Oxer, J,
2012).
O Arduino Uno (versão descrita neste projeto) utiliza um microprocessador
baseado na tecnologia ATmega possuindo 14 pinos digitais de I/O(entrada e saída) e 6
pinos analógicos I/O, seu processamento é por conta de um Crystal oscilador de 16Mhz,
memória flash de 32kb , SRAM de 2kb e EEPROM de 1kg (Arduino, 2012).
A escrita de linhas de códigos na placa é por conta de uma porta serial. Esta
linguagem é denominada de Arduino muito parecida com o C++, onde são utilizados
dois métodos principais o setup () e loop (). A primeira define variável, modos de pinos
etc. A segunda faz exatamente o que seu nome sugere, percorre o loop
consecutivamente identificando novos eventos enviados ao sistema.
3.2 Raspberry pi
Com a possibilidade de acessar o dispositivo por uma interface web, surge a
possibilidade de construir um sistema para facilitar a interação do usuário com
hardware, porém é necessário ter um servidor para executar o software e possibilitar a
conexão do mesmo com um roteador wireless, elevando os custos do projeto, já que, um
servidor não possuiu custos atrativos para a aplicação em questão, podendo ser utilizado
uma solução inovadora e viável tanto em aspectos de processamento quanto custos.
O Microcomputador Raspberry PI é um computador de placa única desenvolvida
pela fundação Raspberry PI. O objetivo principal da fundação é a utilização deste para o
uso de estudantes em escolas carentes, porém surgiram n variáveis que podem
aproveitar os benefícios oferecidos à um custo inicial de apenas vinte e cinco dólares.
Este possui um processador de 700Mhz, uma GPU adequada para a aplicação
4. demonstrada neste artigo e uma memória RAM de 256 megabytes dando suporte para
sistema operacional Linux diminuindo o custo do projeto (Raspberry, 2012).
3.3 Comunicação
A web tem sido construída no paradigma solicitação/resposta de HTTP, em que o
usuário acessa uma página web, em seguida, nada acontece ao menos se ele clique para
atualizar a página (Ubl M, Kitamura E. 2010). Pensando em sistema Web de automação,
isso se tornaria desagradável e geraria certa confusão, pois, imagine dois usuários
utilizando o mesmo sistema simultaneamente, e ambos ativassem o sistema de
segurança, o mesmo seria ativado e desativado.
Para solucionar este deficiência, na década de 80 uma parceria entre a
ARPA(Advanced Research Projects Agency) e a Universidade da Califórnia
desenvolveram um projeto com a finalidade de oferecer uma implementação Unix do
pacote de protocolo TCP/IP3, conhecido hoje como interface socket (Hopson, 1997). Ao
decorrer da história essa tecnologia foi desenvolvida e surgiram novos métodos como o
AJAX em 2005, Push/Comet e WebSocket.
Pensando em uma aplicação Web para automação devemos programar dois
lados: o cliente, onde fica o sistema com interface amigável; o servidor onde fica nosso
CLP com a linguagem arduino. Para enviar comandos do cliente para o servidor é
necessário realizar uma conexão socket entre dois códigos no caso Java e Arduino, vista
na figura 2.
Figura 2 - Lado cliente e servidor
Pode-se notar que no lado cliente é criado uma nova conexão socket, fazendo
uma ligação bidirecional entre o cliente-servidor, assim é criado duas formas de
comunicação via Stream no qual o “DataInputStream” recebe uma informação do
servidor e o “DataOutputStream” envia uma informação para o servidor.
No lado servidor em um pequeno trecho de código é definido o mac,
IpAddress(Endereço de IP), gateway e subnet, o vector Luz[] é inicializado por
“0000L#” onde os zeros identificam o estado de cada dispositivo, 0 desligado, 1 ligado,
e o L# indica que aquela vector de caracteres é do tipo lâmpada. Quando é passado uma
informação para o arduino através da aplicação web, ele percorre esse vetor identifica a
posição que foi passada a ele, sobrescrevendo o mesmo, ligando ou desligando uma
lâmpada, quando ligada o conteúdo do vetor que antes era “0000L#” pode passar a ser
“0100L#” não sendo necessariamente nesta ordem, pois cada 0/1 indica uma lâmpada.
3
TCP/IP – Transmission Control Protocolo ou protocolo de controle de transmissão
5. Na figura 3, nota-se um exemplo na prática de como é enviado uma informação
para o controlador.
Figura 3 - Código Java Web de envio de informações para o arduino.
Na interface onde o usuário executa o evento é invocado um método lâmpada(s)
que recebe uma String “s”, verificada por uma condição, ao verificar essa condição é
feita outra verificação que compara o estado do vetor que é enviado para o arduino.
4. Conclusão
É possível alcançar a automação utilizando novas alternativas já existentes no mercado,
como o arduino e o RaspberryPI, nos testes realizados estes dois componentes se
mostraram eficazes, atendendo as perspectivas. Porém como a automação ainda não é
uma ciência consolidada, muito ainda tende a evoluir. As empresas estão desenvolvendo
interfaces que facilitam a conexão de seus produtos em um CLP, consequentemente
facilitando o desenvolvimento do projeto em uma residência e reduzindo ainda mais os
custos, a Aureside revela que nos próximos cinco anos a automação já estará presente na
classe C da população brasileira.
5. Referências
Arduino Corp. Arduino Uno. 2012. Disponível em:
<http://arduino.cc/en/Main/arduinoBoardUno>. Acessado em 31 de maio de 2012.
Aureside. Associação Brasileira de Automação Residencial. 2012. Disponivel em:
<http://www.aureside.org.br> acessado em 23 de maio de 2012.
Oxer, J. Shield List. 2012. Disponivel em: <http://shieldlist.org>. Acessado em 31 de
maior de 2012.
Raspberry Corp. Raspeberry PI. 2012. Disponível em
<http://www.raspberrypi.org>.Acessado em 28 de agosto de 2012.
Silveira, Paulo R. da, Santos, Winderson E. - Automação e Controle Discreto –
Editora Érica, São Paulo, 1998
Ubl M, Kitamura E. Apresentando WebSocket: Trazendo soquetes para a web. 2010.
Disponivel em: <http://www.html5rocks.com/pt/tutorials/websockets/basics/>.
Acessado em 28 de maio de 2012.