automaÇÃo residencial no gerenciamento de energia utilizando arduino

50
UNIVERSIDADE FEDERAL FLUMINENSE GUSTAVO DOMINGOS MARTINS DAVI MENDES DE FREITAS AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO Niterói 2013

Upload: guelastico

Post on 18-Dec-2014

3.167 views

Category:

Technology


19 download

DESCRIPTION

Trabalho de Conclusão de Curso utilizando Microcontrolador com interface Web

TRANSCRIPT

Page 1: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

UNIVERSIDADE FEDERAL FLUMINENSE

GUSTAVO DOMINGOS MARTINS

DAVI MENDES DE FREITAS

AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA

UTILIZANDO ARDUINO

Niterói

2013

Page 2: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

GUSTAVO DOMINGOS MARTINS

DAVI MENDES DE FREITAS

AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA

UTILIZANDO ARDUINO

Orientador:

Diego Nunes Brandão

Niterói

2013

Trabalho de Conclusão de Curso submetido ao Curso de Tecnologia em Sistemas de Computação da Universidade Federal Fluminense como requisito parcial para obtenção do grau de Tecnólogo em Sistemas de Computação.

Page 3: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

GUSTAVO DOMINGOS MARTINS

DAVI MENDES DE FREITAS

AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA

UTILIZANDO ARDUINO

Niterói, 20 de Junho de 2013.

Banca Examinadora:

_________________________________________

Prof. Diego Nunes Brandão, M.Sc. – Orientador

CEFET-RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca

UFF – Universidade Federal Fluminense

_________________________________________

Prof. Henrique Serdeira, M.Sc. – Avaliador

UFRJ – Universidade Federal do Rio de Janeiro

_________________________________________

Prof. Puca Huachi Vaz Penna, M.Sc. – Avaliador

UFF – Universidade Federal Fluminense

Trabalho de Conclusão de Curso submetido ao Curso de Tecnologia em Sistemas de Computação da Universidade Federal Fluminense como requisito parcial para obtenção do grau de Tecnólogo em Sistemas de Computação.

Page 4: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

AGRADECIMENTOS

Temos como compromisso agradecer às pessoas que colaboraram com criticas,

sugestões e orientações para que pudéssemos concluir com êxito esse árduo

caminho da fundamentação do trabalho a conclusão do mesmo.

Agradecemos ao nosso orientador pela confiança e a atenção que precisávamos

durante todo esse processo para desenvolvimento de um trabalho bem elaborado.

Page 5: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

RESUMO

A sociedade convive hoje com inúmeros desafios, dentre eles destacam-se: a

utilização inteligente dos recursos naturais e a segurança nas grandes cidades. Uma

das formas de abordar a questão do uso racional dos recursos naturais, por

exemplo, é por meio da redução no consumo de energia elétrica em residências,

indústrias, dentre outros. Por outro lado, a questão da segurança tem evoluído com

o uso de câmeras de segurança, sensores de presença e etc. Neste contexto, o

presente trabalho aborda tais tópicos com enfoque em uma aplicação a automação

residencial. No que diz respeito ao consumo de energia ele permite que o usuário

controle a iluminação de sua residência de forma automática. Já no contexto da

segurança, ele permite que com essa abordagem automática a percepção de

presença na residência seja constante, visando assim a coibir possíveis ações de

invasões. Assim, este trabalho apresenta um projeto de automação residencial sem

ter a necessidade de uma reestruturação da casa. Essa automação é controlada por

um ambiente Web que permite o acionamento das luzes residenciais de forma

remota. O sistema foi desenvolvido utilizando um gerenciador de automação

residencial em PHP e a plataforma Arduino.

Palavras Chaves: Microcontrolado, Automatização, Ambiente Web.

Page 6: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

LISTA DE ILUSTRAÇÕES

Figura 1: Arduino UNO versão 3. .............................................................................. 14

Figura 2: Arduino Ethernet Shield. ............................................................................ 16

Figura 3: Relé. ........................................................................................................... 17

Figura 4: Rede Ponto-a-Ponto. .................................................................................. 20

Figura 5: Rede Multiponto. ........................................................................................ 21

Figura 6: Acionadores. .............................................................................................. 29

Figura 7: Montagem Arduino, Relé e Lâmpada. ........................................................ 31

Figura 8: Loop de Funcionamento Arduino. .............................................................. 32

Figura 9: Xampp. ....................................................................................................... 33

Figura 10: Acionamento Xampp. ............................................................................... 33

Figura 11: Funcionamento do projeto. ....................................................................... 36

Figura 12: Página de cadastrado utilizada no sistema. ............................................. 37

Figura 13: Página de login utilizada no sistema. ....................................................... 38

Figura 14: Página principal do sistema Web. ............................................................ 38

Figura 15: Foto do sistema em funcionamento. ........................................................ 39

Figura 16: Foto da montagem do Arduino. ................................................................ 39

Figura 17: Esquema do Arduino. ............................................................................... 40

Figura 18: Lampada Acesa. ...................................................................................... 41

Figura 19: Sistema em funcionamento com lampada acesa. .................................... 41

Figura 20: Lampada Apagada. .................................................................................. 42

Figura 21: Sistema com a lampada apagada. ........................................................... 42

Figura 22: Atalho. ...................................................................................................... 47

Figura 23: Executar. .................................................................................................. 47

Figura 24: Prompt de comando. ................................................................................ 48

Figura 25: IP do roteador. ......................................................................................... 48

Figura 26: Login no Roteador. ................................................................................... 49

Figura 27: Direcionamento de Porta. ......................................................................... 49

Figura 28: IDE do Arduino. ........................................................................................ 50

Page 7: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

LISTA DE ABREVIATURAS E SIGLAS

Atmel AVR - é um microcontrolador RISC de chip único (AVR não possui definição)

C/C++ - É uma linguagem de programação multiparadigma e de uso geral

USB - Universal Serial Bus

CPU - Central Processing Unit

SGAR - Sistema de Gerenciamento de Automação Residencial

TCP - Transmission Control Protocol

IBC-BR - Índice de Atividade Econômica do Banco Central-Brasil

ISP - Instituto de Segurança Pública

SRAM - Static Random Access Memory

IP - Internet Protocol

UDP - User Datagram Protocol

RJ-45 - Conector para redes de computadores

PoE - Power over Ethernet

AURESIDE- Associação Brasileira de Automação Residencial

VRC - Vertical Redundancy Checking

LRC - Longitudinal Redundancy Check

ASCII - American Standard Code for Information Interchange

CSMA - Carrier Sense Multiple Access

PHP - Hypertext Preprocessor

IEEE - Institute of Electrical and Electronic Engineers

RF - Requisitos funcionais

Page 8: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

RNF - Requisitos não funcionais

LAN - Local Area Network

MAM - Metropolitan Area Network

WAM - World Area Network

TIA/EIA-485 - Telecommunications Industry Association/Electronic Industries Alliance

IDE - Integrated Development Environment

BSC - Binary Syncronous Comunications

