Está en la página 1de 59

PONTIFCIA UNIVERSIDADE CATLICA DE MINAS GERAIS

Sistemas de Informao

Letcia Thas da Silva

UMA PROPOSTA DE AUTOMAO RESIDENCIAL UTILIZANDO A


PLATAFORMA DE PROTOTIPAGEM ELETRNICA ARDUINO

Betim
2013

Letcia Thas da Silva

UMA PROPOSTA DE AUTOMAO RESIDENCIAL UTILIZANDO A


PLATAFORMA DE PROTOTIPAGEM ELETRNICA ARDUINO

Monografia apresentada ao Curso de


Sistemas de Informao da Pontifcia
Universidade

Catlica

de

Minas

Gerais, como requisito parcial para


obteno do ttulo de Bacharel em
Sistemas de Informao.

Orientador: Bernardo Jeunon

Betim
2013

Letcia Thas da Silva

UMA PROPOSTA DE AUTOMAO RESIDENCIAL UTILIZANDO A


PLATAFORMA DE PROTOTIPAGEM ELETRNICA ARDUINO

Monografia apresentada ao Curso de


Sistemas de Informao da Pontifcia
Universidade

Catlica

de

Minas

Gerais, como requisito parcial para


obteno do ttulo de Bacharel em
Sistemas de Informao.

__________________________________
Bernardo Jeunon de Alencar, D. Sc. ICEI/DCC PUC Minas
____________________________________
Lenidas Conceio Barros PUC Minas

Betim, 04 de dezembro de 2013.

Aos meus pais,


pela pacincia e por estarem sempre presentes me incentivando.

AGRADECIMENTOS
Agradeo primeiramente a Deus, por ter me concedido fora,
inteligncia e sabedoria.
Agradeo aos meus pais por estarem sempre presentes me incentivando.
Agradeo ao professor Leonardo Grandinetti pelo incentivo no incio do
projeto, a professora Ester Jeunon por estar sempre disponvel a ajudar, ao
professor e orientador Bernardo Jeunon por todas ajudas, dicas e auxlios, e em
especial ao professor Caio Veloso, que me ajudou muito durante esse trabalho, mas
infelizmente no est mais entre ns.
Agradeo aos meus colegas acadmicos pelos anos de companheirismo e
amizade.
Agradeo Thmara Luiza por me ajudar na elaborao do logotipo do
prottipo.
Agradeo ao meu irmo Guilherme Silva, por me ajudar na compreenso dos
componentes eltricos necessrios no projeto, e pela ajuda na confeco da
maquete.

RESUMO
O presente trabalho tem como objetivo apresentar uma proposta de automao
residencial, utilizando a plataforma de prototipagem eletrnica open-source Arduino.
Ele apresenta um projeto para controle de iluminao, abertura e fechamento de
portas, controle de alarmes e de cmera de segurana de uma residncia fictcia.
O prottipo desenvolvido utiliza uma placa Arduino Mega, um mdulo Ethernet, que
ser o responsvel por prover conexo com a Internet ao Arduino, um servidor web
Apache, que possui a funo de disponibilizar as pginas do sistema web, o banco
de dados MySQL, um dispositivo com acesso internet e uma maquete residencial
para a representao da casa modelo.
Por intermdio da aplicao web, desenvolvida atravs da linguagem PHP, o usurio
ir escolher o comando que deseja executar que, enviados ao Microprocessador
Arduino, executar a ao determinada.

Palavras chave: Arduino. Automao Residencial.

ABSTRACT

This paper aims to present a proposal for home automation using the platform opensource Arduino electronics prototyping. It presents a design for lighting control,
opening and closing doors, alarm control and security camera of a fictitious
residence.
The prototype uses a board "Arduino Mega", an Ethernet module, which is
responsible for providing Internet connection to Arduino, an Apache web server,
which has the function of providing the web pages of the system, the MySQL
database a device with internet access and a residential model for the representation
of the model home.
Through the web application, developed by the PHP language, the user will choose
the command you want to run that sent the Arduino microprocessor, perform the
given action.

Keywords: Arduino. Home Automation.

LISTA DE FIGURAS
Figura 1 Histria da Domtica............................................................................. 17
Figura 2 - Ciclo de Adoo de Novos Produtos Pelos Consumidores ............... 18
Figura 3 Walpad IHouse ....................................................................................... 21
Figura 4 Controle de sala GDS Automao ....................................................... 22
Figura 5 Interao entre componentes do sistema ........................................... 23
Figura 6 Ambiente de desenvolvimento do Arduino ......................................... 26
Figura 7 Comunicao SPI .................................................................................. 27
Figura 8 Pinos utilizados para comunicao SPI .............................................. 28
Figura 9 Trecho de cdigo chamada da biblioteca Ethernet ............................ 28
Figura 10 Trecho de cdigo utilizando biblioteca Servo .................................. 29
Figura 11 Pino onde o servomotor conectado ............................................... 29
Figura 12 Utilizao do comando Write.............................................................. 30
Figura 13 Arduino Mega....................................................................................... 30
Figura 14 Pinos Arduino ...................................................................................... 31
Figura 15 Pinos do Arduino Mega 2560.............................................................. 33
Figura 16 Mdulo Ethernet .................................................................................. 35
Figura 17 Configuraes do Arduino ................................................................. 35
Figura 18 Princpio de funcionamento de um servo motor .............................. 36
Figura 19 Funcionamento PHP, servidor Web e banco de dados .................... 38
Figura 20 Pgina inicial do PHPMyadmin .......................................................... 42
Figura 21 Ligao de lmpada sem automao ................................................ 45
Figura 22 Ligao de uma lmpada ao quadro eltrico com quadro de
automao ............................................................................................................... 45
Figura 23 Planta da maquete ............................................................................... 46
Figura 24 Sistema sendo acessado atravs de um smartphone ..................... 47
Figura 25 Pgina Principal Domus Automao Residencial ............................ 47
Figura 26 Pgina de gerenciamento de usurios .............................................. 49
Figura 27 Funo socket_connect ...................................................................... 50
Figura 28 Mensagem de erro ao receber status da casa .................................. 50
Figura 29 Tela de Controle do sistema ............................................................... 51
Figura 30 Cdigo mensagens enviadas pela pgina PHP ................................ 52

Figura 31 Vetor declarado no cdigo fonte do Arduino.................................... 52


Figura 32 Comando enviado pela pgina PHP para abrir porto ..................... 52
Figura 33 Comando enviado pela pgina PHP para fechar porto .................. 53
Figura 34 Programao servo motor .................................................................. 53
Figura 35 Pgina de visualizao de imagens ................................................... 54

LISTA DE SIGLAS E ACRNIMOS


AURESIDE - Associao Brasileira de Automao Residencial
CSV - Comma Separated Values
HTML - Hypertext Preprocessor
ICSP - In-Circuit Serial Programming
IDE - Integrated Development Environment
IP - Internet Protocol
ISO - Image System Optic
LED - Light Emitting Diode
MAC - Media Access Control
MySQL My Structured Query Language
PDF - Portable Document Format
PHP - Hypertext Preprocessor
PWM - Pulse-Width Modulation
QA Quadro de automao
RJ45 - Registered Jack 45
SPI - Serial Peripheral Interface
TCP - Transmission Control Protocol
TI Tecnologia da Informao
UDP - User Datagram Protocol
XML - Extensible Markup Language

SUMRIO

1 INTRODUO ....................................................................................................... 13
1.1 Problematizao............................................................................................. 13
1.2 Objetivo geral ................................................................................................. 14
1.3 Objetivos especficos .................................................................................... 14
1.4 Justificativa .................................................................................................... 14
1.5 Resultado esperado ....................................................................................... 14
1.6 Estrutura do trabalho ..................................................................................... 15
2 REVISO DE LITERATURA ................................................................................. 16
2.1 Histria da Domtica ..................................................................................... 16
2.2 Desafios da Domtica .................................................................................... 17
2.3 Caractersticas de sistemas de domtica .................................................... 18
2.4 Benefcios proporcionados por sistemas de domtica .............................. 19
2.5 Mercado da domtica .................................................................................... 20
2.6 Sistemas Comercializados ............................................................................ 20
2.6.1 IHouse ....................................................................................................... 20
2.6.2 GDS Automao....................................................................................... 21
3 COMPONENTES FSICOS DO PROTTIPO........................................................ 23
3.1 Plataforma Arduino ........................................................................................ 24
3.1.1 O que o Arduino?.................................................................................. 24
3.1.2 Histria do Arduino ................................................................................. 24
3.1.3 Ambiente de Desenvolvimento ............................................................... 25
3.1.4 Bibliotecas ................................................................................................ 26
3.1.4.1 Biblioteca SPI..................................................................................... 26
3.1.4.2 Biblioteca Ethernet ............................................................................ 28
3.1.4.3 Biblioteca Servo ................................................................................ 29
3.1.5 Arduino Mega ........................................................................................... 30
3.1.5.1 Caractersticas ................................................................................... 30
3.1.5.2 Funo dos pinos .............................................................................. 31

