UCAM – UNIVERSIDADE CANDIDO MENDES
RONALDO DA COSTA FREITAS
SISTEMA ALTERNATIVO PARA AUTOMAÇÃO DE RESIDÊNCIAS COM
SERVIDOR WEB ARDUINO
BARBALHA - CE
2018
UCAM – UNIVERSIDADE CANDIDO MENDES
RONALDO DA COSTA FREITAS
SISTEMA ALTERNATIVO PARA AUTOMAÇÃO DE RESIDÊNCIAS COM
SERVIDOR WEB ARDUINO
Artigo Científico Apresentado à Universidade Candido
Mendes - UCAM, como requisito parcial para a
obtenção do título de Especialista em engenharia
elétrica com ênfase em sistema de automação.
BARBALHA - CE
2018
1
SISTEMA ALTERNATIVO PARA AUTOMAÇÃO DE RESIDÊNCIAS COM
SERVIDOR WEB ARDUINO
Ronaldo da Costa Freitas1
RESUMO
O foco principal deste artigo é apresentar uma solução alternativa para aplicações de automação
residencial utilizando tecnologia bastante difundida atualmente, mas que ainda foi pouco explorada
em sistema de controle web. Este trabalho tem como objetivo desenvolver um modelo de automação
residencial utilizando um micro servidor web Arduino. Desenvolveu-se um estudo profundo sobre o
sistema de automação residencial desde a elaboração do circuito elétrico correspondente até a
elaboração das páginas web de controle e monitoramento. Neste último caso foi adotado a linguagem
de marcação HTML, com estilo em CSS e programação JavaScript. Ao final do estudo, concluiu-se
que um sistema de automação residencial utilizando servidor web Arduino pode ser considerado uma
ferramenta alternativa para controle de residências, pois, além do baixo custo dos componentes
empregados, o sistema pode proporcionar aos moradores, conforto e segurança.
Palavras-chave: Automação residencial. Arduino. Servidor web.
Introdução
O presente trabalho tem como tema a elaboração de um sistema alternativo
para automação de residências utilizando o Arduino como servidor de páginas web
de controle e gerenciamento.
Nesta perspectiva, construiu-se questões que nortearam este trabalho:
O que um sistema de automação residencial, com servidor web, pode
proporcionar aos moradores?
Quais recursos um sistema de controle via web deve dispor para
torná-lo uma ferramenta alternativa para automação de residências?
Quando se fala em automação residencial via web com Arduino são poucos
os recursos disponíveis pelo fabricante deste microcontrolador para implementação
de um sistema profissional disponibilizando páginas web para gerenciamento e
configurações conforme necessidades de cada residência. Desta forma os
interessados em adquirir um sistema para controle de sua residência acaba tendo
1
Pós-graduando em Engenharia Elétrica com Ênfase em Sistema de Automação - Ucamprominas.
Graduado em Tecnologia em Automação Industrial - IFCE Campus Juazeiro do Norte. Técnico em
Mecânica - CENTEC.
2
que optar por outras ferramentas de custo bem mais elevado. Daí surge a ideia de
aprofundar os estudos nesta linha de pesquisa no intuito de criar um sistema de
baixo custo com interface simples e intuitiva para automação de residências
utilizando o Arduino como servidor web de páginas de controle, monitoramento e
configuração.
Vários autores alegam a importância de ter uma ferramenta para
gerenciamento das residências de forma remota, podendo monitorar o estado de
dispositivos, exercer controle e agendamentos futuros.
Dando importância que a maioria das pessoas passam grande parte do dia
fora de suas residências e considerando que estas são bastantes flexíveis ao mundo
atual, verifica-se que uma das necessidades da página web é que ela esteja sempre
disponível para acesso ao utilizador. Ou seja, não apenas em casa, mas em
qualquer local em que o utilizador sinta a necessidade de verificar ou controlar o
estado de qualquer dispositivo na sua habitação (Zandoná et al, 2012).
Neste contexto, o objetivo primordial deste estudo é, pois, apresentar uma
solução alternativa para automação de residências com servidor web Arduino,
empregando recursos avançados para controle de iluminação e sistema de
segurança.
Figura 1: Visão ampla do sistema proposto.
Para alcançar os objetivos propostos, foi necessário um estudo profundo na
implementação dos comandos das linguagens envolvidas e na lógica de
comunicação entre as páginas web acessadas no navegador e o Arduino.
3
Desenvolvimento
Automatizar uma residencia consiste em utilizar ferramentas tecnológicas
microprocessadas capaz de controlar parte, ou todos os dispositivos de uma casa a
partir de informações detectadas por sensores, ou por ações comandadas pelo
utilizador. Nesta aplicação, os moradores além de gerenciadores do sistema, podem
receber informações instantâneas de eventos detectados, como alarme de
segurança acionado, por exemplo.
No cenário atual, as tecnologias estão provocando intensas alterações em
todos os seguimentos da nossa vida. Elas vêm contribuindo, sem dúvida, para
transformar o mundo. Atualmente, as pessoas levam uma vida muito corrida, tendo
que realizar várias tarefas ao mesmo tempo, e nesse cenário, esquecer de fazer
algo é muito comum, o que pode levar a gastos maiores financeiramente (Campos,
2014).
Segundo Massuchine (2013), a automação residencial possui diversos
aspectos importantes e que contribuem de maneira benéfica no nosso dia a dia. A
possibilidade de se controlar equipamentos e dispositivos como eletrodomésticos ou
iluminação melhora o controle dos mesmos e permite a medição do consumo de
energia a fim de reduzir gastos. Além disso, traz uma grande comodidade visto que
o sistema pode ser controlado por meio de um computador ou dispositivos móveis.
Tófoli (2014) expõe a evolução da tecnologia como uma oportunidade de
proporcionar conforto, economia e principalmente segurança. E pensando nestes
fatores argumenta que a ideia de automatizar uma residência define-se em
simplificar e facilitar diversas ações realizadas no dia-a-dia, tanto para pessoas
comuns como também para pessoas com deficiência, que não podem se locomover
para abrir uma janela, por exemplo. E para que isso ocorra são necessários alguns
equipamentos, de preferência de baixo custo, como placas de Arduino, que podem
ser interligadas aos dispositivos automatizados da residência através de um servidor
web. O servidor web, segundo ele, garante maior praticidade para suportar as
funções que serão executadas, podendo assim ser controladas sem estar
necessariamente presente no local.
No sistema Web o usuário poderá monitorar e atuar sobre as variáveis da
residência. Além dessas funções básicas, o usuário terá a liberdade de realizar
algumas configurações especificas em seu sistema, como criar cenários de ativação
4
programados para uma determinada hora (Zandoná et al, 2012). Nestes senários,
por exemplo, as lâmpadas podem ser ligadas e desligadas de forma automática,
mas para que tal ação ocorra deve ser feito um agendamento via página web.
Para Zandoná (2012), o principal objetivo de um sistema de automação
residencial é dar a seu utilizador o poder de controlar e monitorar a sua residência, o
que é necessário assegurar que apenas os respectivos moradores tenham acesso
ao sistema. E para garantir essa segurança pode ser implementado um controle de
acesso baseado em um usuário e uma senha, onde o sistema só permitirá acesso
aos usuários que entrarem com esses dados corretamente.
Toda essa teoria de automação residencial deve ser transcrita para um
modelo físico, o qual leva o projeto a vários caminhos de estudos, dentre eles
destacam-se: desenho elétrico do sistema, programação do controlador e
desenvolvimento das páginas web.
No projeto de automação é importante ter em mãos o circuito elétrico
correspondente, já que nele contêm todas as informações detalhadas dos
componentes empregados. Segundo Zamboni (2011) o software proteus é
atualmente considerado uma ferramenta essencial para estudantes e profissionais
que desejam criar circuitos, simular e elaborar layout’s de aplicações analógicas e
digitais, inclusive microcontroladores.
O esquema elétrico deve auxiliar durante a montagem dos componentes
eletrônicos em caixa de automação. Pois, a caixa em conjunto com o restante do
aparato para modernização, pode ser considerado um investimento de retornos, já
que a automação valoriza a instalação e otimiza processos e atividades, gerando
economia em algum aspecto, que pode variar para cada aplicação (MCEIG, 2018).
Para o desenvolvimento e instalação do sistema de automação pode ser
adotada um modelo de arquitetura centralizada. Segundo Ferreira (2008), neste
modelo existe um controlador central que, de acordo com o programa nele
executado, os dados que são recebidos das entradas (sensores) e a informações
introduzidas pelos utilizadores (através da interface web), atuam em conformidade
nas saídas (atuadores).
5
Figura 2: Arquitetura centralizada.
(FONTE: Ferreira,2008)
Na construção do sistema de automação residencial, utilizando a arquitetura
centralizada, uma alternativa é adotar o controlador Arduino Mega 2560 e o Ethernet
Shield W5100, que juntos formam o micro servidor web. Segundo Tófoli (2014), o
Arduino é uma placa programável capaz de interpretar variáveis e transformá-las em
sinais elétricos, através de dispositivos externos ligados aos seus terminais, como
sensores, LEDs, chaves, relés e pequenos motores.
A placa Arduino Mega 2560 utiliza o microcontrolador ATmega2560, o qual é
composto por: 256 KB de memória flash para armazenamento do programa de
automação, 8 KB de SRAM (guardar dados temporários) e 4 KB de EEPROM
(guardar informações do sistema). Já o Ethernet Shield permite que um Arduino seja
conectado à internet em modo TCP e UDP utilizando o controlador de ethernet
W5100 da Wiznet (Zandoná, 2012).
O micro servidor Arduino instalado no quadro de automação deve receber
todas as instruções de controle e gerenciamento a ser executada a partir do
ambiente de desenvolvimento (ou IDE, do inglês Integrated Development
Environment). A linguagem utilizada para programação do Arduino é a
linguagem C++ (com pequenas modificações), que é uma linguagem muito
tradicional e conhecida (Chavier, 2018).
No programa do Arduino pode ser inserida várias bibliotecas, já prontas e
disponíveis, para configuração e comunicação com os componentes conectados ao
sistema. Na programação do Arduino as funções básicas da IDE são setup e loop.
No setup deve ser introduzidas configurações do sistema que são executadas na
inicialização do programa, como por exemplo, definição de portas usando a função
pinMode() e configurações de dispositivos com funções específicas para cada um.
6
Já na função loop pode ser inseridas instruções que serão executadas em todo
tempo que o Arduino estiver ligado. É nesta função que o Arduino controla as saídas
e monitora as entradas utilizando as funções digitalWrite() e digitalRead()
respectivamente.
Por outro lado, o programa do Arduino também é o responsável por servir as
páginas de controle e gerenciamento ao cliente. Páginas estas que devem ser
desenvolvidas, através de um software, utilizando a linguagem de marcação HTML
juntamente com estilo em CSS (design da página) e programação javascript.
Segundo PPLWARE (2018) existem muitos editores HTML disponíveis para o
Windows, mas poucos conseguem ultrapassar as funcionalidades que o Notepad++
disponibiliza, pois além de uma interface bem construída e de simples utilização,
consegue dar a todos os que programam, o acesso a mais de 40 sintaxes de
programação.
Segundo Ferreira (2008), o HTML permite uma mínima interação com os
utilizadores. Em consequência disto, como as páginas web de automação
residencial devem ser bastante interativas e funcionais, não deve utilizar somente o
HTML. Então para solucionar o problema em questão, uma alternativa é introduzir
junto ao código HTML a linguagem de programação JavaScript, que será executado
dentro do navegador do cliente. Esta linguagem será responsável por tratar
interações do cliente com o servidor e vice-versa, acrescentando também validações
dos dados introduzidos pelos utilizadores nos formulários da página web. Através
desta linguagem surge a metodologia AJAX (Asynchronous JavaScript and XML), o
qual acrescenta arquivos XML a linguagem JavaScript a fim de permitir ao cliente,
através do navegador, a troca de informações diretamente com o servidor web.
Neste caso, as informações recebidas são processadas em background (de forma
não visível ao utilizador) e usada para, dinamicamente, atualizar elementos em uma
página web, sem a necessidade de recarregar toda a página.
Um diagrama de casos de uso que pode ser adotado para o desenvolvimento
das páginas web, de interface com o sistema, foi apresentado por Zandoná (2012).
No diagrama descrito por ele, pode ser inserido, além das páginas web de controle
instantâneo, páginas para: controle de acesso, controle por agendamento (senários),
configuração do sistema, configuração dos dispositivos e atualização de hora. Estes
são essenciais para tornar o sistema uma solução alternativa de automação
residencial.
7
Figura 3: Casos de uso para o servidor web.
(FONTE: Zandoná,2012).
As páginas web devem ser simples e intuitivas ao utilizador de modo que,
além das ferramentas de controle amigáveis, todo o layout se ajuste conforme o
tamanho da tela do dispositivo utilizado, como por exemplo, computador pessoal,
notebook ou celular Smartphone.
Após finalização das páginas web, as mesmas devem ser gravadas em cartão
micro SD, e este em seguida deve ser inserido no conector correspondente do
Ethernet Shield para que dessa forma, o Arduino possa ler os arquivos HTML e
servi-las ao utilizador sempre que lhe forem solicitadas.
Com o servidor web Arduino programado e montado em caixa de
automação, deve-se conectar o sistema a um roteador de internet. Este por sua vez
permitirá aos moradores, o acesso às páginas de controle da residência através da
rede local ou pela internet.
8
Conclusão
Após o estudo feito sobre o tema, conclui-se que a utilização do
microcontrolador Arduino, como servidor web, pode ser considerado uma ferramenta
alternativa para automação de residências, pois além do baixo custo dos
componentes empregados, o utilizador pode controlar uma casa inteira pela internet,
não estando necessariamente dentro de sua residência.
Um sistema de automação residencial, como este, pode proporcionar aos
moradores várias qualidades, como por exemplo, acessibilidade aos dispositivos,
conforto na forma de acesso e segurança.
Um servidor web com Arduino para automação de residências deve dispor
aos moradores um sistema seguro, onde somente pessoa autoriza tenha acesso as
páginas de controle e configuração. As páginas de configurações indispensáveis
para uma aplicação como esta, são: página para edição de usuário e senha, página
de configuração do sistema (IP, Gateway, Máscara de sub rede, RTC) e página para
configurações das saídas.
A utilização de páginas web em sistema de automação residencial tem como
vantagem o acesso do sistema a partir de qualquer dispositivo como, computadores
pessoais, notebooks ou celulares Smartphones, onde o utilizador necessita apenas
de um navegador de internet, não ficando restrito a um dispositivo de acesso
específico.
REFERÊNCIAS
CAMPOS, R.A.F. Automação Residencial Utilizando Arduino e Aplicação Web.
Centro Universitário de Brasília - UniCEUB, 2014.
CHAVIER, L.F. Programação para Arduino - Primeiros Passos. Disponível em:
<[Link]
Acesso em: 22/04/2018.
FERREIRA, J.A.O. Interface homem-máquina para domótica baseado em
tecnologias Web. Dissertação de mestrado – FEUP, 2008.
MCEIG. Quadro de Comando Automação. Disponível em:
<[Link] Acesso em: 22/04/2018.
9
MELO, D.S.; MASSUCHINI, R.M. Automação residencial com web server
embarcado em um microcontrolador. Trabalho de conclusão de curso, Graduação –
Univap, Jacareí. 2013.
PPLWARE. Notepad++ 6.0 – Provavelmente o melhor editor de texto. Disponível
em: <[Link]
de-texto/> Acesso em: 08/06/2018.
TÓFOLI, J. Casa Inteligente – Sistema de Automação Residencial. Trabalho de
conclusão de curso, Graduação – FEMA, Assis, 2014.
ZABONI, M. Proteus VSM. Fatec SBC, 2011.
ZANDONÁ, P.T.; VALIM, P.R.O. Interface Homem-máquina para Domótica Baseada
em Tecnologias Web em um Servidor Embarcado. In: SIMPÓSIO DE EXCELÊNCIA
EM GESTÃO E TECNOLOGIA, 2012, Rio de Janeiro. Anais eletrônicos... Rio de
Janeiro: IX SEGeT, 2012. Disponível em:
<[Link] Acesso em:
22/04/2018.