SDLC - Syncronous Data Link Control

Page 9: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

SUMÁRIO

AGRADECIMENTOS .................................................................................................. 4

RESUMO..................................................................................................................... 5

LISTA DE ILUSTRAÇÕES .......................................................................................... 6

LISTA DE ABREVIATURAS E SIGLAS ...................................................................... 7

1. INTRODUÇÃO .................................................................................................... 11

2. FUNDAMENTAÇÃO TEÓRICA .......................................................................... 14

2.1 MICROCONTROLADOR .................................................................................. 14

2.2 ETHERNET SHIELD......................................................................................... 15

2.3 RELÉ ................................................................................................................ 17

2.4 TRANSMISSÃO DE DADOS ............................................................................ 19

2.4.1 CARACTERÍSTICAS DA TRANSMISSÃO .................................................... 19

2.4.1.1 CANAL .................................................................................................... 19

2.4.1.2 SERIAL E PARALELA ............................................................................. 19

2.5 TOPOLOGIA ..................................................................................................... 20

2.5.1 PROTOCOLOS ............................................................................................. 22

2.5.2 HARDWARES DE COMUNICAÇÃO ............................................................. 23

3. AUTOMAÇÃO RESIDENCIAL ............................................................................ 24

3.1 PRINCIPAIS REQUISITOS A SEREM ABORDADOS ..................................... 26

3.2 ESPECIFICAÇÃO ............................................................................................. 28

3.2.1 PROTOCOLO TCP/IP ................................................................................... 29

3.2.2 ACIONADORES ............................................................................................ 29

3.2.2.1 ESPECIFICAÇÃO DO SOFTWARE ........................................................... 31

3.2.2.2 FERRAMENTAS UTILIZADAS ................................................................... 32

XAMPP ............................................................................................................. 32

PHP .................................................................................................................. 34

APACHE ........................................................................................................... 34

MYSQL ............................................................................................................. 35

4. RESULTADOS E DISCUSSÕES ........................................................................ 36

5. CONCLUSÃO ..................................................................................................... 43

5.1 PERSPECTIVAS FUTURAS ............................................................................ 43

REFERENCIAS BIBILIOGRAFICAS ......................................................................... 44

Page 10: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

APÊNDICE I – CONFIGURANDO O ROTEADOR .................................................... 47

APÊNDICE II – CONFIGURANDO O ARDUINO ...................................................... 50

Page 11: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

11

1. INTRODUÇÃO

O crescimento da economia brasileira é notável nos últimos anos. Segundo

o IBC-BR (Índice de Atividade Econômica do Banco Central - Brasil), o Brasil se

consolidou como uma das economias mais fortes do mundo. Contudo, problemas

comuns em economias emergentes continuam assolando a sociedade brasileira.

Neste ponto destacam-se: a questão energética e a segurança.

Segundo GOMES (2008, p.11), as crises no setor energético marcaram a

economia brasileira, episódios como o apagão ocorrido em 2008 preocupam toda a

sociedade. Tais problemas caracterizaram-se pela falta de investimentos por parte

do governo, sendo este agravado com o aumento no consumo pela população. O

governo pretende nos próximos anos construir novas usinas termonucleares e

hidrelétricas, tendo destaque à usina de Belo Monte a maior representante dessa

última classe. Tais medidas vão à contramão do que fazem países como a

Alemanha, que desinstalaram as suas usinas termonucleares, preterindo as usinas

eólicas. Outra medida adotada pelo governo brasileiro é a conscientização da

população. Esta tem sido incentivada a adotar medidas de uso racional de energia.

Esses incentivos vão desde a classificação dos eletrodomésticos que consomem

menos energia até a propaganda de medidas para economia na conta de luz. As

concessionárias responsáveis pela distribuição de energia elétrica enviam nas

contas explicações de como economizar energia por meio de medidas simples,

como por exemplo, deixar a roupa suja acumular para utilizar a máquina de lavar na

sua capacidade máxima, reduzindo assim a quantidade de vezes que ela é utilizada.

Outra medida muito utilizada por alguns estabelecimentos públicos e residenciais

são sensores de presença a fim de evitar que as luzes dos corredores fiquem

ligadas o dia inteiro. Alguns estabelecimentos como shopping centers utilizam esses

sensores inclusive nas torneiras dos banheiros provendo uma economia no

consumo de água.

Page 12: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

12

A utilização de sensores também vem auxiliando na segurança. De acordo

com o ISP (Instituto de Segurança Pública) a invasão de domicílios em Niterói, por

exemplo, aumentou cerca de 30% nos últimos meses de 2012. Muitas residências já

adotam esquemas de segurança com sensores de movimento e câmeras.

Devido a essas questões, a área de Domótica (tecnologia recente que

permite a gestão de todos os recursos habitacionais) tornou-se mais conhecida.

Essa área visa desenvolver soluções que permitam a automatização das residências

de maneira a prover maior segurança, autonomia e economia. A utilização de

sensores de presença para controlar a utilização de energia elétrica, luz ou mesmo

evitar a invasão do domicílio tem sido cada vez mais frequente.

O foco do presente trabalho é exatamente a área de automação residencial.

Será apresentado um sistema via web para gerenciar dispositivos microcontrolados

de uma residência. Neste sistema, dentro de cada interruptor existirá uma conexão

ligando o mesmo ao Microcontrolador, que fará o controle das lâmpadas. Apesar do

sistema ter sido testado somente com lâmpadas, ele é capaz de controlar qualquer

dispositivo eletrônico. Serão utilizados microcontroladores da plataforma do Arduino

UNO e Ethernet Shield interligados, recebendo e respondendo a central controladora

denominada SGAR.

Este projeto possibilitará ao usuário controlar diversos dispositivos elétricos

que estejam conectados a central com o microcontrolador, através de uma conexão

remota via Web com uma interface totalmente agradável a utilização.

O resultado apresentado pelo trabalho será obtido através de um projeto que

envolve infraestrutura, dispositivos e software de controle. A meta é garantir ao

usuário a possibilidade de controle do ambiente automatizado, dentro ou fora da

casa, tornando prático e eficientemente econômico em termos de energia elétrica.

Dessa forma o trabalho pode ser sintetizado dentro dos seguintes objetivos:

Objetivo geral - desenvolver um sistema web que controle de forma remota

dispositivos em uma residência obtendo uma economia de recursos e permitir que o

usuário acione as luzes da sua residência, assim aparentando a presença humana

Page 13: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

13

de forma a desencorajar ações de invasores. Para tanto, uma central de

automatização microcontrolada é desenvolvida. Salienta-se que tal sistema é

dependente de uma conexão com a Internet.

Objetivos específicos:

1 - Apresentar os conceitos de microcontroladores, particularmente do

Arduino, seus componentes, aspectos de eletrônica e programação;

2 - Desenvolver um sistema baseado na arquitetura mestre-escravo, onde

uma central controladora envia os comandos das tarefas a serem executadas aos

microcontroladores;