3.2 Mdulo Ethernet W5100 ................................................................................ 34


3.3 Servo motor .................................................................................................... 35
3.4 Cmera IP ....................................................................................................... 36
4 TECNOLOGIAS PARA DESENVOLVIMENTO DO SISTEMA WEB .................... 38
4.1 PHP.................................................................................................................. 39
4.1.1 Histria do PHP ........................................................................................ 39
4.1.2 Vantagens da PHP ................................................................................... 40
4.2 Apache ............................................................................................................ 40
4.3 MySQL ............................................................................................................. 41
5 DESENVOLVIMENTO DO PROTTIPO ............................................................... 44
5.1 O que muda ao Automatizar uma residncia? ............................................ 44
5.2 Desenvolvimento da maquete....................................................................... 46
5.3 Desenvolvimento da pgina Web ................................................................. 46
5.3.1 Pgina inicial ............................................................................................ 47
5.3.1.1 Segurana da pgina......................................................................... 48
5.3.2 Pgina de gerenciamento de usurios .................................................. 49
5.3.3 Pgina de controle do sistema ............................................................... 49
5.3.3.1 Boto de controle das lmpadas ..................................................... 51
5.3.3.2 Botes de controle do porto ........................................................... 52
5.3.3.3 Botes de visualizao das imagens da cmera ............................ 53
5.3.4 Pgina de visualizao de imagens da cmera ..................................... 54
6 CONCLUSO E TRABALHOS FUTUROS ........................................................... 55
6.1 Trabalhos futuros........................................................................................... 56
REFERNCIAS ......................................................................................................... 57

13

1 INTRODUO
Nos ltimos anos verifica-se que a automao est cada vez mais presente
em ambientes domiciliares, proporcionando maior comodidade, segurana e
confiabilidade. Isso consequentemente levou ao surgimento de uma nova rea da
automao, a domtica. A domtica uma tecnologia recente, em que um sistema
integrado capaz de controlar a temperatura, luminosidade, nvel de som, sistemas
de segurana, entre outros, por meio de uma central de controle (BOLZANI, 2004).
A rea de conhecimento se mostra propcia para atuao de um profissional
de TI e revela alto potencial empreendedorstico.
Normalmente uma nova tecnologia possui custo mais elevado. Neste sentido
diversas empresas buscam minimizar esse impacto sobre seus produtos atravs do
uso de tecnologias open source, cujas licenas so distribudas de forma gratuita.
Este o caso da plataforma de prototipagem eletrnica Arduino.
Assim, o objetivo deste trabalho desenvolver um sistema de automao
residencial baseado nesta plataforma.

1.1 Problematizao

Por se tratar de uma tecnologia nova e pouco difundida, os sistemas de


automao residencial de grandes empresas do ramo, tendem a possuir um alto
custo de implementao. De acordo com a AURESIDE Associao Brasileira de
Automao Residencial o custo de um sistema como o proposto representa 5% do
valor de um imvel (LANG, 2012), o que limita este mercado a pessoas com maior
poder aquisitivo, tornando-se inatingvel para boa parcela da populao.
Verificou-se, assim, a oportunidade de realizar uma pesquisa e desenvolver
um prottipo para conhecer, analisar e avaliar a possibilidade de se ter um sistema
de automao residencial utilizando o Arduino, que, por se tratar de uma plataforma
open source, poderia reduzir o custo de tal sistema.

14

1.2 Objetivo geral

O objetivo deste trabalho desenvolver um sistema de automao residencial


com algumas funes bsicas baseado na plataforma de prototipagem eletrnica
Arduino.

1.3 Objetivos especficos

Identificar as potencialidades do Arduino para a automao residencial;

Identificar os principais modelos e possibilidades de automao residencial;

Desenvolver uma aplicao em PHP para acesso ao sistema;

Desenvolver a programao da plataforma de prototipagem eletrnica Arduino;

Construir uma maquete que represente uma residncia automatizada.

1.4 Justificativa

O desenvolvimento desse trabalho justifica-se pela identificao de um novo


nicho do mercado de automao residencial. Como j citado, os sistemas j
existentes, possuem alto valor econmico, portanto deseja-se verificar se possvel
prover sistemas de automao atravs da plataforma Arduino, o que poderia reduzir
este custo.
Outro fator relevante o conhecimento que se pode agregar sobre a
plataforma de prototipagem eletrnica Arduino, frequentemente utilizada em
inmeros projetos, das formas mais variadas.

1.5 Resultado esperado

Demonstrar como possvel desenvolver um sistema de automao, baseado


na plataforma de cdigo livre Arduino, capaz de prover segurana, praticidade e
conforto para moradores de uma residncia automatizada.

15

1.6 Estrutura do trabalho

Alm deste captulo introdutrio essa monografia est estruturada em mais 5


captulos, que esto dispostos da seguinte forma:
Captulo 2 Reviso de Literatura Ser apresentado a definio de alguns
conceitos relacionado ao tema domtica.
Captulo 3 Componentes Fsicos do Prottipo Ser apresentado os
componentes fsicos utilizados para a construo do prottipo.
Captulo 4 Tecnologias para Desenvolvimento do Sistema Web
Apresentar as ferramentas de desenvolvimento utilizadas para construo das
pginas Web.
Captulo 5 Desenvolvimento do Prottipo apresentar o que foi
desenvolvido.
Captulo 6 Concluso e trabalhos futuros Trata-se da concluso do
projeto, e uma anlise de quais melhorias podem ser aplicadas para a construo de
um futuro prottipo ou at mesmo para a construo de um sistema comercial.

16

2 REVISO DE LITERATURA

O termo domtica deriva da juno da palavra em latim domus, que significa


casa e a palavra robtica, ou seja, domtica torna possvel controlar de forma
automtica uma residncia. (FERREIRA, 2008).
O conceito de domtica segundo Bolzani:
a cincia moderna de engenharia das instalaes em sistemas prediais. A
Domtica uma cincia multidisciplinar que estuda a relao entre homem
e casa. A imerso de pessoas em ambientes computacionalmente ativos
revelou a necessidade do uso de tcnicas mais sutis que gerenciassem a
complexidade e o dinamismo das interaes dos moderadores com o
ambiente residencial saturado de diminutos dispositivos eletrnicos
interligados a rede. (BOLZANI, 2010, p. 31).

A automao residencial, assim como a predial, derivada da automao


industrial, porm, com tecnologias adequadas para a realidade de uma residncia,
onde na maioria das vezes no h espao suficiente para grandes centrais de
controle e pesados sistemas de cabeamento (SENA, 2005).

2.1 Histria da Domtica

Segundo Moya e Tejedo (2010), a origem da domtica remete-se aos anos


70, quando surgiram os primeiros dispositivos de automao de edifcios, baseados
na tecnologia X-10. O X-10 um protocolo que permite controlar dispositivos em
uma rede eltrica j existente, evitando a necessidade de novos cabeamentos.
um sistema de fcil instalao, mas bastante instvel, uma vez os
componentes podem vir a falhar, ou at mesmo estragar devido falta de energia ou
at mesmo por descargas eletromagnticas.
Nos anos 80, com o advento da computao pessoal, surgiram interfaces
grficas e operaes muito mais simples que as j existentes, o que levou ao
surgimento de novas possibilidades de automao residencial.
Mas foi no final da dcada de 90 que uma vasta gama de novidades surgiu,
incorporadas com os telefones celulares e a web.
Atualmente a domtica utiliza esses novos recursos de forma integrada, como
por exemplo, em sistemas de controle e monitoramento mvel, atravs de celulares,
tablets, ou via web (OLIVEIRA, 2012).

17

A Figura 1 ilustra a evoluo da domtica.


Figura 1 Histria da Domtica

Fonte: AURESIDE, 2013