3 - Desenvolvimento de uma interface simples da central de controle para

fácil utilização de usuários leigos.

O presente texto está dividido conforme descrito a seguir. O Capítulo 2

apresenta a fundamentação teórica, destacando as características dos

microcontroladores, aspectos de hardware e redes. Uma visão geral sobre a área de

automação residencial é apresentada no Capítulo 3. A explicação de como deve ser

feita a configuração e implementação do sistema consiste no Capítulo 4. O

funcionamento do sistema é demonstrado no Capítulo 5, nele são apresentadas as

telas comprovando o funcionamento do trabalho. Por fim, são apresentados a

conclusão e trabalhos futuros.

Page 14: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

14

2. FUNDAMENTAÇÃO TEÓRICA

2.1 MICROCONTROLADOR

Um microcontrolador é um circuito integrado programável que tem a

capacidade de executar tarefas definidas em sua memória interna. O Arduino é uma

plataforma open-source de prototipagem eletrônica que integra flexibilidade visando

facilitar o uso tanto do hardware e do software (ARDUINO, 2012). Ele é constituido

por uma placa única com suporte de entrada/saída, pode captar informações do

ambiente através da porta de entrada que permite integrar atuadores com o meio

externo, por exemplo, sensores. O microcontrolador na placa do Arduino é um Atmel

AVR de 8 bits programado usando a linguagem de programação padrão,

essencialmente utiliza-se C/C++ para enviar os comandos ao Arduino. Projetos do

Arduino podem ser stand-alone, ou seja possuem o código já compilado em seu chip

ou podem comunicar com software rodando em um computador.

O Arduino possui uma interface serial ou USB para interligá-lo a outras

placas ou sistemas. Essa interface permite que o Arduino seja programado e/ou que

interaja com o ambiente em tempo real.

Um importante aspecto é a maneira padrão que os conectores são expostos,

permitindo a CPU ser interligado a outros módulos expansivos, conhecidos como

Shields, que incorporam funções que o Arduino por si só não as possui.

A Figura 1 apresenta uma versão do Arduino. Nesta versão estão presentes

as portas USB, memória e conectores.

Page 15: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

15

Figura 1- Arduino Uno Versão 3

Fonte: http://www.Arduinodolito.com.br/wp-content/uploads/2012/10/Partes-de-um-Arduino.png

2.2 ETHERNET SHIELD

O Arduino Ethernet Shield permite que uma placa Arduino conecte-se à

internet (Figura 2). Ele baseia-se no chip WIZnet ethernet W5100 (datasheet). O

W5100 WIZnet fornece uma rede IP (Internet Protocol) e utiliza os protocolos TCP

(Transmission Control Protocol) e UDP (User Datagram Protocol). Ele suporta até

quatro conexões de soquete simultâneas. A Ethernet Shield conecta-se a uma placa

Arduino usando longos pinos (cabeçalhos que se estendem através do Shield). Isso

mantém a pinagem intacta e permite que outro shield possa ser colocado por cima

no momento da montagem.

Page 16: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

16

A Ethernet Shield possui uma conexão RJ45 padrão, com um transformador

de linha integrado e Power over Ethernet (PoE) habilitado. O PoE é a tecnologia que

descreve uma forma segura de passar energia elétrica juntamente com os dados por

cabos Ethernet.

Existe um espaço para cartão microSD, que pode ser usado para armazenar

arquivos para servir através da rede. O leitor do cartão microSD fica acessível

através da Biblioteca SD do Arduino.

Figura 2: Arduino Ethernet Shield.

Fonte: http://Arduino.cc/en/uploads/Guide/ArduinoWithEthernetShield.jpg

Foi utilizada a Ethernet Shield, pois ela possui um protocolo de mais fácil

utilização (TCP) e confiável, ao contrario da Shield Xbee que utiliza o protocolo

Zigbee e disponibiliza acesso através de rede sem fio, podendo sofrer maior

instabilidade, causada por agentes externos.

O TCP é o protocolo utilizado para estabelecer a conexão entre o Arduino e

o host externo, sendo este ultimo o responsável pelo envio dos comandos.

Para o Arduino UNO com ATMEGA168, um microcontrolador AVR 8-bit com

2K SRAM, é impossível implementar uma pilha TCP completa. Por isso, ao invés de

Page 17: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

17

implementar o protocolo TCP completo, um único pacote de dados é utilizado. Todo

conteúdo web, deve estar em um único pacote. O comprimento do pacote é limitado

pelo tamanho da SRAM. Atualmente, 500 bytes são usados para o buffer de pacotes

de rede Arduino. Isso é suficiente para enviar dados através de páginas simples

como a que será implementada.

A partir desta conexão o usuário será redirecionado para a página

personalizada onde terá todos os atuadores disponíveis, para interagir em seu

ambiente. Todavia para realizar a interação entre os dispositivos desenvolvidos com

o Arduino e um ambiente real precisamos de mais um dispositivo, os chamados

Relés.

2.3 RELÉ

Os relés (Figura 3) são componentes eletromecânicos capazes de controlar

circuitos externos de grandes correntes a partir de pequenas correntes ou tensões,

ou seja, acionando um relé com uma pequena voltagem 5 volts e 50 miliamperes

podemos controlar um motor que esteja ligado em 127 ou 220 volts em 2 ampéres,

por exemplo.

Os relés funcionam da seguinte forma: quando uma corrente circula pela

bobina, ela cria um campo magnético que atrai um ou uma série de contatos

fechando ou abrindo circuitos. Ao interromper essa corrente o campo magnético

também será interrompido, fazendo com que os contatos voltem para a posição

original.

Os relés podem ter algumas configurações referentes aos seus contatos:

eles podem ser NA (normalmente aberto), NF (normalmente fechado) ou ambos.

Os contatos NA são os que estão abertos enquanto a bobina não está

energizada e que fecham, quando a bobina recebe corrente. Os NF abrem-se

quando a bobina recebe corrente, ao contrário dos NA. O contato central ou C é o

Page 18: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

18

comum, ou seja, quando o contato NA fecha é com o C que se estabelece a

condução e o contrário com o NF.

Figura 3: Relé

Fonte: http://huilyrobot.tripod.com/compo/rele.gif

O objetivo do relé é utilizar pequena quantidade de energia eletromagnética

(proveniente, por exemplo, de um pequeno interruptor ou circuito eletrônico simples)

para mover uma armadura que possa gerar uma quantidade de energia muito maior.

A principal vantagem dos Relés em relação aos SCR e os Triacs1 é que o

circuito de carga está completamente isolado do circuito de controle, podendo

inclusive trabalhar com tensões diferentes entre controle e carga. A desvantagem é o

fator do desgaste, pois em todo o componente mecânico há uma vida útil, o que não

ocorre nos tiristores.

Devem ser observadas as limitações dos relés quanto a corrente e tensão

máxima admitida entre os terminais. Se não forem observados estes fatores a vida

útil do relé estará comprometida, ou até mesmo a do circuito controlado.

1 O SCR, também conhecido como tiristor, é um dispositivo semicondutor NPNP de 4 camadas. Em

seu estado normal o SCR bloqueia a passagem de corrente (ou tensão) entre os seus dois

terminais(corrente continua).

O triac também é um componente de três terminais, um dos quais controla o fluxo de corrente nos

outros dois (correte alternada).

Page 19: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

19

2.4 TRANSMISSÃO DE DADOS

Segundo ROKENBACH (1979, p.4), “a transmissão consiste, basicamente,

em se fazer chegar uma informação a um ponto distante do local em que foi gerada".

O dispositivo que gera a informação é o transmissor, e o que recebe é o

receptor. Mais de um receptor pode receber a informação ao mesmo tempo,

dependendo da topologia da rede local.

Toda e qualquer informação passa através de sinais em meio físico, que

basicamente são: digital e analógico. Na transmissão digital (utilizada nesse

trabalho), os sinais possuem apenas dois estados elétricos: ligado e desligado o que

facilita na ativação dos dispositivos. Na transmissão analógica, os sinais elétricos

variam continuamente entre todos os valores possíveis.

2.4.1 CARACTERÍSTICAS DA TRANSMISSÃO

As principais características da transmissão de dados são: canal,

transmissão serial e paralela.

2.4.1.1 CANAL

Canal é o meio de transmissão que pode ser de entrada, de saída ou de

entrada e saída. Suas definições são:

Simplex: pode levar a informação apenas para uma direção;

Half-duplex: pode levar a informação para ambas as direções, mas não

simultaneamente. Este método é o utilizado nesse trabalho;

Full-duplex: podem levar as informações para ambas as direções ao mesmo

tempo.

2.4.1.2 SERIAL E PARALELA

Em um aparelho eletrônico digital a informação é constituída em bytes que

são formatos por um conjunto de bits (8bits). A comunicação se dá por meio da

Page 20: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

20

transmissão desses bits de um aparelho para o outro. Essa transmissão pode ser

realizada de duas maneiras: serial ou paralela.

Na primeira, os bits são enviados um de cada vez através de um mesmo

barramento, sendo necessária a utilização de algum mecanismo de controle para

que seja delimitado o término de um bit e o início do bit seguinte. Tal controle é feito

por meio da contagem de tempo de acordo com a velocidade de transmissão do

aparelho em questão, aparelhos distintos poderão possuir diferentes velocidades de

transmissão. A velocidade de transmissão do Arduino é 9600 bps.

Na transmissão paralela, os bits são transmitidos ao mesmo tempo e cada

barramento representa um bit, o que ocasiona uma transmissão mais rápida, porém

limitada a curtas distâncias, há um maior numero de canais de transmissão e

maiores interferências do meio.

2.5 TOPOLOGIA

A topologia está ligada com a distribuição geográfica dos nodos e dos elos

da rede.

Um nodo ou nó representa cada ponto de interconexão com uma estrutura

ou rede, independente da função do equipamento representado por ele.

Nodo pode ser avaliado como um computador da rede. Elo é a linha de

transmissão de dados entres dois nodos.

Os tipos básicos de topologias de rede são:

Ponto-a-ponto: é o tipo mais simples da rede, não há necessidade de

endereçamento dos pacotes, pois utiliza um único canal para conectar

um computador ao outro na rede (Figura 4).

Page 21: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

21

Figura 4: Rede Ponto-a-Ponto

Multiponto: há necessidade de endereçamento de pacotes

transmitidos, pois dois ou mais computadores se conectam através do

mesmo canal. Neste tipo geralmente existe uma central, que controla o

trafego de dados. Uma técnica bastante utilizada no multiponto é o

polling (Figura 5).

Quando esses dois tipos sofrem variações, são chamados de estruturas

mistas.

Figura 5: Multiponto

Page 22: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

22

2.5.1 PROTOCOLOS

Para que o receptor receba e interprete as informações enviadas pelo

transmissor corretamente, é necessário que existam algumas regras. Segundo

AXELSON (2000, p.4), “protocolo é um conjunto de regras que definem como os

computadores vão gerenciar a sua comunicação”. Esses protocolos são orientados a

caractere ou a bit.

a. Orientado a caractere: é baseado no código binário de

um conjunto de caracteres. O mais comum utilizado é o

ASCII (American Standard Code for Information

Interchange). Existe um caractere que indica o inicio da

transmissão, outro que indica o inicio do texto, outro o fim

da transmissão, e assim por diante. Um exemplo seria o

BSC (Binary Syncronous Comunications), também

conhecido como bysinc. Este é um protocolo padrão IBM

que opera em sistemas de transmissão síncronos, half-

duplex. O protocolo opera de forma mestre escravo.

b. Orientado a bit: São protocolos que não utilizam

caracteres especiais para delimitar blocos de mensagem.

Todo o controle é tratado em nível de bit.

Um exemplo seria o SDLC, este protocolo foi desenvolvido pela IBM para

substituir o BSC em conexões em grandes áreas entre equipamentos IBM utilizando

modos de operação ponto-a-ponto ou multiponto, half ou full-duplex. O SDLC é um

protocolo mestre-escravo, ao contrário de outros como o HDLC, Frame-Relay e o

X.25 que são democráticos pois, cada um dos pontos ou nós da rede funciona tanto

como cliente quanto como servidor (peer-to-peer). Uma rede com protocolo SDLC é

composta basicamente por uma estação primária, que controla toda a comunicação

e uma ou mais estações secundárias (um sistema multiponto). (TAFNER; LOESCH;

STRINGAI, 1996, p. 36).

Page 23: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

23

2.5.2 HARDWARES DE COMUNICAÇÃO

A conexão física entre os dispositivos de uma rede pode ser feita por cabos,

ondas (redes sem fio), etc. Cada uma dessas tecnologias possui suas

características próprias que vão torná-las mais adequadas a cada tipo de aplicação.

Essas características incluem a interface de conversão do computador para o meio e

a distância entre os nodos e a topologia suportada.

Page 24: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

24

3. AUTOMAÇÃO RESIDENCIAL

A domótica, como é chamada a automação residencial, é a utilização simultânea da

eletricidade, eletrônica e das tecnologias da informação no ambiente residencial,

permitindo realizar a sua gestão local ou remota e oferecer uma gama de aplicações

integradas nas áreas da segurança, comunicação e gestão de energia (Roque,

2008).

A realidade colocada pela AURESIDE em 2010 (Associação Brasileira de

Automação Residencial) mostra que o mercado voltado para esse campo da

tecnologia passa por grandes desafios dos desenvolvedores, os quais possuem

como principal problema a dificuldade ou impossibilidade de integração de todas as

funções exercidas pela automação existente dentro de uma residência.

“Sistemas inteligentes de iluminação podem acentuar os detalhes

arquitetônicos de uma sala ou criar um clima especial, seja ele romântico ou festivo.

O acionamento de equipamentos automaticamente pode inibir possíveis intrusos,