2.2 Desafios da Domtica


A prxima grande disputa das empresas de tecnologia ser pela automao
residencial, um mercado que deve movimentar 250 bilhes de dlares nos
Estados Unidos nos prximos sete anos, e 1 trilho de dlares em todo o
mundo no mesmo perodo. Gigantes como Intel, Motorola, Microsoft e Cisco
esto, neste momento, empenhados em criar a casa do futuro. Mas o maior
problema exatamente este: at agora, ningum sabe o que ela precisa ter
para agradar aos consumidores (EXAME 2005).

De acordo com pesquisas da Associao Brasileira de Automao


Residencial, a busca por solues de automao est em diferentes estgios nas
regies do Brasil. Em So Paulo, por exemplo, os interessados j no so mais os
entusiastas ou visionrios, mas tambm os pragmticos e cidados comuns de
classe mdia (TURUEL, 2008).
Para um produto ser mantido no mercado ele precisa de um nmero
significativo de compradores, que seria atingido quando uma maioria inicial
comeasse a adquiri-lo, pois se isso no ocorre, o produto acaba caindo no
esquecimento. O grfico abaixo ilustra como a curva de adoo de novas
tecnologias.

18

Figura 2 - Ciclo de Adoo de Novos Produtos Pelos Consumidores

Fonte: GRANDO, 2013

A domtica j est deixando para trs esse abismo que existe entre
consumidores visionrios e pragmticos.
No entanto, um dos grandes desafios que podem ser encontrados para o
desenvolvimento da automao residencial, a resistncia dos prprios arquitetos e
engenheiros eletricistas, seja por falta de conhecimento, por medo de novas
tecnologias ou por necessidade da mudana da forma de trabalhar.

2.3 Caractersticas de sistemas de domtica

No mercado j existem diversas opes de sistemas de domtica, alguns


mais simples que executam funes bsicas como, por exemplo, controle de
iluminao e controle de portas e portes, outros j permitem controlar at mesmo
persianas, sons ambientes, temperatura da gua da piscina e da banheira, entre
outras diversas funcionalidades.
Entretanto, segundo a AURESIDE, algumas caractersticas so essenciais a
qualquer sistema, como por exemplo:
a) Capacidade de integrar todos os sistemas: os sistemas devem ser
interligados atravs de uma rede, e permitir controle atravs de uma nica
interface;

19

b) Atuao em condies variadas: o sistema deve ser capaz de atuar em


condies adversas, como interrupes de energia, climas diversificados
entre outros;
c) Fcil relao com o usurio: os usurios muitas vezes no compreendem
programaes complexas, portanto, deve haver um sistema com interface
intuitiva;
d) Monitoramento: o monitoramento desse tipo de sistema algo crtico,
portanto devem ser realizadas auditorias com determinada frequncia, e
sempre observar relatrios de controle.

2.4 Benefcios proporcionados por sistemas de domtica

Os benefcios que podem ser observados imediatamente pelos moradores de


uma casa automatizada so:
a) Economia de energia: a energia utilizada somente quando necessrio, pois
o controle da intensidade de iluminao, sensores de presena, controle da
temperatura ambiente, elimina gastos desnecessrios;
b) Conforto: ajuste de temperatura de piscinas, filtros de ar, ar condicionado,
entre outros equipamentos atravs de uma nica interface;
c) Convenincia: a temperatura do ambiente pode ser controlada mesmo antes
da chegada dos moradores, lmpadas e portes podem ser controlados de
qualquer local;
d) Acessibilidade: sistemas de automao com dispositivos touch pad e com
reconhecimento de voz, proporcionam a portadores de necessidades
especiais, a possibilidade de controlar o ambiente que esto, seja
ascendendo uma lmpada, controlando luminrias, televisores, portas, entre
outros, devolvendo ao indivduo sua independncia;
e) Segurana: a possibilidade de controle de luminosidade, ar condicionado,
televisores e outros dispositivos, podem fazer que a residncia parea
sempre ocupada.
Cmeras de monitoramento podem ser acessadas de qualquer local, o
que permite que a casa esteja sempre monitorada, um exemplo citado por
LAGURDIA, foi o caso do empresrio Ronan Soares. O empresrio estava

20

na cidade de Colnia, na Alemanha, ao verificar a cmera de monitoramento


de sua residncia, percebeu que havia ladres invadindo o local, rapidamente
avisou a esposa que estava no Brasil, que praticamente no mesmo instante
acionou a polcia.

2.5 Mercado da domtica

A automao residencial, ou domtica, como tambm conhecida, est em


uma fase de muito crescimento no Brasil, nos ltimos quatro anos o servio cresceu
300%, e j existem 25 empresas do setor no pas (AURESIDE).
Dados da Associao Brasileira de Automao Residencial revelam que 300
mil residncias do Brasil possuem algum tipo de automao, e este nmero pode vir
a crescer muito mais, pois de acordo com pesquisa realizada pela associao, 78%
dos brasileiros possuem interesse nesse servio, um nmero maior que a mdia
mundial, 66%.
Segundo a AURESIDE em 2012 o segmento faturou R$ 4 bilhes e pode
crescer mais de 30% at o fim desse ano.

2.6 Sistemas Comercializados

Realizou-se uma pesquisa de sistemas de domtica que esto disponveis


para comercializao no Brasil, observou-se que em todos o principal objeto de
automao sistema de iluminao, como se pode verificar nos sub tpicos a
seguir.

2.6.1 IHouse

um sistema que promete realizar a automao residencial sem obras

ou

mudanas na infraestrutura da residncia.


Proporciona o controle da iluminao, com graduao entre 0 e 100%,
comando de ar condicionado, persianas e ajuste de fluxo e temperatura da gua
para banho.

21

No proporciona acesso fora da residncia, uma vez que o controle e


programao se do somente atravs do painel do Wallpad (um controle que se
comunica atravs de sinal wireless com os mdulos instalados) abaixo ilustrado.
Figura 3 Walpad IHouse

Fonte: IHOUSE, 2013

2.6.2 GDS Automao

Sistema de automao residencial que proporciona o controle de iluminao,


som, home theater, ar condicionado e sistemas de irrigao de jardins, atravs de
tablets ou celulares.
O projeto desenvolvido de acordo com o desejo e a necessidade do cliente,
sendo a interface personalizvel para cada projeto. Abaixo a ilustrao da tela de
controle de uma sala.

22

Figura 4 Controle de sala GDS Automao

Fonte: GDS, 2013

2.6.3 Simplifies

Sistema desenvolvido pelo grupo QualiHouse Automao Predial, composto


por mdulos de automao, servidor Web, sensores, atuadores, cmeras e ativos de
rede, que podem ser switches, roteadores, etc.
um sistema que permite ao cliente automatizar sua residncia aos poucos,
uma vez que so instalados mdulos independentes em cada local. Esses mdulos
realizam a interface entre o sistema executado no servidor e os sensores e
atuadores instalados.
O usurio tem possibilidade de ligar/desligar lmpadas, abrir portas, monitorar
sensores, agendar eventos, visualizar cmeras, controlar msica ambiente entre
outras funcionalidades, atravs de qualquer dispositivo com acesso Internet.

23

3 COMPONENTES FSICOS DO PROTTIPO


Para a construo prottipo de automao residencial, que ser descrito no
captulo cinco, foram utilizados diversos componentes fsicos, cujo principal deles
o Arduino.
O mdulo Ethernet tambm possui funo significativa, uma vez que ser ele
que ir prover a conexo do Arduino com a Internet.
Para melhor compreender a integrao de todos esses componentes,
necessrio saber como se d o funcionamento do prottipo.
Primeiramente, o usurio enviar o comando que deseja executar, como
ascender ou apagar uma lmpada, abrir o porto ou verificar as imagens da cmera
de segurana, atravs da pgina desenvolvida em PHP. Essas informaes sero
recebidas pelo roteador, se a opo do usurio foi verificar a cmera, ser
direcionado diretamente para a pgina com as imagens, se a opo foi
ascender/apagar ou abrir/fechar o porto, o comando ser enviado para o Arduino,
que por sua vez ir processar as informaes e realizar a interface com as lmpadas
e o servomotor.
A figura a seguir ilustra a interao entre esses componentes do sistema.

Figura 5 Interao entre componentes do sistema

Fonte: Adaptado pela autora

24

3.1 Plataforma Arduino


Para trabalhar como o crebro do projeto, foi escolhida a plataforma de
prototipagem eletrnica Arduino, devido ao fato de ser uma placa robusta, de baixo
custo e com linguagem de programao de fcil aprendizagem.
A seguir, ser apresentado sua e histria e como consiste seu funcionamento.

3.1.1 O que o Arduino?

Arduino uma plataforma de prototipagem eletrnica de cdigo aberto, ou


seja, qualquer pessoa no mundo pode ter acesso seu cdigo, sem pagar por isso.
baseado em uma simples placa de entrada e sada e um ambiente de
desenvolvimento.
O Arduino formado por um micro controlador Atmel AVR, com entradas e
sadas analgicas e digitais, interligados em uma placa de prototipagem (OLIVEIRA,
2012).
A plataforma possui seu prprio ambiente de desenvolvimento com linguagem
de programao baseada em C/C++.

3.1.2 Histria do Arduino

O Arduino um projeto iniciado em 2005, na cidade de Ivre, na Itlia, pelo


professor Massimo Banzi. Este professor queria ensinar eletrnica e programao
de computadores para seus alunos do curso de design, porm encontrava muita
dificuldade, uma vez que no eram alunos da rea de programao ou eletrnica, e
devido inexistncia de placas robustas e de baixo custo no mercado.
Pensando nestes problemas, Massimo Banzi e o engenheiro eletrnico David
Cuartielles decidiram projetar sua prpria placa, juntamente com a ajuda de um
aluno de Massimo, David Mellis, que ficou responsvel por desenvolver a linguagem
de programao da plataforma.
Gianluca Martino foi o responsvel por criar o prottipo comercial para
fabricao em grande escala. A princpio foram fabricadas somente duzentas placas,
vendidas a escolas com o lucro de cerca de um euro por cada. Meses depois, a

25

empresa americana Sparkfun, decidiu comercializar o projeto, comeando com 20


placas, em 2010 estima-se que foram vendidas 40.000.
Assim iniciou a histria do Arduino, que atualmente utilizado no mundo
inteiro, nos mais diversos tipos de projetos.

3.1.3 Ambiente de Desenvolvimento

O ambiente de desenvolvimento consiste em um software gratuito, onde ser


escrito a sequncia de instrues que sero interpretadas pelo Arduino.
Ele se conecta ao hardware para realizar a comunicao e carregar o cdigo
desenvolvido.
Os cdigos escritos neste ambiente de desenvolvimento so chamados de
Sketches, que so salvos a extenso .INO.
Quando se inicia a IDE (Integrated Development Environment) encontra-se a
rea para escrever o software, a barra de ferramentas, o console de textos, que
exibe uma lista completa de erros no cdigo e o resultado das instrues enviadas
ao Arduino, e os seguintes botes:

a) Verify: verifica provveis erros no cdigo;


b) Upload: compila o cdigo e carrega para a placa;
c) New: cria um novo esboo;
d) Open: apresenta um menu de vrios cdigos prontos;
e) Save: salva o skecth;

H tambm alguns comandos adicionais oferecidos para facilitar o


desenvolvimento, como por exemplo: Copy for frum, encontrado dentro do menu
editar, que torna possvel copiar o cdigo para postar em fruns, Copy as HTML,
oferece opo de copiar como HTML para inserir em pginas Web, Import Library,
que adiciona uma biblioteca ao projeto, Examples, onde encontra-se diversos
exemplos de cdigo prontos, entre outras opes que tornam essa ferramenta muito
simples de trabalhar.

26

Figura 6 Ambiente de desenvolvimento do Arduino

Fonte: Adaptado pela autora

3.1.4 Bibliotecas

As bibliotecas so conjuntos de cdigos disponibilizados pela desenvolvedora


do projeto Arduino, que tm por objetivo facilitar a comunicao com os
componentes acoplados placa.
Existem diversas bibliotecas disponveis, algumas so internas, como por
exemplo: Servo e Ethernet, que foram utilizadas no desenvolvimento do projeto de
automao residencial, outras so disponibilizadas para download e podem ser
instaladas muito facilmente.
Abaixo exemplo de como adiciona-se uma biblioteca ao cdigo:
#include <Ethernet.h>
#include <Servo.h>

3.1.4.1 Biblioteca SPI

A biblioteca SPI permite a comunicao entre dispositivos de SPI (Serial


Peripheral Interface) e o Arduino.

27

O SPI um protocolo de dados seriais sncronos, geralmente utilizado em


micro controladores para comunicao entre um ou mais perifricos. Na
comunicao SPI sempre h um perifrico mestre, neste caso, o Arduino o mestre
e os demais perifricos, como o mdulo Ethernet, so escravos. Nessa comunicao
h quatro conexes, que so:

a) MISO (Master In Slave Out) - Dados do Slave para Master;


b) MOSI (Master Out Slave In) - Dados do Master para Slave;
c) SCK (Serial Clock) - Clock de sincronizao para transmisso de dados
entre o Master e Slave;
d) Hardware SS (Slave Select) - Seleciona qual Slave receber os dados.

Figura 7 Comunicao SPI

Fonte: COMUNICAO SPI, 2013

O Arduino Mega 2560 se comunica com o mdulo Ethernet atravs do


barramento SPI, utilizando os pinos 50, 51 e 52, ilustrados abaixo:

28

Figura 8 Pinos utilizados para comunicao SPI

Fonte: ARDUINO, 2013

3.1.4.2 Biblioteca Ethernet

Para tornar possvel o Arduino se conectar internet necessrio acoplar a


ele um mdulo ethernet. E, para uma fcil comunicao entre estes dois
componentes utiliza-se a biblioteca ethernet.
Para iniciar a biblioteca Ethernet chamado o mtodo Ethernet.begin, onde
deve-se passar o parmetros mac, IP, gatway e subnet, como exemplificado no
trecho de cdigo destacado abaixo:

Figura 9 - Trecho de cdigo chamada da biblioteca Ethernet

Fonte: Adaptado pela autora

29

3.1.4.3 Biblioteca Servo

Permite ao Arduino controlar servo motores. Na maioria das placas suporta


at 12 motores, j o Arduino Mega 2560 suporta 48 (ARDUINO, 2013).
No cdigo abaixo, observa-se as funes que foram utilizadas no projeto,
como por exemplo, a funo servo, quando se cria o objeto para controlar o servo
motor;
Figura 10 Trecho de cdigo utilizando biblioteca Servo

Fonte: Adaptado pela autora

Attach: quando atribui-se o pino que o servomotor ser conectado, conforme


visualiza-se na Figura 11.
Figura 11 Pino onde o servomotor conectado

Fonte: Adaptado pela autora

O comando Write, responsvel por informar a posio para onde o servo


deslocar.

30

Figura 12 Utilizao do comando Write

Fonte: Adaptado pela autora

3.1.5 Arduino Mega

O projeto desenvolvido utilizar o modelo Arduino Mega 2560, devido ao fato


de ser uma placa recente, que possui compatibilidade com a maioria dos mdulos
existentes, e por possuir uma quantidade maior de pinos de entrada e sada se
comparado verso mais popular, Arduino Uno, que possui 14, enquanto o Mega
possui 54.
A verso Mega consiste em uma placa micro controlada, onde o processador
o micro controlador ATmega 2560.
Figura 13 Arduino Mega

Fonte: ARDUINO, 2013

3.1.5.1 Caractersticas

O Arduino Mega possui 54 pinos digitais, dos quais 15 podem ser utilizados
como sadas PWM (Pulse Width Modulation), 16 entradas analgicas, 4 portas
seriais de hardware, uma conexo USB, um conector de alimentao, um cabealho
ICSP, e um boto de reset (ARDUINO, 2013).
Abaixo o Quadro 1 evidencia melhor suas caractersticas.

31

Quadro 1 - Caractersticas do Arduino Mega


Micro controlador
Tenso de funcionamento
Tenso de entrada (recomendado)
Tenso de entrada (mxima)
Pinos de entrada e sada digital
Pinos de entradas analgicas
Valor mximo de corrente fornecida por pino
Valor de corrente para pino 3,3V
Memria flash
SRAM
EEPROM
Velocidade de clock

Atmega 2560
5V
7 a 12V
6 a 20V
54 (dos quais 14 podem ser sadas PWM)
16
40mA
50mA
256KB
8KB
4KB
16MHz

Fonte: ARDUINO 2013

3.1.5.2 Funo dos pinos