fazendo-a parecer ocupada na ausência de seus proprietários” (SENA, 2005, p. 54).

Economia de eletricidade é outra vantagem, pois a intensidade de luz é regulada

conforme a necessidade e as lâmpadas não precisam ficar totalmente acesas como

acontece normalmente.

O mais simples tipo de controle de iluminação requer pouco mais que

módulos ligados em tomadas. Estes módulos têm duas formas básicas: uma tomada

especial que substitui as tomadas convencionais ou um módulo externo que é

plugado às tomadas (no caso de abajures, por exemplo). Estes módulos recebem

um endereço digital que será utilizado pelos controladores para identificá-los quando

emitir um sinal a ele dirigido.

Alguns conceitos são vistos ainda como céticos, sendo mostrados como

futuristas. No artigo “Estamos preparados para a automação residencial?”, escrito

por José Roberto Muratori, uns dos fundadores da AURESIDE, as estatísticas

Page 25: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

25

apontam que apenas uma pequena parte, em torno de 10 a 15% dos indivíduos

consideram-se receptivos as novas tecnologias. Portanto, há a necessidade de o

projetista de automação residencial possuir além do conhecimento técnico,

informações que caracterizam a aceitação dessa tecnologia pelos usuários.

Os controles e processos atuantes no ambiente das residências inteligentes

devem ser unificados, proporcionando a execução automática de tarefas diárias e

prevenções, como fechamento de janelas e irrigação de jardins. Para tanto, a

implementação de um ambiente inteligente deve observar diversos novos fatores

que terão implicações diretas no projeto das construções residenciais, tais como:

· A organização dos sistemas de informática;

· Os sistemas de gerenciamento da residência;

· A configuração das redes interna e externa de comunicações;

· Adaptação aos vários moradores;

· Conexão com serviços públicos de telecomunicações;

· Proporcionar flexibilidade;

· Introdução de novos equipamentos e dispositivos, que demandaram novos

paradigmas de organização dos espaços internos e externos.

Com isso, a automação residencial se configura num desafio do presente,

devendo prover ao usuário interfaces amigáveis e descomplicadas, como também

disponibilizar a informação e possibilidade de controle da residência a partir de

qualquer lugar, através da Internet, de modo a utilizar a eletrônica como “plano de

fundo” para colocar em primeiro plano a sociabilidade e bem-estar do usuário.

Dessa forma o presente trabalho apresenta o desenvolvimento de um sistema

para automação residência visando à economia de energia. Dirigindo-se para

elucidar os passos seguidos nesse desenvolvimento os seguintes tópicos são

abordados:

a) Análise e especificação dos requisitos do problema a ser trabalhado;

b) Especificação dos protocolos de comunicação entre a central e os usuários;

Page 26: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

26

c) Especificação das placas dos acionadores através de esquemas elétricos;

d) Especificação do software da central e dos acionadores através de

fluxogramas;

e) Especificação do software da Central através de diagramas de casos de uso,

classes e diagramas de sequência;

f) Implementação do software dos acionadores usando linguagem C;

g) Implementação do software da Central utilizando PHP;

h) Estudos de caso do sistema.

3.1 PRINCIPAIS REQUISITOS A SEREM ABORDADOS

“A parte mais árdua na construção de um sistema de software é decidir o que

construir. Nenhuma outra parte do trabalho compromete mais o sistema se for feito

de forma imprópria. Nenhuma outra parte é mais difícil de corrigir a posterior”.

(BROKS Jr, 1987).

Requisitos são objetivos ou restrições definidas por clientes que decidem as

propriedades do sistema. Os requisitos de software são, obviamente, aqueles dentre

os requisitos de sistema que dizem respeito a propriedades do software.

Eles englobam todas as atividades que contribuem para a produção de um

documento de requisitos e sua manutenção ao longo do tempo. Podendo ser

mensurável, por exemplo, tempo médio de atendimento de requisições, ou avaliado

subjetivamente, por exemplo, qualidade da documentação.

Eles podem ser classificados de duas maneiras: Requisitos funcionais (RF) e

os Requisitos não funcionais (RNF).

Requisitos funcionais (RF) descrevem as funcionalidades ou serviços que se

espera do sistema (funções precípuas do sistema). Exemplo: “o sistema deve

notificar o requisitante por e-mail quando sua requisição estiver disponível para

retirada”.

Este trabalho possui os seguintes requisitos funcionais:

Page 27: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

27

Ligar e desligar objetos elétricos pelo computador via internet: o sistema

deve permitir ligar ou desligar qualquer objeto elétrico através do site de

controle. Exemplos de objetos elétricos: rádio; bomba para irrigação; motor da

piscina; portão eletrônico, e o principal demonstrado nesse projeto, as

lâmpadas.

Monitorar continuamente, independente de o usuário estar operando. Para

isso o site deverá ter algum poder de processamento e armazenamento das

variáveis geradas pelos acionadores.

Permitir o controle de luminosidade: este é um requisito complementar ao

anterior, pois o sistema deve permitir que as lâmpadas sejam ligadas e

desligadas.

Requisitos não funcionais (RNF) são requisitos não diretamente

relacionados às funções essenciais do sistema. Exemplos: requisitos de

confiabilidade, robustez, eficiência e segurança.

Este trabalho possui os seguintes requisitos não funcionais:

Objetos elétricos possuem somente dois estados: ligados ou desligados, sem

fazer controle de intensidade da luminosidade ou velocidade de motores.

Para controlar isso, são usados relés. Como os relés possuem uma limitação

em corrente, não é qualquer dos dispositivos elétrico que pode ser ligado.

Quem controlará os estados dos dispositivos é a placa acionadora.

Permitir interruptores convencionais nas placas acionadoras: para evitar que o

local onde o sistema será instalado tenha que se adaptar visualmente a ele, é

necessário que as placas acionadoras sejam acionadas por interruptores

convencionais. Para isso o acionador deve processar os estados do

interruptor, que poderá ser diferente do estado do dispositivo elétrico.

Page 28: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

28

Possuir uma interface fácil de ser usada: a interface deverá tornar o uso do

sistema intuitivo para qualquer usuário que conheça o básico de informática.

Deverá ter algum tipo de suporte a fim de saber qual acionador está

selecionado, sem obrigar o usuário a decorar os endereços dos acionadores.

Transmitir dados de forma assíncrona: a transmissão serial deverá ser

assíncrona. Como o numero de acionadores será variável e deverá possuir

uma autonomia para serem detectados na central sem ter sido programado,

os pacotes seriais não obedecerão a rígidos tempos na transmissão.

Possuir proteção dos circuitos contra defeitos: as placas acionadoras devem

possuir alguns dispositivos de segurança para evitar consequências maiores

em caso de falha.

Ter a características de não interferir esteticamente na residência; o sistema

não pode aparecer onde for instalado e para isso deverá ser utilizada a

estrutura do local para fazer a comunicação e alimentação dos acionadores.

Este requisito torna o projeto diferente por permitir que o sistema seja