Todos os 54 pinos podem ser utilizados como entrada ou sada, atravs das
funes pinMode, digitalWrite e digitalRead, no trecho de cdigo abaixo a funo
pinMode aciona os pinos analgicos A0, A1, A2, A3, A4, A5, A6, A7 e A8 para
trabalharem como entrada e sada de dados, realizando o controle das lmpadas do
prottipo.
Figura 14 Pinos Arduino

Fonte: Adaptado pela autora

Os 15 pinos que podem ser utilizados como sadas PWM, operam por
modulao de largura de pulso, ou seja, quando uma onda quadrada alterna seu
estado em nvel lgico alto ou baixo (ou no sistema binrio 0 e 1).

32

O pino 13 um dos que possuem esta funo, e ser utilizado no projeto para
controlar o servo motor.
Alguns pinos possuem funes especiais, como por exemplo, TX e RX que
transmitem e recebem dados seriais. A imagem a seguir ilustra onde esto
localizados os pinos e quais as suas funes.

33

Figura 15 Pinos do Arduino Mega 2560

Fonte: PIGHIXXX, 2013

34

3.2 Mdulo Ethernet W5100


O mdulo ethernet W5100 compatvel com o Uno Arduino e Mega, ele
permite que o Arduino acesse a Internet como servidor ou cliente, atravs de um
cabo RJ45.
Sua conexo se d pelo barramento SPI (Serial Peripheral Interface), atravs
das sadas digitais 11, 12 e 13.
Ele baseado no chip ethernet W5100 Wiznet, que responsvel por
fornecer pilha TCP ou UDP.
O mdulo possui uma srie de LEDs de informao, abaixo o significado de
cada um deles:

LED
PWR
LINK
FDX
SPD
RX
TX
COL

Quadro 2 - LEDs de Informao


Significado
Indica que o mdulo est ligado
Indica a presena de um link de rede e pisca quando o mdulo transmite ou
recebe dados
Indica que a conexo de rede full duplex
Indica a presena de uma conexo de rede de 100 Mb/s (oposto a 10 Mb/s)
Pisca quando o mdulo recebe dados
Pisca quando o mdulo envia dados
Pisca quando colises de rede so detectadas
Fonte: ARDUINO, 2013

Caso seja necessrio o armazenamento de alguma informao, possui


tambm espao para inserir micro SD. Na Figura 16, visualiza-se como o mdulo
ethernet 5100.

35

Figura 16 Mdulo Ethernet

Fonte: Fotos da autora

O W5100 no possui um MAC adress predefinido, portanto, foi atribudo a ele,


atravs da funo Ethernet.begin o MAC adress DE-AD-BE-EF-FE-ED, juntamente
de um IP fixo 192.168.1.102, gateway padro 192.168.1.1 e mscara de rede
255.255.255.0, conforme o cdigo abaixo:

Figura 17 Configuraes do Arduino

Fonte: Adaptado pela autora

3.3 Servo motor


Servo motor um dispositivo eletromecnico de posio controlada. Seu eixo
pode ser posicionado em vrios ngulos entre 0 e 180.

36

O Arduino possui uma biblioteca prpria para trabalhar com servo motores.
Na maioria das placas so suportados at 12 servos, j no Arduino Mega, possibilita
a conexo de 48.
Ele composto basicamente por quatro partes, que so:
a)
Circuito de controle: recebe os sinais de controle para
determinar o ngulo que o servo motor ser posicionado.
b)
Potencimetro: monitora a posio do servo motor;
c)
Motor: movimenta as engrenagens.
d)
Engrenagens: Movimentam o potencimetro e reduzem a
rotao do motor.
O ngulo do eixo do servo motor ser determinado pela durao da largura do
pulso recebido, por exemplo, se for recebido um pulso com durao de 1.5
milissegundo, ele ser girado at o meio, se reduzir at 1 milissegundo ir para um
lado, se aumentar at 2 milissegundos, ser girado at o outro lado.
Figura 18 Princpio de funcionamento de um servo motor

Fonte: JNIOR; SIQUEIRA

3.4 Cmera IP
A cmera IP um dispositivo que pode ser controlado e acessado atravs de
um endereo IP. Ela possui um servidor interno, capaz de armazenar as imagens
filmadas.
Atravs de qualquer navegador Web possvel acessar as imagens e udio,
que so transmitidos online.

37

Para seu funcionamento necessrio somente um roteador, que ir fornecer


o endereo IP para acesso cmera.
Neste projeto ser utilizada a cmera Tenvis JPT3815W, para configur-la,
basta instalar seu driver no computador que utilizar para configur-la - nos demais
computadores que acessaro suas imagens no h necessidade em seguida,
basta conect-la ao roteador e atribuir um endereo IP fixo.

38

4 TECNOLOGIAS PARA DESENVOLVIMENTO DO SISTEMA WEB

Para o desenvolvimento e disponibilizao da pgina Web do prottipo, foram


utilizadas as seguintes ferramentas: servidor Web Apache, servidor de banco de
dados MySQL e linguagem de programao PHP (Hypertext Preprocessor).
As trs operam de forma integrada, da seguinte maneira: quando o usurio
solicitar uma pgina web, o servidor Apache solicita ao pr-processador PHP que
execute a solicitao, se na pgina houver comandos que abrem conexo com
banco de dados, o PHP ir interpretar a chamada SQL e extrair as informaes do
banco. Em seguida, o MySQL enviar a resposta e resultados ao interpretador PHP
e, por fim, o Apache enviar a resposta colhida pelo PHP de volta ao navegador, no
formato HTML.

Enfim a pgina ser apresentada ao usurio. Dessa forma,

possvel interagir com o banco de dados e as aplicaes existentes no servidor de


forma segura, pois o cdigo no est sendo exposto para o cliente.
A Figura 19 ilustra esse funcionamento descrito.
Figura 19 Funcionamento PHP, servidor Web e banco de dados

Fonte: adaptado pela autora

39

4.1 PHP

PHP (Hypertext Preprocessor) uma linguagem de programao voltada para


o desenvolvimento Web.
Segundo CHOI e outros (2001), em termos tcnicos, PHP uma linguagem
de script da Web, rodando em um servidor multiplataforma (ou seja, em quaisquer
sistemas operacionais).
Os sistemas desenvolvidos combinam PHP e HTML, sendo que o primeiro
para controlar e o ltimo para formatar (CHOI, 2001).

4.1.1 Histria do PHP

A linguagem de programao PHP surgiu no ano de 1994. Foi desenvolvida


por Rasmus Lerdof na linguagem de programao C.
Inicialmente nomeada de Personal Home Page Tools, foi criada para
substituir o conjunto de scripts em Perl, que utilizava no desenvolvimento de sua
pgina pessoal.
Ao longo tempo, vrias funcionalidades comearam a ser adicionadas, e em
1997 foi lanado a PHP/FI, com a ferramenta Forms Interpreter, que proporcionava
interpretar comandos SQL.
A PHP se expandiu de forma muito rpida, em 1998, uma pesquisa da
Netcraft, indicou que cerca de 1% de todos os domnios da Internet j utilizavam a
linguagem.
Nos anos seguintes foram lanadas novas verses, a primeira foi a PHP 3.0,
lanada com um novo nome, simplesmente PHP, com o significado tornando um
acrnimo recursivo Hypertext Preprocessor.
A verso proporcionava interface com diversos bancos de dados, protocolos e
APIs, mas a principal delas foi a incluso de suporte programao orientada a
objetos.
Em maio de 2000 a verso 4.0 da linguagem foi oficialmente lanada, com
algumas melhorias, como suporte maioria dos servidores web, sesses HTTP,
maneiras mais seguras de manipulao de dados e maior desempenho.

40

A ltima verso foi lanada em julho de 2004, quando foi introduzido um novo
modelo de orientao a objeto, o tratamento de objetos foi reescrito, trazendo maior
facilidade no desenvolvimento.
Atualmente,

atualizaes

de

correo

de

problemas,

so

lanadas

frequentemente, a ltima delas foi a 5.5.0, lanada em 20 de junho desse ano.

4.1.2. Vantagens da PHP

Existem diversas vantagens ao utilizar a linguagem de programao PHP, as


principais que se pode citar so:
a) Curva de aprendizado curta - permite que programadores que nunca tiveram
contato com linguagem compreendam rapidamente seu funcionamento;
b) Maior comunidade da web linguagem mais popular, possui diversos fruns
de discurso, onde programadores frequentemente compartilham seus
conhecimentos;
c) Utilizao gratuita;
d) Multiplataforma;
e) Possibilita utilizao dos maiores e mais utilizados banco de dados, como
Adabas, MySQL, Oracle, entre outros;
f) Interface de desenvolvimento simples.

4.2 Apache

Para tornar possvel o acesso pgina Web desenvolvida em PHP (Hypertext


Preprocessor), ser utilizado o servidor Web Apache.
O Apache ser responsvel por receber as requisies enviadas pelo sistema
Web, e por sua vez responder s solicitaes com cdigos em HTML que sero
interpretados pelo navegador.
Segundo
levantamento
feito
pela
Netcraft
(http://netcraft.com/survey), em junho de 2009, cerca de 50% dos
hospedeiros de pginas Web em operao empregam servidor Apache. O
segundo posto ocupado por servidores Microsoft (Microsoft-IIS e
Microsoft-PWS) com 25% dos stios, e os demais utilizam solues tipo

41

Iplanet-Enterprise, Netscape-Enterprise, dentre outros (BRUNO; ESTROZI;


NETO, 2010, p. 7).

A tabela a seguir demonstra essa liderana de mercado do Apache em


nmeros.
Tabela 1 Nmeros servidores Web
Servidor Web

Julho/2007

Porcentagem

Apache

66.144.734

52,65%

Microsoft

41.257.913

32,84%

Google

5.465.538

4,35%

Sol

2.245.493

1,79%

Lighttpd

1.471.779

1,17%

463.449

0,37%

Zeus

Fonte: NETCRAFT, 2013

Os principais fatores que impulsionaram o Apache a deter tal porcentagem de


mercado foram sua rapidez, sue simplicidade de configurao, seu funcionamento
superior ao dos concorrentes, entre diversos outros.

4.3 MySQL

O banco de dados utilizado no desenvolvimento da interface Web do


prottipo, foi o MySQL, devido ao fato de ser um sistema de gerenciamento de
banco de dados gratuito e de interface simples.
O MySQL foi desenvolvido pela empresa sueca de consultoria TcX em 1980.
Eles estavam precisando de um banco de dados que fosse extremamente rpido e
flexvel, porm no estavam encontrando no mercado, portanto, criaram o MySQL,
que vagamente baseado no MSQL (MASLAKOWSKI, 2000).
Esse sistema de gerenciamento de banco de dados amplamente utilizado
em todo o mundo, e em grandes organizaes, como NASA, HP, Bradesco, Sony,
dentre outras.
O MySQL um banco de dados do tipo relacional, ou seja, composto por
tabelas e colunas que se relacionam entre si, relacionamento que baseado em
uma chave contida em alguma coluna.

42

A vantagem de utilizar um banco de dados relacional por ele ser muito


intuitivo, uma vez que simula a maneira com as pessoas pensam. As pessoas
tendem a agrupar objetos semelhantes e separar objetos complexos em objetos
mais simples, e essa a natureza desse tipo de banco de dados (MASLAKOWSKI,
2000).

4.3.1 PHPMyadmin

O PHPMyadmin uma ferramenta de software livre, desenvolvida em PHP,


para realizar a administrao do banco de dados MySQL pela Web (DELISLE,
2012).
Segundo o site oficial da desenvolvedora da ferramenta, o PHPMyadmin
suporta uma vasta gama de operaes em MySQL e MariaDB, sendo que as mais
utilizadas so o gerenciamento de tabelas, colunas, ndices, usurios, permisses,
etc.
Possui uma interface muito simples de utilizar, onde possvel realizar o
gerenciamento das tabelas, controle de permisso de usurios, verificao de
estatsticas de utilizao, entre outros.
A figura 20 ilustra a pgina inicial da ferramenta.
Figura 20 Pgina inicial do PHPMyadmin

Fonte: Adaptado pela autora

43

Existem diversas vantagens em utilizar o PHPMyadmin, como:


a) Possui interface Web intuitiva;
b) Suporte para a maioria dos recursos do MySQL;
c) Proporciona importao de dados de CSV ou SQL;
d) Proporciona exportao de dados para diversos formatos, como CSV,
SQL, XML, PDF, ISO e outros;
e) Administrao de diversos servidores, entre outras vantagens.

44

DESENVOLVIMENTO DO PROTTIPO

Para concluso desse trabalho, foi implementado um projeto prtico, para


melhor visualizao e aplicao dos conceitos j citados anteriormente. Portanto foi
desenvolvido um prottipo de um sistema de automao residencial, nomeado como
Domus Automao Residencial.
Tem-se por objetivo futuro torna-lo um sistema comercial, mas a princpio
ser utilizado somente para testes.
O objetivo foi desenvolver um sistema capaz de controlar uma maquete de
dimenses 80cm x 65cm, atravs de qualquer dispositivo com acesso Internet.
O sistema possui uma interface simples de operar, sendo que qualquer
pessoa capaz de utiliz-lo, sem a necessidade de um treinamento prvio.
Integra todas as ferramentas de desenvolvimento e componentes fsicos
citados ao decorrer desse trabalho.
Mas antes de comear a descrever o prottipo, necessrio compreender o
que mudar em relao a uma casa que no possui automao.

5.1 O que muda ao Automatizar uma residncia?


A principal mudana em uma casa automatizada, a presena de um quadro
de automao, que receber a ligao de todos os aparelhos controlados pelo
sistema de automao residencial.
muito mais simples realizar a automao de uma residncia j planejada
para esse tipo de sistema, no entanto possvel fazer algumas adaptaes em
casas j prontas, cujos proprietrios desejam automatiz-las.
Sero necessrios alguns ajustes no cabeamento da residncia, pois eles
devero interligar componentes automatizados ao QA (quadro de automao).
A Figura 21 demonstra como a ligao de uma lmpada sem automao.

45

Figura 21 Ligao de lmpada sem automao

Fonte: TURUEL, 2008

A Figura 22 ilustra mostra quais a mudanas sero necessrias no esquema


eltrico para a ligao de uma lmpada em um sistema automatizado.

Figura 22 Ligao de uma lmpada ao quadro eltrico com quadro de


automao

Fonte: TURUEL, 2008

Perceba que no lugar do interruptor comum foi inserido um pulsador, que na


verdade o sinal que enviado ao Arduino atravs da pgina Web.
No somente as lmpadas, mas todos os aparelhos que antes eram ligados
diretamente

um

quadro

eltrico,

no

ambiente

automatizado,

primeiramente pelo quadro de automao, que neste caso o Arduino.

passaro

46

5.2 Desenvolvimento da maquete

Primeiramente foi projetado no AutoCad a planta de uma residncia de sete


cmodos, sendo dois quartos, uma sala, cozinha, copa e dois banheiros.
A Figura 23 ilustra a planta da maquete.
Figura 23 Planta da maquete

Fonte: Adaptado pela autora

Nela foram inseridos LEDs em todos os cmodos e jardim, que simulam as


lmpadas e um servo motor, que simula o motor de um porto, todos controlados
pela Web, por intermdio do Arduino, e uma cmera de monitoramento, que
disponibilizar imagens da residncia em tempo real e tambm enviar e-mails caso
seja detectado algum movimento em suas proximidades.

5.3 Desenvolvimento da pgina Web

Todo o sistema Web foi desenvolvido na linguagem de programao PHP.


Tornando assim possvel o acesso atravs de qualquer dispositivo com
acesso Internet.
A Figura 24 apresenta a tela de controle sendo acessada atravs de um
smartphone.

47

Figura 24 Sistema sendo acessado atravs de um smartphone

Fonte: Fotos da autora

O sistema inicialmente est funcionando com funcionalidades bsicas,


dispostas em quatro pginas, que so: inicial, visualizao de imagens da cmera
de monitoramento, controle de usurios e controle do sistema.

5.3.1 Pgina inicial

A pgina inicial do prottipo Domus, contm algumas informaes a respeito


do sistema e local para realizar o login com usurio e senha pr-cadastrado pelo
administrador, conforme se pode visualizar na imagem a seguir.

Figura 25 Pgina Principal Domus Automao Residencial

Fonte: Adaptado pela autora

48

A pgina principal a que fornece acesso ao sistema. Quando o usurio


acess-la, dever informar qual o seu login e senha, caso seja um administrador,
assim que clicar no boto enviar, ser exibida a pgina de administrador, se for um
usurio comum do sistema, a pgina de administrao do prottipo ser exibida.