instalado em qualquer local sem planejamento de uma automação. É um

requisito especialmente importante para implementações futuras quando a

central e os acionadores terão uma função de alarme na residência também.

3.2 ESPECIFICAÇÃO

A comunicação entre o site e o Arduino será feita por meio da utilização de

um protocolo TCP/IP. A adoção de um protocolo específico visa aperfeiçoar ao

máximo o tamanho dos pacotes trocados entre os objetos.

Page 29: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

29

3.2.1 PROTOCOLO TCP/IP

Existem diversos tipos de usuários e diversos tipos de aplicações, assim

como existem tecnologias de redes que se adéquam melhor a cada perfil de usuário.

O problema começa a surgir quando precisamos conectar diferentes tecnologias de

rede de forma transparente, logo será necessário um protocolo comum que

independente da tecnologia de rede utilizada permita essa comunicação. Neste

contexto, o protocolo TCP/IP (Transport Control Protocol / Internet Protocol) vem

suprir esta necessidade dando total transparência aos usuários finais das diversas

tecnologias de rede empregadas pelas diversas LANs, MANs, WANs existentes,

mascarando todos os detalhes da tecnologia de hardware utilizada.

O TCP/IP é um conjunto de protocolos de comunicação entre computadores

em rede (também chamado de pilha de protocolos TCP/IP). Seu nome vem de dois

protocolos: o TCP (Transmission Control Protocol - Protocolo de Controlo de

Transmissão) e o IP (Internet Protocol - Protocolo de Interconexão). O conjunto de

protocolos pode ser visto como um modelo de camadas, onde cada camada é

responsável por um grupo de tarefas, fornecendo um conjunto de serviços bem

definidos para o protocolo da camada superior. As camadas mais altas estão

logicamente mais perto do usuário (chamada camada de aplicação) e lidam com

dados mais abstratos, confiando em protocolos de camadas mais baixas para

tarefas de menor nível de abstração.

3.2.2 ACIONADORES

Acionadores são equipamentos microcontrolados que devem ser instalados

dentro de tomadas ou interruptores (Figura 6) para respeitar o requisito de não

interferir na estética da residência ele deve ter tamanho reduzido e ter algumas

características que permitam se adaptar aos dispositivos elétricos.

A especificação dos acionadores é dividida em especificação física e

software. Cada um desses assuntos é tratado em um tópico a seguir.

Page 30: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

30

Figura 6: Acionadores

Fonte: http://www.alfamatcm.com.br/images/tomadas2.jpg

Especificação física diz respeito à parte eletrônica do sistema. O acionador

precisa possuir algum meio de acionar dispositivos elétricos, possuir uma interface

RS-485 para comunicação com a central, ter algum tipo de entrada binária, possuir

seguranças para evitar que queime o microprocessador e ter um tamanho reduzido

de tal forma que caiba dentro de uma tomada convencional.

A norma TIA/EIA-485, conhecida popularmente como RS-485, descreve uma

interface de comunicação operando em linhas diferenciais capaz de se comunicar

com 32 “unidades de carga”. Entretanto, existem dispositivos que consomem frações

de unidade de carga, o que aumenta o numero de dispositivos a serem interligados.

O meio físico mais utilizado é um par trançado.

Através deste único par de fios, cada dispositivo transmite e recebem dados.

Cada dispositivo aciona o seu transmissor apenas no instante que necessita

transmitir, mantendo-o desligado no resto do tempo de modo a permitir que outros

dispositivos transmitam dados. Em um determinado instante de tempo, somente um

dispositivo pode transmitir, o que caracteriza esta rede como half-duplex.

Page 31: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

31

Com o esquema pronto pode-se usar um software de desenho da placa

elétrica. A Figura 7 mostra o desenho da placa do Arduino e do esquema elétrico.

Figura 7: Montagem Arduino, Relé e Lâmpada.

Fonte: http://routeequipe.blogspot.com.br/2012/09/esquema-rele-Arduino.html

3.2.2.1 ESPECIFICAÇÃO DO SOFTWARE

A Figura 8 mostra o fluxograma principal do sistema. Observe que antes de

iniciar o loop são iniciadas algumas variáveis para controle. A inicialização das

variáveis do microcontrolador é feita atribuindo valores aos registradores de

configuração das interrupções. Logo em seguida é lido o endereço do acionador.

Page 32: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

32

Figura 8: Fluxograma de funcionamento Arduino

3.2.2.2 FERRAMENTAS UTILIZADAS

XAMPP

A utilização do Xampp no trabalho é baseada no fato de que ele é um

software livre independente de plataforma (Microsoft Windows, GNU/Linux, Solaris e

MacOS X), que consiste na base de dados MySQL, o servidor Web Apache e os

interpretadores para linguagens de script: PHP e Perl. É um sistema portátil, que

pode ser executado sem a necessidade de instalação (Figura 9).

Page 33: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

33

Figura 9: XAMPP

A Figura 10 mostra como é simples ativar e desativar recursos que devem

ser utilizados no projeto.

Figura 10: Acionamento do XAMPP

Page 34: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

34

PHP

O PHP (Hypertext Preprocessor) é uma linguagem de script open source de

uso geral, muito utilizada e especialmente guarnecida para o desenvolvimento de

aplicações Web embútivel dentro do HTML (HyperText Markup Language). Entre as

principais funções que determinaram a escolha de utilização do PHP neste trabalho,

está o fato de ele ser executado no servidor. Com isso, o código nunca é mostrado

ao usuário final mantendo a integridade do código.

O PHP surgiu em meados de 1994, como um pacote de programas CGI,

com o nome de Personal Home Page Tools, para substituir um conjunto de scripts

Perl que era utilizado no desenvolvimento de sua pagina pessoal.

O PHP já se mostrou superior ao ASP2 em quesitos como simplicidade de

conexão a bancos de dados, desempenho e gerenciamento de memória, além de

ser distribuído sob licença GPL (General Public License) e de rodar em inúmeras

plataformas.

APACHE

O trabalho utiliza linguagens interpretadas pelo navegador, com isso é

necessário à utilização de um servidor web capaz de interpretar as consultas que

chegam à porta associada ao protocolo HTTP (por padrão, porta 80), e de fornecer

uma resposta com este mesmo protocolo.

Entre os principais servidores web está o Apache (www.apache.org) sendo o

servidor mais conhecido da Internet. É uma aplicação que roda em diferentes tipos

de sistemas operacionais.

O nome Apache foi tirado do modo como ele foi desenvolvido ("A patchy

server”), pois é o produto de uma série de correções dos softwares, para torná-lo

uma solução segura.

2 ASP: (Active Server Pages) é uma estrutura de bibliotecas básicas (e não uma linguagem) para

processamento de linguagens de script no lado servidor para geração de conteúdo dinâmico na Web

Page 35: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

35

Logo que as falhas de segurança são detectadas, elas são corrigidas

imediatamente e uma nova versão do aplicativo é publicada.

MYSQL

O MySql é um gerenciador de banco de dados gratuito e de código aberto, ele