5.3.1.1 Segurana da pgina

Um dos fatores mais importantes quando se trata de desenvolvimento Web,


est ligado segurana.
Os avanos tecnolgicos tm possibilitado cada vez mais o surgimento de
novas tcnicas de ataque aos sistemas, o que exige que haja um mnimo de
segurana neles.
Principalmente em um sistema que fornece controle de uma residncia, a
necessidade de segurana torna-se ainda maior, portanto foi necessrio adotar
algumas medidas de proteo.
A primeira foi para evitar SQL injection, que ocorre quando um possvel
invasor insere instrues SQL num campo de formulrio, query string, ou campo
oculto, com a inteno de obter dados sigilosos.
Outra forma de evitar uma possvel invaso, utilizar o mtodo POST para
enviar informaes, pois ele transmite as informaes de forma mais protegida,
dificultando o acesso aos usurios.
A criptografia da senha de usurios tambm de grande importncia, pois
mesmo que haja uma invaso ao sistema de banco de dados, o invasor no
consegue saber as senhas para acesso ao sistema.
Existem diversos algoritmos de criptografia, como md5, sha1, sha512,
base64, Salsa20, Whirlpool, entre outros. O que foi utilizado no desenvolvimento
desse sistema foi mtodo de criptografia sha1.
O sha1 um algoritmo de criptografia que gera uma sequncia binria de 20
bytes ou 40 smbolos hexadecimais, portanto as senhas dos usurios ficaro salvas
criptografadas no banco de dados.

49

5.3.2 Pgina de gerenciamento de usurios

A pgina de gerenciamento de usurios permite acesso somente dos


administradores do sistema. Atravs dela, possvel realizar o cadastramento e
excluso de usurios do sistema.
Figura 26 Pgina de gerenciamento de usurios

Fonte: Adaptado pela autora

Caso o administrador desejar cadastrar um novo usurio, basta inserir os


dados como nome, e-mail, login, senha e selecionar o perfil, e clicar em salvar.
Caso desejar excluir um usurio cadastrado, basta clicar em sim, que a
excluso ser realizada.

5.3.3 Pgina de controle do sistema

A pgina de controle do sistema a principal do prottipo, pois atravs dela


que ser realizado todo o gerenciamento dos dispositivos.

50

Assim que ela for acessada, abrir uma comunicao com o Aduino atravs
do mtodo socket_connect, onde esto inseridas as configuraes de IP e porta
para acesso plataforma de protipagem eletrnica, conforme se verifica no trecho
de cdigo a seguir.
Figura 27 Funo socket_connect

Fonte: Adaptado pela autora

Ela composta por botes de controle, que sero carregados somente caso a
comunicao com a central de automao (Arduino) estiver acessvel, se houver
algum erro de comunicao, seja por indisponibilidade da rede, ou qualquer outro
fator, ser exibido somente uma mensagem de erro, conforme se verifica a Figura
28.

Figura 28 Mensagem de erro ao receber status da casa

Fonte: Adaptado pela autora

Se no houver nenhum problema, a pgina ir carregar todos os seus


componentes, conforme se visualiza a seguir.

51

Figura 29 Tela de Controle do sistema

Fonte: Adaptado pela autora

Cada um dos botes exibidos na Figura 29 possui uma funo, como acender
ou apagar as lmpadas, visualizar imagens da cmera de segurana e abrir ou
fechar o porto. Nos tpicos a seguir, ser explicado o que ocorre ao clicar em cada
um destes.

5.3.3.1 Boto de controle das lmpadas

Quando o usurio clicar em um dos botes de controle de lmpadas, a pgina


Web enviar uma mensagem contendo bit zero ou bit um, ao mdulo Ethernet,
sendo zero para desligar e um para acender a lmpada.
No trecho de cdigo a seguir, verifica-se como foi feito.

52

Figura 30 Cdigo mensagens enviadas pela pgina PHP

Fonte: Adaptado pela autora

Os valores enviados atravs da varivel $msg sero interpretados pelo


mdulo Ethernet, e guardados no vetor msg[11], declarado no cdigo fonte do
Arduino, conforme verifica-se abaixo.
Figura 31 Vetor declarado no cdigo fonte do Arduino

Fonte: Adaptado pela autora

O Arduino est programado para ler bit a bit da string, por exemplo, se a
string recebida da pgina Web for 11000000L#, as duas primeiras lmpadas sero
acesas, se for 00000111L# as trs ltimas sero acesas, e assim sucessivamente.

5.3.3.2 Botes de controle do porto

Para realizar o controle do porto, existem dois botes, um para abrir e outro
para fechar. Quando o usurio clicar no boto abrir, a pgina Web enviar uma
mensagem com o comando G#.

Figura 32 Comando enviado pela pgina PHP para


abrir porto
Fonte: Adaptado pela autora

Quando o Arduino receber a mensagem P#, ele enviar o pulso para a porta
digital 13, o que ir fazer o servo motor se deslocar da posio 0, at 180 que a
posio do porto aberto, de 1 em 1, com um atraso de 25 milissegundos, que o
tempo necessrio dele se deslocar at a posio programada.

53

Se o boto acionado for o de fechar, a pgina Web enviar a mensagem P#


para o Arduino.

Figura 33 Comando enviado pela pgina PHP para fechar porto

Fonte: Adaptado pela autora

Quando a mensagem for recebida, o Arduino enviar o pulso para a porta


onde est o servomotor, e o far deslocar da posio 180 at sua posio inicial de
0, com um atraso de 25 milissegundos.
No trecho de cdigo a seguir desenvolvido para o Arduino, pode-se verificar
melhor como foi realizada essa programao.
Figura 34 Programao servo motor

Fonte: Adaptado pela autora

5.3.3.3 Botes de visualizao das imagens da cmera

Quando o usurio clicar no boto visualizar da pgina de controle do sistema,


ser exibida a pgina de visualizao de imagens da cmera, descrita no tpico a
seguir.

54

5.3.4 Pgina de visualizao de imagens da cmera

A visualizao de imagens ser exibida quando o usurio do sistema clicar no


boto visualizar da pgina de controle do sistema.
Atravs dela possvel controlar a direo da cmera, com movimentao de
270 horizontal e 90 vertical, resoluo da imagem, frames por segundo,
acompanhamento das imagens, capturar imagens, e configurar a deteco de
movimento, sendo que, sempre que for verificada a presena de movimentos nas
proximidades, e-mails so enviados com a imagem que a cmera capturou.

Figura 35 Pgina de visualizao de imagens

Fonte: Adaptado pela autora

Possui basicamente um iframe, que contm a pgina original de


gerenciamento da cmera.
Um iframe torna possvel a exibio de uma pgina dentro de outra, ou seja,
neste caso, a pgina original de controle da cmera est sendo exibida dentro da
pgina de acesso s imagens do prottipo.

55

CONCLUSO E TRABALHOS FUTUROS

Esse documento apresentou um pouco do universo da domtica, uma nova


tecnologia que est em fase de grande crescimento no Brasil.
Verificaram-se

os

sistemas

de

domtica

existentes,

quais

suas

caractersticas, benefcios proporcionados, mercado de consumidores, entre outros


fatores. O que se notou mais relevante foi o alto custo dessa tecnologia, portanto o
presente trabalho apresentou uma nova forma de automatizar residncias, com uma
tecnologia de cdigo aberto, o que pode deixar o sistema com custo muito inferior
aos existentes no mercado.
Portanto, realizou-se o desenvolvimento de um prottipo de um sistema de
automao residencial, denominado Domus Automao Residencial, que integrou
diversas tecnologias de grande reconhecimento no mercado, como a linguagem de
programao PHP, servidor Web Apache, banco de dados MySQL e a plataforma
Arduino, desenvolvida a poucos anos, mas no menos reconhecida.
Por se tratar de um tema novo, as principais dificuldades encontradas foram
relacionadas aos referenciais tericos, poucos autores escreveram sobre essa rea,
o que tornou um pouco difcil localizar especificaes, necessidades, e algumas
caractersticas dos sistemas de domtica.
Apesar das dificuldades citadas, os resultados do desenvolvimento do
prottipo foram satisfatrios, principalmente porque tornou possvel aprofundar
conhecimento em diversas tecnologias, pois foi necessrio aprender na prtica como
configurar um servidor Web, configurar roteadores, desenvolver sistemas e
principalmente sobre programao e configuraes do Arduino, que sempre
despertou grande curiosidade.
Ao fim deste trabalho, verifica-se que sim possvel ter no mercado sistemas
de automao, cujo desenvolvimento simples, rpido e com tecnologias livres.
Atravs desse documento, pode-se desmistificar a ideia que desenvolver
sistemas de controle, como o que foi apresentado algo complicado e,
possivelmente despertar o interesse acadmico em uma rea to pouco difundida no
pas.

56

6.1 Trabalhos futuros

Durante o desenvolvimento do prottipo verificou-se que existem diversas


melhorias que podem ser realizadas, tais como:

Melhoria da interface do sistema Web, tornando-a mais amigvel e intuitiva;

Automao de outros dispositivos e componentes de uma residncia, como


sistema de climatizao, cortinas e persianas, sons ambientes, temperatura
do banho, irrigao de jardins, entre outros;

Adio de uma tecnologia que seja capaz de prover controle atravs de


comandos de voz;

Adio de novas funcionalidades, como o envio de mensagens ao celular do


proprietrio caso ocorra alguma situao pr-configurada; e

Tornar o prottipo um sistema comercializvel.

57

REFERNCIAS

ARDUINO. Ethernet Library. Disponvel em: <


http://arduino.cc/en/reference/ethernet > Acesso em: 8 set. 2013.
ARDUINO. SPI Library. Disponvel em: < http://arduino.cc/en/Reference/SPI >.
Acesso em: 8 set. 2013.
ARDUINO. Servo Library. Disponvel em: < http://arduino.cc/en/Reference/servo >.
Acesso em 8 set. 2013.
ARDUINO. Ethernet Shield. Disponvel em: <
http://www.arduino.cc/en/Main/ArduinoEthernetShield >. Acesso em 8 set. 2013.
ARDUINO. Arduino Mega 2560N. Disponvel em: <
http://arduino.cc/en/Main/arduinoBoardMega2560 >. Acesso em 8 set. 2013.
AURESIDE. Desmistificando a domtica. Disponvel em: <
http://www.aureside.org.br/artigos/default.asp?file=01.asp&id=74 >. Acesso em 8 set.
2013.
BOLZANI, C.A.M. Anlise de Desenvolvimento de uma Plataforma para
Residncias Inteligentes. Tese (Doutorado em Engenharia Eltrica) Escola
Politcnica, Universidade de So Paulo, So Paulo, 2010.
BOLZANI, C.A.M. Residncias Inteligentes. So Paulo: 1. ed. Livraria da Fsica,
2004.
BRUNO, Odemir M.; ESTROZI, Leandro F.; NETO, Joo E. S. Batista.
Programando Para a Internet com PHP. Rio de Janeiro: Brasport, 2010.
CARVALHO, Daniel Balparda de. Segurana de Dados com Criptografia,
Mtodos e Algoritmos. 2. ed. Rio de Janeiro: Book Express, 2001.
CHAMUSCA, Alexandre. Domtica & Segurana Electrnica. Ingenium, 2006.
CHOI, Wankyu; KENT, Allan; LEA Chris; PRASAD, Ganesh; ULLMAN, Chris.
Beginning PHP 4 Programando. Traduo de Aldir Jos Coelho Correa da Silva e
Flvia Cruz. So Paulo: Makron Books, 2001.
COMUNICAO SPI com Arduino. 20 setembro 2012. Disponvel em: <
http://labdegaragem.com/profiles/blogs/tutorial-comunica-o-spi-serial-peripheralinterface-com-arduino >. Acesso em: 02 nov. 2013.
DELISLE, Marc. Mastering phpMyadmin 3.4 for Effective MySQL Management.
Disponvel em: < http://books.google.com.br/books?id=m1cUkzcyOAC&printsec=frontcover&dq=phpmyadmin&hl=pt-BR&sa=X&ei=Mml-

58

UpHuEoLesATj-4KoCg&ved=0CEAQ6AEwAQ#v=onepage&q=phpmyadmin&f=false
> Acesso em: 5 nov.
EXAME. Automao residencial deve movimentar US$ 250 bi em sete anos.
Revista Exame, 05 setembro 2012. Disponvel em: <
http://exame.abril.com.br/tecnologia/noticias/automacao-residencial-devemovimentar-us-250-bi-em-sete-anos-m0079161 >. Acesso em: 26 out.
FERREIRA, Joo Alexandre Oliveira. Interface Homem Mquina Para Domtica
Baseado em Tecnologias WEB. 2008. Dissertao (Mestrado Integrado em
Engenharia Electrotcnica e de Computadores) - Faculdade de Engenharia da
Universidade do Porto, Porto, Portugal.
GDS Automao. GDS Automao Residencial. Disponvel em: <
http://www.gdsautomacao.com.br/site >. Acesso em 26 out.
GRANDO, Nei. O ciclo de adoo de Novos Produtos pelos Consumidores.
Neigrando. 26 janeiro 2013. Disponvel em: <
http://neigrando.wordpress.com/2013/01/26/o-ciclo-de-adocao-de-novos-produtospelos-consumidores >. Acesso em: 26 out.
IHOUSE. Home controler. Disponvel em: < http://ihouse.com.br >. Acesso em: 13
out.
ILUFLEX. Automao sem fio. Disponvel em: < http://www.iluflex.com.br >. Acesso
em 13 out.
JNIOR, Adalberto Veloso; SIQUEIRA, Rodolfo Barbosa de. Posicionamento de
Cmera

por

Acelermetro.

Disponvel

em:

<

http://www.ppgia.pucpr.br/~santin/ee/2008/3 >. Acesso em 21 set. 2013.


LAGURDIA, Susy. Automao residencial cresce no Brasil. Disponvel em: <
http://www.aureside.org.br/imprensa/default.asp?file=62.asp >. Acesso em 22 set.
2013.
LANG, Mariana. Sistemas de automao residencial transferem para tablet e
celular o controle da casa. Folha de So Paulo, 13 dezembro 2012. Disponvel em:
<http://www1.folha.uol.com.br/tec/1194228-sistemas-de-automacao-residencialtransferem-para-tablet-e-celular-o-controle-da-casa.shtml>. Acesso em: 22 ago.
2013.
MCROBERTS, Michael. Arduino Bsico. So Paulo: Novatec, 2011.
MCROBERTS, Michael. Beginning Arduino. United States of America: TIA, 2010.

59

MASLAKOWSKI, Mark. Aprenda em 21 dias MySQL. Traduo de Edson


Furmankiewicz e Joana Figueiredo. Rio de Janeiro: Campus, 2000.
MOYA, J. M. Huidobro; TEJEDOR, R. J. Miln. Manual de Domtica. 2010.
Disponvel em: <
http://books.google.com.br/books?id=V6IzqqDcfF8C&printsec=frontcover&hl=ptBR&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false>. Acesso em: 23
ago. 2013.
NETCRAFT. November 2013 Web Server Survey. Disponvel em: <
http://news.netcraft.com/archives/2013/11/01/november-2013-web-serversurvey.html >. Acesso em 29 set. 2013.
OLIVEIRA, J.P. Domtica: Perspectiva da Plataforma Arduino. 2012. Monografia
(Concluso de Curso) Universidade Estadual de Gois, Goiansia.
PIGHIXXX. Atmega 2560. Disponvel em: <
http://www.pighixxx.com/downloads/atmega2560 >. Acesso em: 02 nov. 2013.
SENA, D.C.S. Automao Residencial. 2005. Monografia (Concluso de Curso)
Universidade Federal do Esprito Santo, Vitria.
SILVEIRA, Paulo Rogrio da. Automao e Controle Discreto. 9. Ed. So Paulo:
rica, 1998.
SIMPLIFIES. SimpleHome. Disponvel em: <
http://www.simplifies.com.br/home/index.php >. Acesso em: 26 out.
TENVIS. Cmera JPT3815W 2013. Disponvel em: <
http://www.tenvis.com/jpt3815w-2013-new-pantilt-wireless-ip-camera-night-vision-p218.html >. Acesso em: 23 ago. 2013.
TURUEL, Evandro Carlos. Uma Proposta de Framework para Sistemas de
Automao Residencial com Interface para Web. 2008. Dissertao (Mestrado
em Tecnologia: Gesto Desenvolvimento e Formao) - Centro Estadual de
Educao Tecnolgica Paula Souza, So Paulo, Brasil.

También podría gustarte