se destaca por ser desenvolvido pela colaboração de sua comunidade, através do

modelo de Software Livre . Ele utiliza a linguagem de programação SQL (Structured

Query Language), que é um padrão e a linguagem mais usada em bancos de dados.

Existem vários bancos de dados que suportam e seguem o padrão SQL, porém cada

um deles possui extensões proprietárias que possibilitam novas funcionalidades ao

padrão. Na internet atual, praticamente todos os servidores de hospedagem

suportam MySQL, exatamente pelo fato dele ser gratuito como o PHP e os dois

trabalharem muito bem em conjunto. (Pedro M. C. Neves e Rui P. F. Ruas, 2005, p.

21).

Alguns concorrentes do MySQL são: Oracle, PostgreSQL, SQLServer e

Firebird. Entre estes, o único banco de dados de grande porte totalmente livre e com

código fonte aberto é o MySQL.

Page 36: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

36

4. RESULTADOS E DISCUSSÕES

O fluxograma representado pela Figura 11 mostra o funcionamento do

projeto desenvolvido.

Figura 11: Funcionamento do projeto

Inicialmente, se faz necessário o cadastro do usuário no banco de dados,

para que o mesmo possa ter acesso ao sistema Web, Este cadastro é feito por meio

de uma pagina desenvolvida em PHP, onde somente o administrador do sistema,

que é o responsável pela implantação do sistema em residências, tem acesso ao

cadastramento de usuário e senha (Figura 12).

Page 37: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

37

Figura 12: Página de castrado utilizada no sistema.

Depois que o administrador fizer o cadastramento do usuário com seus

dados, o cliente estará habilitado ao acesso no sistema Web por meio da página de

login.

Na realização do cadastrado dos dados no banco de dados o campo senha

é criptografada utilizando a tecnologia MD5, dificultando assim, que outros usuários

possam ter acesso à senha. Em seguida, a senha já criptografada no banco de

dados, permite a validação do usuário.

Figura 13: Página de login utilizada no sistema

Page 38: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

38

Na página inicial do sistema Web, aparece a tela de login, mostrada na

Figura 13, onde o usuário terá que digitar seu login e senha para acessar o sistema

Web de sua residência. Ao clicar em “Enviar” o sistema realiza uma consulta no

banco de dados, para confirmar se o login e senha são válidos. Em caso positivo o

sistema redireciona para a página principal do sistema.

Figura 14:Página principal do sistema Web.

Fonte da planta: http://www.ionline.com.br/wp-content/imagens/planta-casa2.png

A Figura 14 mostra a página principal do sistema Web, que foi toda

desenvolvida em HTML e PHP, pelo fato de ser uma ferramenta altamente utilizada

em Web e ser uma página leve, podendo ser utilizada em internet com pouca largura

de banda.

Page 39: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

39

Figura 15: Foto do sistema em funcionamento.

A interface do programa foi criada como um modelo de casa com poucos

cômodos, podendo ser alterada de acordo com a residência a ser instalada.

Outra caracteristica desse sistema, é que o mesmo pode ser utilizado em

qualquer lugar e hora, basta ter acesso a internet (Figura 15).

Figura 16: Foto da montagem do Arduino

Page 40: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

40

As Figuras 16 e 17 mostram a montagen do sistema com o Arduino.

Ao selecionar um dispositivo em algum cômodo ele já estará atualizado no

banco de dados com o status de ligado ou desligado, de acordo com os dados

anteriormente modificados no banco de dados.

Figura 17: Esquema do Arduino

Ao clicar sobre um determinado botão de um dispositivo, o mesmo envia um

comando PHP, confirmando alguma ação realizada, seja de desligar ou de ligar uma

lâmpada. Sabendo desses dados, é realizada o envio do comando para o Arduino

atualizando o sistema.

Page 41: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

41

Figura 18: Lampada Acesa.

Cada uma das lâmpadas pode receber como valor ON e OFF, representando

ligado e desligado respectivamente. Por exemplo, o campo Luz_Quarto1 com valor

ON, representa que a luz do cômodo está ligada (Figura 18 e 20).

Figura 19: Sistema em funcionamento com lâmpada acesa.

O sistema foi desenvolvido no intuito de além de fornecer os benefícios da

automação ser um sistema eficiente, seguro e de fácil utilização (Figura 19 e 21).

Page 42: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

42

Figura 20: Lampada apagada.

Com o uso do PHP foi possível implantar métodos de criptografia para a

segurança do dados informados e mecanismos de bloqueios a usuários não

cadastrados, que aliado ao banco de dados MySQL tornaram as páginas dinâmicas,

ou seja, sofrem alterações de acordo com as ações.

Figura 21: Sistema com a lampada apagada.

Page 43: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

43

5. CONCLUSÃO

A sociedade moderna tem sofrido inúmeros problemas no uso racional dos

recursos naturais e de segurança. Os avanços tecnológicos dos últimos anos

permitiram que algumas das questões envolvidas nesses problemas fossem

abordadas. O uso de sensores de presença permitem que os gastos de água e luz

em residências, shoppings, empresas sejam reduzidos consideravelmente. Tais

sensores associados com cameras permitem que locais sejam mais seguros. Neste

contexto, o presente trabalho apresentou um sistema desenvolvido com plataforma

Arduino para a automação de uma residência (domótica).

O Arduino é uma plataforma open-source de prototipagem eletrônica que

integra flexibilidade visando facilitar o uso tanto do hardware e do software. Esse

trabalho desenvolveu um sistema de baixo custo para automação de uma

residência. Tal sistema permite que residências inteligentes sejam monitoradas via

Web, sendo o resultado da interação da internet com a automação, permitindo o total

controle de diversos cômodos e dispositivos existentes com muita praticidade.

A utilzação do sistema na Web possibilitou ao usuário final ter a praticidade

de escolher o que lhe for mais conveniente dentre celulares, tablets, computares ou

qualquer eletrônico que possua conexão com a internet.

A interface do site foi criada para facilitar o usuário final. Bastando poucas

instruções para operar todo o sistema.

5.1 PERSPECTIVAS FUTURAS

Como continuação do projeto objetiva-se a integração do sistemas a fontes

de energia renováveis, como energia solar. Além disso, um aplicativo para

smartphones também deverá ser desenvolvido utilizando a plataforma Android.

Page 44: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

44

REFERENCIAS BIBILIOGRAFICAS

TANENBAUM, A., Redes de Computadores, Tradução da 4ª edição. Rio de

janeiro: Campus, 2003.

ARDUINO. Arduino. Disponível em: <http://www.Arduino.cc/> Acesso em

23/07/2012.

MARGOLIS MICHAEL, Arduino CookBook, 1ª Ed. USA: O’Reilly Media, 2011.

ROBOCORE. Arduino. Disponível em:

<http://www.robocore.net/modules.php?name=GR_LojaVirtual&prod=120> Acessado

em 25/07/12

ARDUINO, Ethernet Shield. Disponível em:

<http://Arduino.cc/en/Main/ArduinoEthernetShield> Acessado em 25/07/12.

KUROSE, J. F. e ROSS, K.W. Redes de Computadores e a internet, 3ª Ed. São

Paulo: Pearson, 2007.

SOARES, L. F.G. Redes locais. Rio de Janeiro: Campus, 1986. 250 p.

SOARES NETO, V. Comunicação de dados: conceitos fundamentais. São Paulo:

Erica, 1993. 168 p.

ROQUE, A. Introdução a domótica. Publicado na Revista O Electricista, nº1 Jul,

Ago e Set de 2002. Disponível em:

<http://www.antonioroque.com/textos.asp?idCat=11&idArtigo=12> Acessado em

06/08/2012.

TANENBAUN, S. ANDREW. Redes de computadores, 4ª Ed. Amsterdam: Campus,

2003. 47 p.

OLIVEIRA, A. M.; Automação Residencial. Monografia apresentada ao

Departamento de Ciências da Administração e Tecnologia, do Centro Universitário

Page 45: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

45

de Araraquara. 2005. Associação Brasileira de Automação Residencial -

AURESIDE.<www.aureside.org.br> Acessado em 06/08/2012.

FOROUZAN, B.A. Comunicação de dados e redes de computadores / Behrouz A

Fourouzan: tradução Gleyson Eduardo de Figueiredo, 3ª Ed. Porto Alegre: Bookman,

2006.

SOLTERO, M.; ZHANG, J.; COCKRILL, C. 422 and 485 Standards Overview and

System Configurations. Application Report SLLA070C, Texas Instruments, Jun.

2002Texas Instruments. Interface Circuits for TIA/EIA-485 (RS-485) – Design Notes.

Jun. 2002.Gingerich, Kevin. The RS-485 unit load and maximum number of bus

connections. Texas Instruments, 2004.Stanek, Jan. Introduction to RS 422 & RS 485.

HW Server, Czech Republic, 1998.

NEVES, P.M.C.; RUAS, R. P. F. O GUIA PRÁTICO DO MYSQL; 2005, 1ª edição.

PERRIN, B. The Art and Science of RS-485. Circuit Cellar Magazine, Jul.

1999.Dallas/Maxim Semiconductor. Guidelines for Proper Wiring of an RS-485

(TIA/EIA-485-A) Network. Application Note 763, Jul. 2001.).

SENA, Daiane; Automação residencial. 2005. Monografia em Engenharia Elétrica

do Centro Tecnológico da Universidade Federal do Espírito Santo.

ABREU, Roterdan S. automacao_residencial.ppt: automação residencial, um

pouco de história. Ribeirão Preto, 2003. 46 eslaides, color. PowerPoint for Windows

10.26. Arquivo baixado da Internet. Disponível em:

<http://www.aureside.org.br/publicacoes/download/automacao_residencial.zip>.

Acesso em: 16/09/2012.

APACHE – introduction. Disponível em:

<http://www.commentcamarche.net/contents/apache/apacintro.php3>, Acessado em

19/10/2012.

Page 46: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

46

Jornal O globo, Banco Mundial diz que crescimento fraco do Brasil foi causado

por economia externa < http://migre.me/dxQxu>. Acessado em 07 de março de

2013.

MINISTÉRIO DAS MINAS E ENERGIA, Usina Hidrelétrica de Belo Monte <

http://www.mme.gov.br/mme/galerias/arquivos/belomonte/BELO_MONTE_-

_Fatos_e_Dados.pdf >. Acessado em 01 de junho de 2013.

Portal ISP (Instituto de Segurança Publica.), Niterói sofre com aumento de roubos

a residências. Disponível em: <http://www.jb.com.br/rio/noticias/2012/10/09/niteroi-

sofre-com-aumento-de-roubos-a-residencias/>. Acessado em 12 de março de 2013.

GOMES, F. O SETOR ENERGÉTICO BASILEIRO: DA CRISE À BUSCA PELA

SUSTENTABILIDADE. 2008. Monografia (Curso de Física do Centro de Ciências e

Tecnologia da Universidade Estadual do Ceará).

Page 47: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

47

APÊNDICE I – CONFIGURANDO O ROTEADOR

Inicialmente deve-se descobrir o IP do roteador, no sistema operacional Windows

aperte as teclas Windows (bandeira do Windows) + R conforme indicadas na Figura

22.

Figura 22: Atalho.

Fonte: http://0.malwareexperts.com/wp-content/uploads/2011/12/windows-key-r-key-keyboard.png

Logo em seguida irá aparecer à tela do executar (Figura 23), digite cmd e

clique OK para abrir o Prompt de comando.

Figura 23: Executar.

Page 48: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

48

Após esse comando basta escrever na tela do Prompt de Comando (Figura

24) a palavra IPCONFIG para descobrir qual o IP do roteador, ele aparece na linha

do Gateway padrão (esses campos estão destacados com um sublinhado vermelho).

Figura 24: Prompt de Comando.

Sabendo o IP do roteador, digite esse numero no navegador para acessar a

área administrativa, conforme na Figura 25.

Figura 25: IP no Navegador.

O usuário e senha geralmente são informados na parte de baixo do roteador,

caso o administrador da rede não tenha alterado esse valor é padrão (Figura 26).

O roteador utilizado nesse projeto foi um NetGear WGR614v9, caso o

utilizado no projeto seja diferente desse, pode-se encontrar o manual na internet.

Ele mostrará como configurar o direcionamento dos pacotes.

Page 49: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

49

Figura 26: Login Roteador.

Caso a página esteja na internet, ela deve acessar o IP público do roteador.

Para verificar o IP público basta acessar esse site: http://meuip.com.br/ e adicionar

ao código PHP este IP.

Agora é necessário definir nas configurações do roteador que todo acesso à

porta 8090 será redirecionado ao IP local e Porta do Arduino. Para isso, procure no

Google por “Redirecionamento Porta” + o modelo do seu roteador que com certeza

achará instruções (Figura 27). (Em inglês: “port forwarding”).

Figura 27: Direcionamento de porta

Page 50: AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO

50

APÊNDICE II – CONFIGURANDO O ARDUINO

Para executar os comandos que o Arduino irá receber é necessário uma IDE

(Integrated Development Environment) que pode ser baixada diretamente no site do

fabricante (Figura 28).

Desenvolvida pela mesma equipe que mantém o hardware, a IDE segue a

mesma ideia open-source, e o código fonte é liberado para download no site oficial.

Como a IDE é feita em Java ela se torna multiplataforma.

Dentro da IDE Arduino existe um compilador que realiza as análises (léxica,

sintática e semântica) no código digitado e sinaliza os possíveis erros. Esses

arquivos de códigos fonte gerados pelo compilador são chamados sketchs. De

dentro da própria IDE o desenvolvedor faz o upload dos sketchs para a placa

Arduino. Durante o upload o compilador converte os sketchs em arquivos assembly

e transfere para a placa via porta serial.

Figura 28: IDE do Arduino.