FACULDADE DE INFORMÁTICA DE OURO PRETO                DO OESTE - FIOURO       KASSIANO HENRIQUE DE OLIVEIRA PRETTOSISTEMA ...
KASSIANO HENRIQUE DE OLIVEIRA PRETTOSISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA            OPEN HARDWARE E OPEN...
KASSIANO HENRIQUE DE OLIVEIRA PRETTO       SISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA                        O...
Agradecimentos    Agradeço primeiramente a Deus, por ter    me dado à oportunidade de estar    cursando o nível superior, ...
"Ter coragem não é algo que requeira qualificações excepcionais, fórmulas mágicas oucombinações especiais de hora, lugar e...
RESUMOO presente trabalho tem como objetivo o desenvolvimento de um sistema para quegerencie aparelhos elétricos de uma re...
ABSTRACTThis study aims to develop a system to manage appliances in a home so digital, sowill offer more comfort and safet...
LISTA DE FIGURASFigura 01 – Desenho Gráfico do Arduíno                             18Figura 02 – Arduíno Serial           ...
Figura 31 – Tela de Exibição da Temperatura do Ambiente   56Figura 32 – Tela do SAR-LOCAL                             57Fi...
LISTA DE ABREVIATURAS E SIGLAS1. PHP - Hypertext Preprocessor2. PIC - Programmable Interface Controller3. I/O - Input/outp...
SUMÁRIOINTRODUÇÃO ...........................................................................................................
J.      VISUAL BASIC 2008 EXPRESS EDITION ...................................................................................
10INTRODUÇÃO      Novas tecnologias surgem, e cada vez mais as pessoas procuram facilidadespara o seu dia a dia, porém, mu...
11   2. AUTOMAÇÃO RESIDENCIAL      Domótica que se refere à junção da palavra latina Domus (casa) comRobótica, que se trad...
12proprietário da residência, através de alertas no telefone celular ou e-mail, apresença de um intruso.      A temperatur...
13             2.1 OPEN HARDWARE E OPEN SOURCE      Para o desenvolvimento do projeto serão utilizadas às plataformas Open...
14          • Distribuição livre, a Licença não deve restringir de nenhuma maneira              a venda ou distribuição do...
15que um software modificado a partir de um código-aberto possa ser vendido, e nãoobrigatoriamente aberto.      Para BORTO...
16              2.2 HARDWARE UTILIZADO       Para   o   desenvolvimento   desde   trabalho   será   utilizado   uma   plac...
17pela Prix ArsElectronica. Assim obteve um grande volume de vendas com mais de50.000 placas vendidas até outubro de 2008 ...
18      Possui uma IDE de programação amigável, segundo o site Arduino.cc “atémesmo uma criança de 12 anos pode desenvolve...
19                                 A. ARDUÍNO SERIALPrimeira placa desenvolvida para o uso em projetos pequenos e objetivo...
20                                B. ARDUÍNO UNO       O Arduíno UNO representa a versão 1.0, foi a primeira a ser fabrica...
21                               C. ARDUÍNO MINI       Placa desenvolvida com um tamanho menor que as anteriores, mas com ...
22                               D. ARDUÍNO LILYPAD       Placa desenvolvida no modelo circular com 50mm de diâmetro, para...
23                               E. ARDUÍNO BT       Placa desenvolvida com base no Microcontrolador Atmega168, com a mesm...
24                                F. ARDUÍNO MEGA       O Arduíno MEGA é uma placa modificada com uma grande quantidade de...
25                    2.3.2. SHIELDS      São placas que são usados para que possa ter um maior gerenciamentojunto ao Ardu...
26                            B. SHIELDS SENSOR DE TEMPERATURA      De acordo com o Glossário de Termos Técnicos, Sensores...
27    3. METODOLOGIA E FERRAMENTAS      Para o desenvolvimento deste projeto, foi utilizado o método dedutivo, e apesquisa...
28                    B. BANCO DE DADOS MYSQL      O Banco de Dados MySQL é um sistema gerenciador de dados desenvolvidoin...
29                    D. WAMPSERVER 2.1E      WAMPSERVER é um pacote de instalação do servidor WEB com Apache,PHP e MySql,...
30Info, O DIA é inspirado no programa da Microsoft, o Visio. Ele pode ser usado parao desenho de diferentes tipos de diagr...
31                     H. REDES SEM FIO      Para a que o sistema tenha um melhor desempenho quando se encontra ousuário e...
32que passa a representar o IP da conexão do usuário, mesmo que o IP mude,viabilizando serviços essenciais para sua empres...
33      3.1 MODELAGEM DO SISTEMA      A modelagem do sistema irá detalhar cada função que o sistema poderá ter,como o acio...
34visão externa do sistema e suas interações com o mundo exterior descrevendo seusrequerimentos e suas responsabilidades e...
35                   Figura 11 – Diagrama de Sequência do formulário de cadastro                                      Font...
36                       D. DICIONÁRIO DE DADOS       No dicionário de dados será detalhada cada tabela do banco de dados ...
37                   E. DIAGRAMA DE ENTIDADE RELACIONAL      Modelado os dados, para que possam ser mais bem compreendidos...
38   4. FUNCIONAMENTO DO SISTEMA      Para o funcionamento do sistema será necessário a utilização de umaplicativo que foi...
39                                       Fonte: Própria                 A. COMPONENTES DO SISTEMA      Na tabela abaixo es...
40      Serão implantados sensores de movimento para que detecte oscilações naresidência, assim enviado mensagens para os ...
41   5. RESULTADOS      Neste capítulo serão mostradas as telas do sistema em funcionamento comdetalhes de cada uma delas....
42     Página inicial do Sistema, com opções de Cadastro, Gerenciamento e fazerLOGOUT, contendo o nome do usuário logado a...
43      Tela de Cadastros, nela é exibida todos os cadastros do sistema como:Cômodo, Dispositivo e Usuário.               ...
44      Nesta Página são exibidos todos os cômodos cadastrados no SAR-WEB,possui as opções de adicionar, excluir e editar ...
45      Cadastros de Cômodos, nesta página serão cadastrados todos os cômodosexistentes na residência.                    ...
46Tela de Edição do Cômodo Cadastrado no Banco de dados do SAR-WEB.                 Figura 21 – Tela de Edição de Cômodos ...
47      Página dos Dispositivos Cadastrados no Banco de Dados do SAR-WEB nelatem as opções somente de Editar, devido os di...
48      Página de Edição de Dispositivos, nela só é possível a modificação daDescrição do Dispositivo e o Cômodo que o mes...
49      Página dos Usuários cadastrados no Banco de Dados SAR-WEB, nela tem asopções de Cadastrar Novo Usuário, Editar e E...
50      Página de Cadastrar Usuário, serão fornecidos pelos usuários os dados paraque efetue o cadastro no Banco de Dados ...
51     Página de Edição de Usuários, nela é feita a edição de dados cadastrais dosusuários que estão armazenados no Banco ...
52      Página de Gerenciamento, nela são exibidos todos os Cômodos cadastradono SAR-WEB. Possui uma função especial, a de...
53      Página para gerenciar dispositivos cadastrados no Cômodo Selecionado, nelaserá exibida todos os dispositivos que e...
54Página para ligar/desligar o dispositivo cadastrado ao SAR-WEB.              Figura 29 – Tela de Gerenciamento do dispos...
55      Página para gerenciar dispositivos cadastrados no Cômodo Selecionado, nelaserão exibido todos os dispositivos que ...
56      Página de exibição da Temperatura atual do ambiente que foi instalado, atemperatura é atualizada a cada segundo, s...
57      Aplicativo em Visual Basic, ele é quem faz a comunicação do banco de dadosao Arduíno, cada modificação feita no ba...
58      Sistema SAR-LOCAL em Execução no computador que o Arduíno estáconectado, assim o mesmo irá gerenciar os dispositiv...
59      Tela do sistema em funcionamento na Barra de Tarefas com menu abertoapós clicar com o botão direito do mouse sobre...
60      A figura abaixo mostra a maquete de uma parede para demonstrar afuncionalidade do sistema, possuindo duas lâmpadas...
61CONCLUSÃO      Este projeto foi desenvolvido para que haja um grande avanço tecnológico emresidências, visando o menor c...
62REFERÊNCIAS BIBLIOGRÁFICASARDUÍNO, Introdução ao Arduíno. Disponível em:http://www.arduino.cc/en/Guide/Introduction. Ace...
63BRAVALHERI, Anderson, Curso PHP. Disponível em: UNICAMP:http://www.jr3e.fee.unicamp.br/Home/index.php?option=com_content...
64OLHAR DIGITAL (2011), Arduíno: robótica para iniciantes. Disponível emhttp://olhardigital.uol.com.br/produtos/central_de...
65APÊNDICES
66      1. CÓDIGO FONTE DO SISTEMA-- Estrutura da tabela `tb_dispositivo`--CREATE TABLE `tb_dispositivo` ( `id_Dispositivo...
67---- Estrutura da tabela `tb_dispositivo`--CREATE TABLE `tb_dispositivo` (  `id_Dispositivo` int(2) NOT NULL auto_increm...
68(28, Sar Web, sar, sar, sar@sar.com, 6981188765);PASTA PRINCIPAL DO SISTEMAINDEX.PHP<!--Validar SESSÃO--><?php         r...
69</html>Login.php<!DOCTYPE html><html>       <head>       <title>SAR - Sistema de Automação Residencial WEB</title>  <!--...
70}if (!$db) {    die("O Banco de Dados ".$nomeBD." Não Foi Encontrado <br/>");}?>FazerLogin.php<!DOCTYPE html><html>     ...
71?> </div><!-------------------------------------------------------------------------------------------------------------...
72Cadastro.php<?php/*Valida se o usuario esta logado*/require validar.php;?><!DOCTYPE html><html>          <head>         ...
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Tcc   sistema de automação residencial baseado em plataforma open hardware e open source
Próximos SlideShares
Carregando em…5
×

Tcc sistema de automação residencial baseado em plataforma open hardware e open source

3.466 visualizações

Publicada em

TCC apresentado ao Curso de Sistemas de Informação na Faculdade de Ouro Preto do Oeste - UneOuro

Tcc sistema de automação residencial baseado em plataforma open hardware e open source

  1. 1. FACULDADE DE INFORMÁTICA DE OURO PRETO DO OESTE - FIOURO KASSIANO HENRIQUE DE OLIVEIRA PRETTOSISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA OPEN HARDWARE E OPEN SOURCE Ouro Preto do Oeste 2011
  2. 2. KASSIANO HENRIQUE DE OLIVEIRA PRETTOSISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA OPEN HARDWARE E OPEN SOURCE Trabalho de Conclusão de Curso apresentado a Faculdade de Informática de Ouro Preto do oeste - FIOURO, para obtenção de grau acadêmico de Bacharel em Sistemas de informação, sob orientação do Professor Me Vagner Schoaba. Ouro Preto do Oeste 2011
  3. 3. KASSIANO HENRIQUE DE OLIVEIRA PRETTO SISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA OPEN HARDWARE E OPEN SOURCETrabalho de Conclusão de Curso apresentado à Faculdade de Ouro Preto doOeste – UNEOURO, em 13/12/2011, para obtenção de grau acadêmico de Bacharelem Sistemas de Informação, sob orientação do Professor Me Vagner Schoaba.. AVALIADORES _________________________________,___________ Cleyton Ferrari, Esp – Nota _________________________________,___________ Juliana Braz da Costa, Esp – Nota _________________________________,___________ Vagner Schoaba, Me – Nota ____________________ Média Ouro Preto do Oeste 2011
  4. 4. Agradecimentos Agradeço primeiramente a Deus, por ter me dado à oportunidade de estar cursando o nível superior, a minha família que sempre me apoiou e entendeu aqueles momentos que não foi possível estar presente, por motivos maiores de estar me dedicando aos estudos. A todos os meus professores e amigos da faculdade que nos acompanharão.
  5. 5. "Ter coragem não é algo que requeira qualificações excepcionais, fórmulas mágicas oucombinações especiais de hora, lugar e circunstância. É uma oportunidade que, mais cedo ou mais tarde, é apresentada para cada um de nós." ( John F. Kennedy )
  6. 6. RESUMOO presente trabalho tem como objetivo o desenvolvimento de um sistema para quegerencie aparelhos elétricos de uma residência de maneira digital, assim irá oferecermais conforto e segurança aos usuários. O simples fato de uma pessoa ter que selevantar para ligar ou desligar um interruptor de uma lâmpada, pode serimplementado com um SAR (Sistema de Automação Residencial), que é tudo o quese automatiza em uma residência de maneira manual para automática ou digital. Odesenvolvimento será baseado em plataformas Open Hardware e Open Software,com a intenção de oferecer ao usuário um sistema de baixo custo, assim irá sepropagar em diversos níveis de classes sociais. O sistema será baseado em duasplataformas, cliente e servidor, sendo que a cliente será disponibilizada um site oSAR-WEB, para que o usuário possa utilizar para gerir a sua residência de qualquerplataforma que tenha acesso a internet, a versão servidor que é o SAR-LOCAL seráinstalado no computador que irá ficar o servidor web, sendo que o mesmo iráverificar alterações efetuadas no banco de dados feitas pelo SAR-WEB assimenviando comandos para um microcontrolador Arduíno com as Shields relés etemperatura.Palavras Chaves: Conforto, Segurança, Dispositivo Móvel, Residência.
  7. 7. ABSTRACTThis study aims to develop a system to manage appliances in a home so digital, sowill offer more comfort and safety for users. Just because a person has to get up toturn a switch on a lamp, can be implemented with a SAR (Home AutomationSystem), which is all that automates the way home in a manual or automatic digital .The development platforms will be based on Open Hardware and Open Software,with the intention of offering the user a low cost system, and will propagate atdifferent levels of social classes. The system is based on two platforms, one clientand one server, and the customer will be provided a web-site SAR, so that the usercan use to manage your home on any platform that has Internet access, the serverversion what is the SAR-LOCAL will be installed on the computer that will run theweb server, and will check the same changes to the database made by the SAR-WEB so by sending commands to a microcontroller with the Arduíno Shields relaysand temperature.Keywords: Comfort, Safety, Mobile Device, Home.
  8. 8. LISTA DE FIGURASFigura 01 – Desenho Gráfico do Arduíno 18Figura 02 – Arduíno Serial 19Figura 03 – Arduíno UNO 20Figura 04 – Arduíno MINI 21Figura 05 – Arduíno LilyPad 22Figura 06 – Arduíno BT 23Figura 07 – Arduíno MEGA 24Figura 08 – Módulo Relé 25Figura 09 – Sensor de Temperatura 26Figura 10 – Diagrama de Caso de Uso 34Figura 11 – Diagrama de Sequência do formulário de Cadastro 35Figura 12 – Diagrama de Sequência do acionamento de dispositivos 35Figura 13 – Diagrama de Entidade Relacional 37Figura 14 – Funcionamento do Sistema 38Figura 15 – Shields Ethernet acoplada no Arduíno MEGA 40Figura 16 – Tela de Login do Sistema 41Figura 17 – Tela Inicial do Sistema 42Figura 18 – Tela de Cadastros 43Figura 19 – Tela de Cômodos Cadastrados 44Figura 20 – Tela de Cadastro de Cômodos 45Figura 21 – Tela de Edição de Cômodos 46Figura 22 – Tela de exibição dos Dispositivos 47Figura 23 – Tela de Edição de Dispositivos 48Figura 24 – Tela de Usuários Cadastrados 49Figura 25 – Tela de Cadastro de Usuarios 50Figura 26 – Tela de Edição de Usuários 51Figura 27 – Tela principal de Gerenciamento 52Figura 28 – Tela de Exibição do Dispositivo Cadastrado ao Cômodo 53Figura 29 – Tela de Gerenciamento do Dispositivo 54Figura 30 – Tela de Exibição do Dispositivo Cadastrado ao Cômodo 55
  9. 9. Figura 31 – Tela de Exibição da Temperatura do Ambiente 56Figura 32 – Tela do SAR-LOCAL 57Figura 33 – Tela do SAR-LOCAL em Execução 58Figura 34 – Tela do SAR-LOCAL na Barra de Tarefas 59Figura 35 – Maquete 60
  10. 10. LISTA DE ABREVIATURAS E SIGLAS1. PHP - Hypertext Preprocessor2. PIC - Programmable Interface Controller3. I/O - Input/output4. SAR - Sistema de Automação Residencial5. GNU GPL - General Public License6. BSD - Berkeley Software Distribution7. LGPL - Lesser General Public License8. DLL - Dynamic-link library9. USB - Universal Serial Bus10. V – Volts11. PWM - Pulse Width Modulation12. mA – miliAmperes13. Mhz - mega-hertz14. KB - Kilobyte15. HTML - HyperText Markup Language16. HTTP - Hypertext Transfer Protocol17. IMAP - Internet Message Access Protocol18. SNMP - Simple Network Management Protocol19. NNTP - Network News Transfer Protocol20. POP3 - Post Office Protocol21. NCP - Network Control Protocol22. FTP - File Transfer Protocol23. WWW - World Wide Web
  11. 11. SUMÁRIOINTRODUÇÃO .................................................................................................................................... 102. AUTOMAÇÃO RESIDENCIAL ..................................................................................................... 112.1 OPEN HARDWARE E OPEN SOURCE ..................................................................................... 132.2 HARDWARE UTILIZADO........................................................................................................ 162.3.1. ARDUÍNO ......................................................................................................................... 162.3.2. VERSÕES ARDUÍNO .......................................................................................................... 18 A. ARDUÍNO SERIAL............................................................................................................................ 19 B. ARDUÍNO UNO ............................................................................................................................... 20 C. ARDUÍNO MINI .............................................................................................................................. 21 D. ARDUÍNO LILYPAD ......................................................................................................................... 22 E. ARDUÍNO BT .................................................................................................................................. 23 F. ARDUÍNO MEGA ............................................................................................................................ 242.3.3. SHIELDS ............................................................................................................................ 25 A. SHIELDS MÓDULO RELÉ ................................................................................................................. 25 B. SHIELDS SENSOR DE TEMPERATURA ............................................................................................. 263. METODOLOGIA E FERRAMENTAS ............................................................................................ 27A. PHP ........................................................................................................................................... 27B. BANCO DE DADOS MYSQL........................................................................................................ 28C. APACHE .................................................................................................................................... 28D. WAMPSERVER 2.1E .................................................................................................................. 29E. C/C++ ........................................................................................................................................ 29F. DIA 0.97.1-1.............................................................................................................................. 29G. INTERNET.................................................................................................................................. 30H. REDES SEM FIO ......................................................................................................................... 31I. DDNS ........................................................................................................................................ 31
  12. 12. J. VISUAL BASIC 2008 EXPRESS EDITION ..................................................................................... 32K. JQUERY ..................................................................................................................................... 323.1 MODELAGEM DO SISTEMA .................................................................................................. 33A. UML .......................................................................................................................................... 33B. CASO DE USO............................................................................................................................ 33C. DIAGRAMA DE SEQUÊNCIA ...................................................................................................... 34D. DICIONÁRIO DE DADOS ............................................................................................................ 36E. DIAGRAMA DE ENTIDADE RELACIONAL ................................................................................... 374. FUNCIONAMENTO DO SISTEMA .............................................................................................. 38A. COMPONENTES DO SISTEMA ................................................................................................... 39B. ACESSO AO SISTEMA ................................................................................................................ 39C. PROJETOS FUTUROS ................................................................................................................. 395. RESULTADOS ............................................................................................................................ 41CONCLUSÃO ...................................................................................................................................... 61REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................................................... 62APÊNDICES ........................................................................................................................................ 651. CÓDIGO FONTE DO SISTEMA ................................................................................................... 66
  13. 13. 10INTRODUÇÃO Novas tecnologias surgem, e cada vez mais as pessoas procuram facilidadespara o seu dia a dia, porém, muitas dessas tecnologias possuem alto valor deimplantação, que torna difícil a aquisição. Quando fala-se em tecnologia, as pessoas associam este termo aos carros eseus computadores de bordo, celular, tablets e dezenas de outros dispositivosdisponíveis no mercado. Algo que chama a atenção de muitos por oferecer grandeconforto e segurança, são as casas inteligentes que podem ser gerenciadas porpessoas sem mesmo que esteja dentro dela. Muitas ações podem ser executadas, até o simples fato de uma pessoa ligare desligar uma lâmpada pelo interruptor pode ser modificado com a implantação deum sistema de automação residencial, poderá ser manipulado por um sistema que écontrolado por um computador ou até mesmo um dispositivo móvel com acesso arede de internet. Um sistema de automação residencial é composto de placas microcontroladacom chip programável e um sistema lógico para gerenciamento, sendo que placasmicrocontroladoras mais sofisticadas possuem um valor alto de implantação eferramentas mais complexas para a utilização. Visando um baixo custo para a implementação do sistema será utilizado omicrocontrolador Arduíno, que é de código aberto e livre para que pessoas comconhecimento em eletrônica e programação possam utilizar da sua imaginação paradesenvolver projetos. Com as fabricações das Shields podem-se adicionar novoscomponentes que aumentam a capacidade de gerenciamento do Arduíno, comoplacas de rede, Bluetooth, Sensores entre outros. Propondo a implementação de um sistema que será capaz de gerenciar umaresidência, que será utilizado das mais novas tecnologias para que se possa garantirconforto e segurança às pessoas que irão ter acesso ao uso do SAR-WEB.
  14. 14. 11 2. AUTOMAÇÃO RESIDENCIAL Domótica que se refere à junção da palavra latina Domus (casa) comRobótica, que se traduz na instalação de tecnologia em uma residência, que a tornaa Automação Residencial. De acordo com ALPHATRON (2011), nos Estados Unidos a AutomaçãoResidencial já esta presente em mais de 5 milhões de residência, é amplamenteutilizado no Canadá, Europa e Ásia. No Brasil ainda é pouco difundido o uso de automação residencial, mas comas novas tecnologias que estão surgindo, logo todos poderão automatizar as suasresidências com um baixo custo. O gerenciamento ocorre com o uso de um controleremoto ou até mesmo um telefone celular, e é um procedimento nominado deAutomação Residencial. A grande comodidade de estar no quarto e poder desligar a luz da sala pelotelefone celular já pode ser implantado por um sistema de automação residencial.Podem-se incluir itens como iluminação, segurança, temperatura de ambientes econtrole de equipamentos diversos. No controle de iluminação, como por exemplo, pode ser ligado e desligadouma luz em um exato momento assim como programar horários para permaneceremligadas durante um período. Ao se afastar da residência, uma pessoa pode programar para que emdeterminada hora as luzes do jardim possam se desligar, permitindo a simulação dapresença de uma pessoa na residência, afastando possíveis invasões por elementosmal intencionadas. Na área de segurança, um sistema de automação residencial pode gerenciarsensores instalados na residência. Assim poderá acionar alarmes ou comunicar ao
  15. 15. 12proprietário da residência, através de alertas no telefone celular ou e-mail, apresença de um intruso. A temperatura de um ambiente interno pode variar com o horário e o climadas estações do ano. Em um SAR encontram-se sistemas capazes de fazer a leiturada temperatura de um ambiente, dessa forma pode ser programadas ações deacordo com a temperatura. Como por exemplo, caso a temperatura esteja abaixo de15ºC, um aquecedor poderá ser acionado para permanecer ligado até que atemperatura chegue em 20ºC. A mesma checagem poderá ocorrer quando atemperatura estiver elevada, sendo assim, o sistema poderá acionar o ar-condicionado e reduzi-la até um determinado ponto. Controles de equipamentos podem ser incluídos de acordo com anecessidade. Assim como o ar-condicionado e o aquecedor, outros dispositivospodem ser controlados para diversas finalidades, como, alimentar um animal, ligarou desligar regadores de plantas, filtros de piscinas, aquários e outros. Existe umagama de equipamentos que podem ser acionados e programados para determinadotempo em funcionamento, bastando para isso, estar interligado ao SAR.
  16. 16. 13 2.1 OPEN HARDWARE E OPEN SOURCE Para o desenvolvimento do projeto serão utilizadas às plataformas OpenSource e Open Hardware, visando o menor custo possível para a implantação dosistema, assim o SAR irá se popularizar com mais facilidade. Nos Tópicos abaixoserão detalhados o que são cada uma das plataformas. • Open Hardware são placas que tem a disposição às informações paraque possam ser fabricadas, são fornecidos os diagramas, circuito impresso e dadostécnicos, assim pessoas podem produzi-las domesticamente e até mesmocomercializá-la. Segundo MELLIS (2009), o Hardware de código aberto traz as vantagens dese adaptar ao modelo de negócios e o fornecimento de diversas situações para osprojetos. Empresas podem vender kits para a montagem de dispositivos compatíveiscom Arduíno, por exemplo. Para MELLIS (2009), o Hardware de código aberto em longo prazo vai sesustentar, pois é diferente de outros negócios. As empresas têm que fazer um preçojusto para que possam vender. Trabalhando com o código aberto, nos influencia acada vez mais trabalhar com qualidade, pois outras empresas podem fabricar omesmo produto e vender. • Open Source são sistemas que fornecem os códigos para que maispessoas podem modificá-los e melhorá-los, Open Source em português significacódigo aberto e também muito conhecido como sendo Software livre. Em 1998 aempresa OSI (Open Source Initiative) criou o termo Open Source. Para CAMPOS (2006), “Software Livre é o software que pode ser usado,copiado, estudado, modificado e redistribuído sem restrição”. Para SACSTECH CONSULTORIA E SERVIÇOS(2011), um programa comcódigo aberto deve garantir os seguintes requisitos.
  17. 17. 14 • Distribuição livre, a Licença não deve restringir de nenhuma maneira a venda ou distribuição do programa gratuitamente. • Código Fonte, deve ser incluído o código fonte junto a distribuição, ou em outra fonte na internet, e deve ser de fácil entendimento para qualquer programador. • Trabalhos derivados, podem ser modificados e distribuídos da mesma maneira que foram distribuídos a licença original. • Integridade do autor do código fonte, a licença pode restringir o código fonte de ser distribuído em uma forma modificada apenas esta permitir a distribuição de atualização do código fonte para o propósito de modificação do programa no momento de sua construção. • Não discriminação contra pessoas ou grupos, A licença não pode discriminatória contra qualquer pessoa ou grupo de pessoas. • Não discriminação contra áreas de atuação, A licença não deve restringir qualquer pessoa de usar o programa em um ramo específico de autuação. • Distribuição da Licença, Os direitos associados ao programa devem ser aplicáveis para todos aqueles cujo programa é redistribuído, sem a necessidade de execução de uma licença adicional para estas partes. Atualmente existem diversos tipos de licenças Open Source, os quais serãodescrito a seguir. Para BORTOLI (2009), GNU GPL - A Licença Pública Geral GNU (GNUGeneral Public License, GPL) é a mais comum existente, e prevê que os softwaressob sua guarda estejam em código-aberto e assim permaneçam após eventuaismodificações. Ou seja, se determinada empresa, usuário ou desenvolvedor forincorporar ou modificar o código, precisará liberar a versão final. Para BORTOLI (2009), BSD - A licença BSD elaborada pela BerkeleySoftware Distribution impõe poucas restrições sobre a forma de utilização,alterações e redistribuição do software licenciado. Ao contrário da GPL, ela prevê
  18. 18. 15que um software modificado a partir de um código-aberto possa ser vendido, e nãoobrigatoriamente aberto. Para BORTOLI (2009), Artistic License - Essa licença permite a redistribuiçãode arquivos binários, mas restringe a redistribuição de códigos modificados, a fim deproteger os autores de determinado software. LGPL ou Library GPL. Esta é uma variação da licença GPL que permite odesenvolvimento de programas de código aberto que contenham módulosproprietários. Na GPL "tradicional" todo o código do programa é aberto, isso atendebem à maioria dos projetos colaborativos. A LGPL funciona melhor nestes casos,pois permite que você desenvolva programas "semi abertos" onde parte do códigodo programa está disponível e o restante das funções é proporcionada por algunsbinários que não possuem seu código aberto, estes binários linkados no programano momento da compilação, de uma forma análoga às DLLs do Windows.MORIMOTO (2005).
  19. 19. 16 2.2 HARDWARE UTILIZADO Para o desenvolvimento desde trabalho será utilizado uma placamicrocontroladora que é open hardware e open source, para que o projeto não tenhaum custo elevado, assim se tornando um sistema de baixo custo e fácil aquisição.Serão detalhados os modelos de placas Arduíno e ao final a placa a ser utilizada noprojeto e seus componentes para que possam auxiliar no gerenciamento dedispositivos, que são as placas Shields. 2.3 ARDUÍNO No desenvolvimento deste trabalho será utilizado à placa Arduíno, por seruma plataforma de fácil implementação e Baixo custo. Atualmente no Brasil é umatecnologia nova, mas segundo o site Olhar digital possui uma comunidadecolaborativa na web o www.arduino.cc, que já possui mais de vinte mil pessoas detodo o mundo. Segundo BOEIRA (2011), a placa microcontroladora Arduíno foi inventada naItália, em 2005, veio para revolucionar o mundo da tecnologia, pois com ela épossível trazer o mundo real para a tecnologia ou vice versa, tanto se envia sinaiscomo recebe sinal de um objeto do mundo real com auxilio de sensores. Trabalhacom um Microcontrolador PIC, que é o gerenciador da placa, pode ser implementadaem diversas linguagens, uma dela é o PHP, que será utilizada para desenvolver oprojeto. Em 2005 na cidade de Ivrea se iniciou a prototipagem de uma placamicrocontrolada para que as instituições possam reduzir custo na implantação deprojetos estudantis de eletrônica e informática. Assim se deu inicio a plataformaArduíno (Arduino.cc). Conforme o Site Oficial (Arduino.cc), O seu sucesso teve início com orecebimento de uma menção honrosa na categoria Comunidades Digital em 2006
  20. 20. 17pela Prix ArsElectronica. Assim obteve um grande volume de vendas com mais de50.000 placas vendidas até outubro de 2008 com o seu microcontrolador AtmelAVR.Arduíno é uma placa open hardware de licença Creative Commons, sendo assim,possui diversas empresas que o fabrica e vende por um preço mais acessível, destaforma estudantes podem desenvolver projetos com o custo reduzido e de ótimaqualidade. Para Werneck (2009), Arduíno é uma placa microcontroladora, computadorfísico baseado numa simples plataforma de hardware livre, que possui suporte paraI/O (entradas/saídas), utilizando uma linguagem de compilação C/C++. O objetivodesta placa é a criação de projetos de baixo custo, assim poderão ser acessíveis ausuários de eletrônica básica e informática. O Arduíno inicialmente foi desenvolvido com uma interface de comunicaçãoserial, porta de comunicação mais comum para computadores da época. Devido àevolução dos meios de comunicação entre dispositivos, o Arduíno, atualmente,possui uma interface de conexão USB, porém, com o surgimento de novas Shields omesmo pode expandir suas interfaces de comunicação para rede ethernet, wireless,Bluetooth, entre outros. De acordo com o site oficial do Arduíno há um questionamento sobre porquêusar o Arduíno? “Há muitos outros microcontroladores e plataformas de microcontroladores disponíveis para a computação física. Parallax Basic Stamp, BX-24 é NetMedia, Phidgets, Handyboard do MIT, e muitos outros oferecem funcionalidade semelhante. Todas essas ferramentas levam os detalhes confusos de programação de microcontroladores e envolvê-lo em um pacote fácil de usar. Arduíno também simplifica o processo de trabalhar com microcontroladores, mas oferece algumas vantagens para os professores, estudantes e amadores interessados em outros sistemas”. O autor WERNECK (2009), passa a ideia que o Arduíno por serimplementada em uma linguagem multi-plataforma, podendo ser desenvolvido emsistemas Linux, Mac e Windows. Sendo assim Não há a necessidade de programarum software para cada sistema operacional. Enquanto a maioria dos outrosmicrocontroladores são limitados para Windows.
  21. 21. 18 Possui uma IDE de programação amigável, segundo o site Arduino.cc “atémesmo uma criança de 12 anos pode desenvolver um aplicativo simples para rodarno Arduíno”, mas, suficientemente flexível para que usuários avançados possamdesenvolver e utilizar todo o seu potencial. 2.3.1. VERSÕES ARDUÍNO Até o desenvolvimento deste trabalho foram produzidas comercialmente 11versões do dispositivo que foram encontradas no site oficial (arduíno.cc) , ArduínoSerial, Arduíno UNO, Arduíno EXTREME, Arduíno MINI, Arduíno nano, ArduínoLilyPad, Arduíno NG, Arduíno NG PLUS, ArduínoBT, ArduínoDiecimila, ArduínoDuemilanove, Arduíno MEGA. As versões existentes têm o mesmo objetivo, que é controlar os dispositivosdo mundo real, mas cada placa possui uma característica que é o seu tamanho oucapacidade de gerenciamento. Assim analisando cada uma, poderá identificar qualplaca que será utilizada no projeto a ser desenvolvido. Figura 01 – Desenho Gráfico do Arduíno Fonte: http://www.artificialtourism.com/arduino-workshopNos próximos tópicos serão detalhadas algumas das versões acima, nas quaispossuem diferenças relevantes entre elas.
  22. 22. 19 A. ARDUÍNO SERIALPrimeira placa desenvolvida para o uso em projetos pequenos e objetivos.Atualmente não é mais produzida comercialmente, devido a sua interface decomunicação Serial RS232 que é pouco encontrado no mercado. No site oficial doArduíno há dicas de fabricação caseira da placa. Figura 02 - Arduíno Serial Fonte: http://arduino.cc/en/Main/ArduinoBoardSerial Tabela 01 - Descrição do Arduíno Serial. Microcontrolador ATMEGA328 Tensão de funcionamento 5V Tensão de entrada (recomendado) 7-12V Tensão de entrada (limites) 6-20V E / S Digital Pinos 14 (dos quais 6 oferecem saída PWM) Pinos de entrada analógica 6 DC Corrente por pino de E / S 40 mA Corrente DC 3.3V para Pinos 50 mA 32 KB ( ATMEGA328 ), dos quais 0,5 KB utilizado Memória Flash pelo gerenciador de boot SRAM 2 KB ( ATmega328 ) EEPROM 1 KB ( ATMEGA328 ) Velocidade do clock 8 MHz Preço Não possui a venda. Fonte: http://arduino.cc/en/Main/ArduinoBoardSerial
  23. 23. 20 B. ARDUÍNO UNO O Arduíno UNO representa a versão 1.0, foi a primeira a ser fabricada com ainterface de comunicação USB. A placa Arduíno UNO é mais indicada parainiciantes devido ao seu baixo custo, mas o que deixa a desejar é a sua poucacapacidade de gerenciamento de dispositivos. Figura 03 - Arduíno UNO Fonte: http://arduino.cc/en/Main/ArduinoBoardUno Tabela 02 - Descrição do Arduíno UNO. Microcontrolador ATMEGA328 Tensão de funcionamento 5V Tensão de entrada (recomendado) 7-12V Tensão de entrada (limites) 6-20V E / S Digital Pinos 14 (dos quais 6 oferecem saída PWM) Pinos de entrada analógica 6 DC Corrente por pino de E / S 40 mA Corrente DC 3.3V para Pinos 50 mA 32KB(ATMEGA328), sendo 0,5KB utilizado pelo Memória Flash gerenciador de boot SRAM 2 KB ( ATMEGA328 ) EEPROM 1 KB ( ATMEGA328 ) Velocidade do clock 16 MHz Preço R$136,00 Fonte: http://arduino.cc/en/Main/ArduinoBoardUno
  24. 24. 21 C. ARDUÍNO MINI Placa desenvolvida com um tamanho menor que as anteriores, mas com amesma capacidade de processamento das já desenvolvidas, a diferença é que deveser adicionado Shields para a comunicação com o computador ou outro Arduíno. Éuma placa para projetos pequenos para ser adaptada em locais que as demais nãose adaptam. Figura 04 – Arduíno MINI Fonte: http://arduino.cc/en/Main/ArduinoBoardMini Tabela 03 – Descrição Arduíno MINI Microcontrolador ATMEGA168 Tensão de funcionamento 5V Tensão de entrada V 7-9 E / S Digital Pins 14 (dos quais 6 oferecem saída PWM) Pinos de entrada analógica 8 (dos quais 4 são divididos em pinos) DC Corrente por pino de E / S 40 mA Memória Flash 16 KB (dos quais 2 KB utilizado pelo gerenciador de boot) SRAM 1 KB EEPROM 512 bytes Velocidade do clock 16 MHz Preço R$86,00 Fonte: http://arduino.cc/en/Main/ArduinoBoardMini
  25. 25. 22 D. ARDUÍNO LILYPAD Placa desenvolvida no modelo circular com 50mm de diâmetro, para projetosportáteis, devido ser flexível a mesma pode ser montado até mesmo em um tecido,utilizando uma montagem superficial. Figura 05 - Arduíno LilyPad Fonte: http://arduino.cc/en/Main/ArduinoBoardLilyPad Tabela 04 - Descrição ARDUÍNO LILYPAD Microcontrolador ATMEGA168V ou ATMEGA328V Tensão de funcionamento 2,7-5,5 V Tensão de entrada 2,7-5,5 V E / S Digital Pinos 14 (dos quais 6 oferecem saída PWM) Pinos de entrada analógica 6 DC Corrente por pino de E / S 40 mA Memória Flash 16 KB (dos quais 2 KB utilizado pelo gerenciador de boot) SRAM 1 KB EEPROM 512 bytes Velocidade do clock 8 MHz Preço R$110,00 Fonte: http://arduino.cc/en/Main/ArduinoBoardLilyPad
  26. 26. 23 E. ARDUÍNO BT Placa desenvolvida com base no Microcontrolador Atmega168, com a mesmacapacidade que o Arduíno UNO, porém com a grande vantagem de possuircomunicação sem fio via Bluetooth. Um exemplo que pode ser implementado comesta placa é um sistema que controle um robô, assim o usuário poderá, através deum meio de comunicação totalmente sem fio, gerenciar o robô à distância. Figura 06 – Arduíno BT. Fonte: http://arduino.cc/en/Main/ArduinoBoardBluetooth Tabela 05 – Descrição Arduíno BT. Microcontrolador ATMEGA168 Tensão de funcionamento 5V Tensão de entrada 1,2-5,5 V E / S Digital Pinos 14 (dos quais 6 oferecem saída PWM) Pinos de entrada analógica 6 DC Corrente por pino de E/S 40 mA Corrente DC 3.3V para Pin 50 mA Memória Flash 16 KB (dos quais 2 KB utilizado pelo gerenciador de boot) SRAM 1 KB EEPROM 512 bytes Velocidade do relógio 16 MHz Preço R$399,00 Fonte: http://arduino.cc/en/Main/ArduinoBoardBluetooth
  27. 27. 24 F. ARDUÍNO MEGA O Arduíno MEGA é uma placa modificada com uma grande quantidade deentradas e saída Digitais e analógicas, que possui duas versões microcontroladora,o ATMEGA2560 e o ATMEGA1280, a diferença entre elas é a capacidade dememória flash e gerenciador de boot. Ambas possuem mais capacidade de entradase saídas que as placas anteriores, obtendo um ótimo custo e beneficio, esse é umdos motivos na qual será utilizada a mesma para a construção deste projeto. Figura 07 – Arduíno MEGA. Fonte: http://arduino.cc/en/Main/ArduinoBoardMega2560 Tabela 07 – Descrição Arduíno MEGA. Microcontrolador ATMEGA2560 / ATMEGA1280 Tensão de funcionamento 5V Tensão de entrada (recomendado) 7-12v Tensão de entrada (limites) 6-20V E / S Digital Pins 54 (dos quais 14 oferecem saída PWM) Pinos de entrada analógica 16 DC Corrente por pino de E / S 40 mA Corrente DC 3.3V para Pin 50 mA Memória Flash - ATmega2560 256 KB, dos quais 8KB utilizado pelo gerenciador de boot. Memória Flash – Atmega1280 128 KB, dos quais 4KB utilizado pelo gerenciador de boot. SRAM 8 KB EEPROM 4 KB Velocidade do relógio 16 MHz Preço ATMEGA2560 R$ 220,00 Preço ATMEGA1280 R$ 150,00 Fonte: http://arduino.cc/en/Main/ArduinoBoardMega2560
  28. 28. 25 2.3.2. SHIELDS São placas que são usados para que possa ter um maior gerenciamentojunto ao Arduíno, normalmente são instaladas em cima do próprio Arduíno com ointuito de ocupar menos espaços, mas existem certos modelos que devido ao seutamanho e local são instaladas em caixas apropriadas para o uso. A. SHIELDS MÓDULO RELÉ O módulo Relé é uma placa de circuito que possui componentes, borne e umRelé que são projetados para ativar ou desativar um determinado equipamento,como ventiladores, lâmpadas, liberação de portas e diversos equipamentos quenecessitam de energia para operar, de acordo com a Siemens Para MORIMOTO (2005), O Relé é um dispositivo eletromecânico, formadopor um magneto móvel, que se desloca unindo dois contatos metálicos. O módulo Relé que será utilizado neste projeto irá receber uma carga deentrada de 5volts, que acionará o Relé e libera a energia elétrica para acionar umdispositivo, como uma lâmpada ou até mesmo um ventilador, a energia liberadapode variar entre 110volts e 220volts. Figura 08 – Módulo Relé Fonte: http://sbt.siemens.com/FIS/productdoc/catalogs/3125pr.pdf
  29. 29. 26 B. SHIELDS SENSOR DE TEMPERATURA De acordo com o Glossário de Termos Técnicos, Sensores são “Sofisticadosinstrumentos científicos capazes de detectar e analisar quase tudo que se possaimaginar”. Existem diversos tipos de sensores, neste projeto serão usados somenteo sensores de Temperatura que analisa a temperatura atual e informam a umdispositivo que será armazenado ou exibido em alguma tela. O sensor de temperatura é um componente eletrônico que recebe atemperatura atual do ambiente e envia ao Arduíno em forma de milivolts, assim osistema irá fazer a conversão e tomará as decisões de acordo com a temperatura. OSensor a ser utilizado será o LM35 devido ser o que mais se adaptou com atecnologia Arduíno. Figura 09 – Sensor de Temperatura Fonte: http://www.robotbase.cc
  30. 30. 27 3. METODOLOGIA E FERRAMENTAS Para o desenvolvimento deste projeto, foi utilizado o método dedutivo, e apesquisa teórica para que possa colocar os estudos em prática. Foram pesquisadosdiversos sites para que auxiliassem nos estudos, pois a utilização de plataformasopen hardware e open source são métodos de grande utilização, para se ter umsistema de baixo custo e grande diferencial. Nos tópicos abaixo será detalhado um pouco mais sobre as ferramentas queserão utilizadas para o desenvolvimento do projeto. A. PHP No desenvolvimento da interface deste projeto será utilizada a linguagem descript PHP, pois esta é considerada uma linguagem de fácil compreensão, multiplataforma além do fato de ser uma das linguagens mais utilizadas paraprogramação web. Segundo ULLMAN ( 2001), “PHP é o melhor, mais rápido e maisfácil de aprender que outras linguagens semelhantes”. Para BRAVALHERI (2011), PHP é uma ferramenta de desenvolvimento webde sites dinâmicos, sua linguagem é baseada em scripts. A partir da versão 4 alinguagem PHP recebeu uma Enginer, aplicativo na qual executa os scripts,chamada Zend, que pode ser incorporada em HTML. Foi concebido em 1994 porRasmus Lerdorf que disponibilizou seu código fonte na web, e possibilitava autilização na maior parte dos servidores HTTP. Segundo BRAVALHERI (2011), A vantagem que o PHP possui suporte nativoa uma grande quantidade de banco de dados, como o dBase, Interbase, mSQL,mySQL, Oracle, Sybase, PostgreSQL. Outros serviços podem ser encontradoatravés de protocolos, como o IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP.
  31. 31. 28 B. BANCO DE DADOS MYSQL O Banco de Dados MySQL é um sistema gerenciador de dados desenvolvidoinicialmente para a sistemas web, possui uma grande quantidade de programadoresque utilizam em seus projetos para web a nível mundial, sendo também que um dosfatores que influenciam a sua escolha é devido o mesmo ter sua licença gratuitadisponível no site oficial http://www.mysql.com. Segundo SILVA (2001) O MySQL é um servidor de banco de dados desenvolvido em C de médio porte, que conta com um ótimo sistema de segurança. Sua principal característica é a sua conveniência com o ambiente multiusuário e multitarefa ideal para a internet. O servidor de banco de dados pode ser encontrado em diversas plataformas, entre elas: windows, linux, FreeBSD e Unix. Esse gerenciador possui arquitetura cliente/servidor. O MySQL possui eficiente gerenciador de transações críticas para a gestãode e-commerce online, Data Warehousing, sistema de geração de relatórios esistemas de analises. C. APACHE Será utilizado o Servidor Apache para fornecer um serviço de hospedagem doSAR-WEB, sendo um dos mais utilizado por programadores PHP, possui sua licençagratuita e de código aberto para que possa ser alterado. Para FERNANDO (2011), o servidor Apache foi criado para a interpretação delinguagens WEB, muito utilizado por programadores em PHP. Possui a função de lero programa, e converter fazendo os sistemas rodarem em modo usuário, ou seja,transformando tudo o que foi escrito em linhas de comando para uma forma visual ede interação com os utilizadores do sistema. No inicio o servidor Apache foi criadosomente para a plataforma UNIX podendo ser instalado em sistemas operacionaisrelacionados, como Linux e FreeBSD, atualmente já é possível a instalação emplataforma Windows.
  32. 32. 29 D. WAMPSERVER 2.1E WAMPSERVER é um pacote de instalação do servidor WEB com Apache,PHP e MySql, que já vem pré-configurado, e possui licença gratuita GNU A grandefacilidade de utilização da ferramenta influenciou a sua escolha. “WAMPSERVER é uma plataforma para desenvolvimento Web noWindows. Ele permite que você desenvolva aplicações Web dinâmicas utilizando oservidor Apache 2, a linguagem de script PHP e banco de dados MySQL. Temtambém o PHPMyAdmin para gerenciar mais facilmente seus bancos dedados.”(WAMPSERV). E. C/C++ A linguagem C/C++ será utilizada para que possam ser compilados oscódigos na placa Arduíno, assim poderá ser gerenciada a placa com a linguagem descript PHP. A Linguagem C++ foi desenvolvida por Dennis M. Ritchie no inicio da décadade 70, herdou idéias e características de outras linguagens de programação, como alinguagem BCPL que foi criada por Martin Richards em 1967 e a linguagem B, quefoi criada por Ken Thompson em 1970. SAADE, (2003). Segundo SAADE, (2003) A linguagem C foi desenvolvida nos Laboratórios Bell, por Bjarne Stroustrup no início da década de 1980, com a sua primeira versão liberada em 1985. C++ baseia-se na linguagem C, a qual Stroustrup adicionou características de orientação a objetos, herdadas da linguagem Simula 67. Assim, excluindo-se detalhes, C torna-se um subconjunto de C++. Isso quer dizer que, um programa C é também um programa C++. F. DIA 0.97.1-1 Será utilizado o Dia para a modelagem dos dados devido ser um programagratuito e de fácil uso, possui suporte a maioria dos diagramas. Segundo o site da
  33. 33. 30Info, O DIA é inspirado no programa da Microsoft, o Visio. Ele pode ser usado parao desenho de diferentes tipos de diagramas. Atualmente, tem objetos especiais paraajudar no desenho de diagramas de entidade-relacionamento, UML, gráficos defluxo, diagramas de rede e muitos outros diagramas. G. INTERNET O sistema poderá fornecer um link na internet que o usuário terá o acesso aele como se estivesse em sua residência, possibilitando gerenciá-lo, bastando umaconexão com internet. Possuirá uma ferramenta que fornecera um endereço fixopara o acesso, assim não será necessária à contratação de um endereço fixo para osistema. Segundo ZEVALLOS (2009), A Internet começou em 1969 com o projeto dogoverno americano chamado ARPANET, que tinha como objetivo interligaruniversidades e instituições de pesquisa e militares. Na década de 70 a rede tinhapoucos centros, mas o protocolo NCP, foi visto como inadequado, então, o TCP/IPfoi criado e continua sendo o protocolo base da Internet. No começo a internet tinha poucos fins, Transferência de Arquivos (FTP),acesso de sessões em host (Telnet), e o serviço mais utilizado era o de e-mail. Logona década de 80 se criou a internet que utilizamos hoje. Segundo o Autor Zevallos(2009), Tim Berners-Lee do CERN, lança o WWW no ano de 1991, que foi a basepara que Marc Andreses lança-se o Mosaic para Unix em fevereiro de 1993 e logoem agosto lançaram a versão para o Windows. Como a internet está sendo o principal serviço de conectividade e cada vezmais presente em nossas vidas, a melhor opção do gerenciamento via internetpoderá ser implantado.
  34. 34. 31 H. REDES SEM FIO Para a que o sistema tenha um melhor desempenho quando se encontra ousuário em sua residência será utilizado um Access Point, assim o usuário iráconectar na sua rede e utilizar o sistema com a melhor velocidade possível. Access Point é um dispositivo responsável por fazer a interconexão entre doisdispositivos móveis, e se pode utilizar a intranet para o acesso ao sistema. Rede sem fio trata-se de aplicar a tecnologia wireless como meio decomunicação em uma rede local de computadores, substituindo o cabeamentoconvencional HENZE, ALLAN GABRIEL Apud PAHLAVAN, (2002). Segundo MORAES (2007) “cada Access point pode atender a vários usuáriosna mesma rede e sua área de cobertura fica em torno de 100 metros de raio”. O Access Point possui um sistema de gerenciamento da rede, assim poderáutilizá-la com segurança, para que não tenha problemas com invasões de usuáriosmal intencionados. I. DDNS Conexões do tipo ADSL, Cable Modem, Velox, Speedy e outras formas debanda larga, apesar de muito velozes, têm o inconveniente de fornecer umendereçamento com IP Dinâmico. Ou seja, a cada conexão, o computador terá umIP diferente da conexão anterior. Isto inviabiliza a utilização de Servidores Web, Sistemas de Webmail, VPN,Controles Externos e outros serviços que necessitam de um endereço IP Fixo paraconexão de usuários. O DDNS foi desenvolvido pela Winco para resolver este problema de umaforma extremamente simples de usar. Uma vez instalado, o DDNS cria um nome fixo
  35. 35. 32que passa a representar o IP da conexão do usuário, mesmo que o IP mude,viabilizando serviços essenciais para sua empresa. O DDNS será utilizado para que o SAR-WEB esteja disponível na rede deinternet, assim possibilitando o uso do em locais que tenha acesso a internet. J. VISUAL BASIC 2008 EXPRESS EDITION Segundo a MICROSOFT(2008) o Visual Basic Express Edition, pode se criaraplicativos para o Windows, encontrando uma série de ferramentas poderosas parao desenvolvimento dos projetos. O Visual Basic é uma linguagem de programaçãoque oferece um ambiente de desenvolvimento integrado totalmente gráfico, tornandoassim a criação de interfaces de aplicações mais simples. A linguagem VB, como éconhecida, faz parte do pacote Microsoft Visual Studio. Será utilizado o Visual Basic para o desenvolvimento de uma aplicação para acomunicação entre o Banco de dados e o Arduíno, será feito verificações nostabelas e verificar se houve alterações, sendo assim efetuando as no Arduíno. A aplicação em Visual Basic irá verificar se existe alguma alteração no bancode dados a cada segundo, se houver irá executar os códigos programados. K. JQUERY JQUERY é uma poderosa biblioteca JavaScript criada para simplificar acriação de efeitos visuais e de interatividade em web sites. Segundo SILVA(2008)Desenvolvedores especialistas em JavaScript, ao conhecerem as maravilhas de quea biblioteca é capaz, com certeza vão se perguntar: "Por que não pensei nissoantes?" Iniciantes, com noções rudimentares de JavaScript, experimentarão umacurva de aprendizado inimaginável para aqueles experientes com a linguagem. Será utilizada uma biblioteca de extensão do JQUERY a JQUERY MOBILE,que é destinada para dispositivos móveis, disponibilizando uma interface atraente efuncional para o usuário.
  36. 36. 33 3.1 MODELAGEM DO SISTEMA A modelagem do sistema irá detalhar cada função que o sistema poderá ter,como o acionamento de uma lâmpada, ler e programar a temperatura do ambiente edefinir horários para o acionamento de dispositivos. Será utilizado a UML (Unified Modeling Language) para a modelagem devidoapresenta os diagramas com mais clareza e assim não terá duvidas para odesenvolvimento do sistema. A. UML Para MACORATTI (2006), a UML é um modelo de linguagem paramodelagem de dados, com ela podemos fazer uma modelagem visual de maneiraque os relacionamentos entre os componentes do sistema sejam mais bemvisualizados e compreendidos e documentados. Podemos dizer também que a UMLé uma linguagem para especificar, construir, visualizar e documentar um sistema desoftware que surgiu com a fusão das metodologias já anteriormente usadas e temcomo objetivo. • Modelar sistemas usando os conceitos da orientação a objetos, • Estabelecer um elo explicito entre os artefatos conceituais e os executáveis, • Tratar questões de representar sistemas complexos de missão crítica, • Criar uma linguagem de modelagem que possa ser usada por homens e por máquinas. B. CASO DE USO No Diagrama de caso de uso é onde há possui as interações do sistema como mundo real. Segundo MACORATTI (2006) os diagramas de caso de uso exibem a
  37. 37. 34visão externa do sistema e suas interações com o mundo exterior descrevendo seusrequerimentos e suas responsabilidades e possuem três elementos, que são o Atoro qual se interage com o sistema, o caso de uso que é o comportamento da classe,e a interação que é o envio e recebimento de mensagens da comunicação entre oator e o sistema. Figura 10 – Diagrama de Caso de Uso Fonte: Própria C. DIAGRAMA DE SEQUÊNCIA Diagrama de sequência é usado para detalhas os processos do sistema,assim tendo um melhor entendimento do funcionamento do mesmo. Para MACORATTI (2006) Diagrama de sequência é um diagrama de objetos,ou seja, ele contém como primitiva principal um conjunto de objetos de diferentesclasses. O objetivo dos diagramas de sequência é descrever as comunicaçõesnecessárias entre objetos para a realização dos processos em um sistemacomputacional. Na figura 11, irá detalhar como o usuário efetua os cadastros no formulário decadastro do sistema SAR-WEB.
  38. 38. 35 Figura 11 – Diagrama de Sequência do formulário de cadastro Fonte: PrópriaNa Figura 12, irá detalhar cada operação de acionamento de dispositivo no SAR. Figura – 12 – Diagrama de Sequência do acionamento de dispositivos Fonte: Própria
  39. 39. 36 D. DICIONÁRIO DE DADOS No dicionário de dados será detalhada cada tabela do banco de dados comoas descrições, tipo, atributos e as chaves primárias e secundárias assim ficam demais fácil entendimento cada atributo da tabela.Entidade: TB_UsuárioDescrição: Armazenamento dos dados do Usuário do sistema. Atributo Tipo Dom. Descrição Pk Fk Null Id_Usuario Integer Armazena o código do usuário S N nome_Usuario Varchar Armazena o nome do usuário N login_Usuario Varchar Armazena o login do usuário N senha_Usuario Varchar Armazena a senha do usuário N email_Usuario Varchar Armazena o e-mail do usuário N celular_Usuario Varchar Armazena o número do celular do N usuário Tabela 08 – Tabela Usuários do banco de dados.Entidade: TB_ComodoDescrição: Armazenamento dos dados de cada Cômodo de uma Residência. Atributo Tipo Dom. Descrição Pk Fk Null id_Comodo Integer Armazena o código do cômodo S N nome_Comodo Varchar Armazena o nome do cômodo N Tabela 09 – Tabela Cômodo do banco de dados.Entidade: TB_DispositivoDescrição: Armazenamento dos dados de cada Dispositivo. Atributo Tipo Dom. Descrição Pk Fk Null id_dispositivo Integer Armazena o código do dispositivo S Nnome_dispositivo Varchar Armazena o nome do dispositivo N tipo_Dispositivo Varchar Armazena o tipo do dispositivo Nporta_Dispositivo Varchar Armazena a porta que o dispositivo esta N instalado. id_Comodo Integer Armazena o código do cômodo S N Tabela 10 – Tabela Dispositivo do banco de dados.Entidade: TB_temperaturaDescrição: Armazenamento a Temperatura. Atributo Tipo Dom. Descrição Pk Fk Null id_temperatura Integer Armazena o código do dispositivo S N Temperatura Varchar Armazena o nome do dispositivo NdataTemperatura Varchar Armazena o tipo do dispositivo N Tabela 11 – Tabela Temperatura do banco de dados.
  40. 40. 37 E. DIAGRAMA DE ENTIDADE RELACIONAL Modelado os dados, para que possam ser mais bem compreendidos osrelacionamentos entre as tabelas do banco de dados, se tornando um documentomais organizado e de fácil entendimento. Figura 13 – Diagrama de Entidade Relacional Fonte: Própria
  41. 41. 38 4. FUNCIONAMENTO DO SISTEMA Para o funcionamento do sistema será necessário a utilização de umaplicativo que foi desenvolvido em Visual Basic (SAR-LOCAL) que fará umacomunicação com o Arduíno da seguinte forma: • Verificando a cada segundo se existe alguma modificação no banco de dados que é manipulado pelo PHP, caso exista irá efetuá-las no Arduíno. • Recebe a temperatura atual do ambiente a cada segundo e armazena na tabela tb_temperatura do Banco de Dados. A imagem abaixo ilustra a montagem dos dispositivos para o funcionamentodo Sistema. Figura 14 – Funcionamento do Sistema.
  42. 42. 39 Fonte: Própria A. COMPONENTES DO SISTEMA Na tabela abaixo estão os equipamentos necessários para que o sistemaSAR funcione. Quantidade Descrição Preço Orçamento 1 Arduíno Mega 1280 com Cabo USB R$ 150,00 Mercado Livre 1 Shields Relé 5 v/110 v 8 Relé R$ 150,00 Mercado Livre 1 Pacote Cabos ligação R$ 30,00 Mercado Livre 2 Lâmpada 110 v R$ 18,00 Dom Bosco Mat. 1 Interruptor Paralelo R$5,00 Dom Bosco Mat. 1 Tomada R$8,00 Dom Bosco Mat. 2 Soquete para a Lâmpada R$ 10,00 Dom Bosco Mat. 1 Shields Temperatura LM35 R$ 25,00 Mercado Livre Computador com Sistema 1 Operacional Windows R$ 600,00 Mercado Livre 1 Access Point (Roteador Sem Fio) R$ 100,00 Mercado Livre 1 Tablet Android R$ 300,00 Mercado Livre Total R$ 1.396,00 Tabela de Preços dos Componentes do Sistema B. ACESSO AO SISTEMA O acesso ao sistema por dispositivos móveis será restrito, devido àincompatibilidade do tamanho da tela, não será possível acessar as páginas decadastro, sendo disponíveis somente as de gerenciamento para que possaligar/desligar e ler a temperatura. Já o acesso ao SAR pelo computador serácompleto, não tendo nenhuma restrição. C. PROJETOS FUTUROS Os projetos futuros é a implantação de módulos para que possa agendardispositivos a executar determinadas tarefas em um exato momento, possibilitandomaior segurança e comodidade ao usuário final e tornando o sistema cada vez maisrobusto.
  43. 43. 40 Serão implantados sensores de movimento para que detecte oscilações naresidência, assim enviado mensagens para os celulares e emails dos usuários. A implantação de um módulo Shields Ethernet no Arduíno, para que possa secomunicar com a rede local sem a necessidade de um computador, assim serámontado um servidor web diretamente na Shields, possibilitando uma economiamaior de energia. Figura 15 – Shields Ethernet acoplada no Arduíno Mega Fonte: http://blog.derouineau.fr/tag/ethernet-shield/
  44. 44. 41 5. RESULTADOS Neste capítulo serão mostradas as telas do sistema em funcionamento comdetalhes de cada uma delas. Página de LOGIN para ter acesso ao sistema SAR-WEB, com os dadoscadastrados no banco de dados. Figura 16 – Tela de Login do Sistema Fonte: SAR-WEB
  45. 45. 42 Página inicial do Sistema, com opções de Cadastro, Gerenciamento e fazerLOGOUT, contendo o nome do usuário logado ao sistema. Figura 17 – Tela Inicial do Sistema Fonte: SAR-WEB
  46. 46. 43 Tela de Cadastros, nela é exibida todos os cadastros do sistema como:Cômodo, Dispositivo e Usuário. Figura 18 – Tela de Cadastros Fonte: SAR-WEB
  47. 47. 44 Nesta Página são exibidos todos os cômodos cadastrados no SAR-WEB,possui as opções de adicionar, excluir e editar cômodos. Figura 19 – Tela de Cômodos Cadastrados Fonte: SAR-WEB
  48. 48. 45 Cadastros de Cômodos, nesta página serão cadastrados todos os cômodosexistentes na residência. Figura 20 - Tela de Cadastro de Cômodos Fonte: SAR-WEB
  49. 49. 46Tela de Edição do Cômodo Cadastrado no Banco de dados do SAR-WEB. Figura 21 – Tela de Edição de Cômodos Fonte: SAR-WEB
  50. 50. 47 Página dos Dispositivos Cadastrados no Banco de Dados do SAR-WEB nelatem as opções somente de Editar, devido os dispositivos já são pré-configurados nosistema. Figura 22 – Tela de exibição dos Dispositivos Fonte: SAR-WEB
  51. 51. 48 Página de Edição de Dispositivos, nela só é possível a modificação daDescrição do Dispositivo e o Cômodo que o mesmo se Encontra, devido o tipo,Porta Arduíno está pré – configurado no sistema. Figura 23 – Tela de Edição de Dispositivos Fonte: SAR-WEB
  52. 52. 49 Página dos Usuários cadastrados no Banco de Dados SAR-WEB, nela tem asopções de Cadastrar Novo Usuário, Editar e Excluir. Figura 24 – Tela de Usuários Cadastrados Fonte: SAR-WEB
  53. 53. 50 Página de Cadastrar Usuário, serão fornecidos pelos usuários os dados paraque efetue o cadastro no Banco de Dados do SAR-WEB, sendo de sumaimportância, devido fica armazenado os dados de login para o usuário utilizar a cadamomento que tenha acesso ao sistema. Figura 25 – Tela de Cadastro de Usuário Fonte: SAR-WEB
  54. 54. 51 Página de Edição de Usuários, nela é feita a edição de dados cadastrais dosusuários que estão armazenados no Banco de Dados do SAR-WEB. Figura 26 – Tela de Edição de Usuários Fonte: SAR-WEB
  55. 55. 52 Página de Gerenciamento, nela são exibidos todos os Cômodos cadastradono SAR-WEB. Possui uma função especial, a de desligar todos os Dispositivos doSistema. Função importante, pois caso o usuário deseja sair da residência e omesmo não deseja ir desligando todos os dispositivos um de cada vez, basta clicarno botão Desligar Tudo. Figura 27 – Tela principal de Gerenciamento Fonte: SAR-WEB
  56. 56. 53 Página para gerenciar dispositivos cadastrados no Cômodo Selecionado, nelaserá exibida todos os dispositivos que estão cadastrados no SAR-WEB e vinculadosao Cômodo desejado, nesse Caso só aparece os Relés. Figura 28 – Tela de Exibição do Dispositivo Cadastrado ao Cômodo Fonte: SAR-WEB
  57. 57. 54Página para ligar/desligar o dispositivo cadastrado ao SAR-WEB. Figura 29 – Tela de Gerenciamento do dispositivo Fonte: SAR-WEB
  58. 58. 55 Página para gerenciar dispositivos cadastrados no Cômodo Selecionado, nelaserão exibido todos os dispositivos que estão cadastrados no SAR-WEB evinculados ao Cômodo desejado, nesse Caso só aparece a Temperatura. Figura 30 – Tela de Exibição do Dispositivo Cadastrado ao Cômodo Fonte: SAR-WEB
  59. 59. 56 Página de exibição da Temperatura atual do ambiente que foi instalado, atemperatura é atualizada a cada segundo, sendo assim informando ao usuário acada variação. Figura 31 – Tela de Exibição da Temperatura do Ambiente Fonte: SAR-WEB
  60. 60. 57 Aplicativo em Visual Basic, ele é quem faz a comunicação do banco de dadosao Arduíno, cada modificação feita no banco de dados ele verifica e envia para oArduíno, fazendo as modificações solicitadas pelo usuário. Figura 32 – Tela do SAR-LOCAL Fonte: Própria
  61. 61. 58 Sistema SAR-LOCAL em Execução no computador que o Arduíno estáconectado, assim o mesmo irá gerenciar os dispositivos conectados ao Arduínocomo relés e sensor de temperatura. Figura 33 – Tela do SAR-LOCAL em Execução Fonte: Própria
  62. 62. 59 Tela do sistema em funcionamento na Barra de Tarefas com menu abertoapós clicar com o botão direito do mouse sobre o ícone. Figura 34 – Tela do SAR-LOCAL na Barra de Tarefas Fonte: Própria
  63. 63. 60 A figura abaixo mostra a maquete de uma parede para demonstrar afuncionalidade do sistema, possuindo duas lâmpadas, duas tomadas padrão, umatomada de ar condicionado, um interruptor paralelo, ao lado possui um tablet e umnotebook acessando o SAR-WEB. Figura 35 – Maquete Fonte: Própria
  64. 64. 61CONCLUSÃO Este projeto foi desenvolvido para que haja um grande avanço tecnológico emresidências, visando o menor custo possível, assim pessoas de diversas classespoderão adquirir o mesmo para serem implantados em suas residências. No projeto,estão sendo utilizadas plataformas open hardware e open source. A utilização deplataformas open hardware é baseada no Arduíno MEGA1280, junto com as Shieldsse torna um microcontrolador de alto gerenciamento. O simples fato de ligar e desligar uma lâmpada foram implementados paraque um computador e até mesmo um dispositivo móvel possa gerir de forma simplese objetiva. O microcontrolador Arduíno utilizado está cada vez mais se propagandono mundo, trazendo os objetos do mundo real para o mundo virtual, ou seja,tornando tudo digital e garantindo grandes avanços tecnológicos. Visando custo e beneficio usuários poderão implantar o sistematranquilamente, devido ao custo baixo dos recursos a serem utilizados e aquantidade de benefícios que o sistema irá trazer são enormes. A utilização da plataforma web se propiciou, pois se tornou um sistema defácil acesso, sendo que qualquer plataforma com sistema operacional poderáacessar e gerir os dispositivos instalados no SAR. Ressaltando que em projetos futuros serão implementados módulos para quepossa adaptar o SAR com as tecnologias que vão surgindo no mercado, a utilizaçãodos sensores poderá garantir cada vez mais segurança ao usuário, a ShieldsEthernet irá evitar o uso de um computador local com um servidor instalado.
  65. 65. 62REFERÊNCIAS BIBLIOGRÁFICASARDUÍNO, Introdução ao Arduíno. Disponível em:http://www.arduino.cc/en/Guide/Introduction. Acessado em 10 de Abril de 2011.ARDUÍNO SERIAL, Arduíno Board – Interface Serial. Disponível em:http://arduino.cc/en/Main/ArduinoBoardSerial. Acessado em 10 de Abril de 2011.ARDUÍNO UNO, Arduíno Board – Interface UNO. Disponível em:http://arduino.cc/en/Main/ArduinoBoardUno. Acessado em 13 de Abril de 2011.ARDUÍNO MINI, Arduíno Board – Interface MINI. Disponível em:http://arduino.cc/en/Main/ArduinoBoardMini. Acessado em 12 de Abril de 2011.ARDUÍNO LILYPAD, Arduíno Board – Interface LILYPAD. Disponível em:http://arduino.cc/en/Main/ArduinoBoardLilyPad. Acessado em 12 de Abril de 2011.ARDUÍNO BLUETOOTH, Arduíno Board – Interface BLUETOOTH. Disponível em:http://arduino.cc/en/Main/ArduinoBoardBluetooth. Acessado em 13 de Abril de 2011.ARDUÍNO MEGA, Arduíno Board – Interface MEGA. Disponível em:http://arduino.cc/en/Main/ArduinoBoardMega2560. Acessado em 13 de Abril de2011.ALECRIM, E. INFOWESTER (2006), Creative Commons: Por que usar?.Disponível em: http://www.infowester.com/creativecommons.php. Acessado em 26Maio 2011.BORTOLI, J. D. GuiFar (2009), Sistemas Operacionais de Código Aberto.Disponível em:http://www.guiafar.com.br/portal/index.php?option=com_content&view=article&id=47%3Asistemas-operacionais-de-codigo-aberto&catid=43%3Atecnologia-da-informacao&Itemid=169&lang=pt. Acessado em 22 Maio 2011.
  66. 66. 63BRAVALHERI, Anderson, Curso PHP. Disponível em: UNICAMP:http://www.jr3e.fee.unicamp.br/Home/index.php?option=com_content&view=article&id=55&Itemid=59. Acessado em 16 de maio de 2011.BOEIRA, Marcelo, Arduíno. Disponível em:http://sites.google.com/site/marceloboeirajr/tutoriais/eletronica-senai/arduino.Acessado em 2 de maio de 2011,CAMPOS, Augusto. O que é Software Livre. BR-Linux. Disponível em: BR-Linux:http://br-linux.org/linux/faq-softwarelivre. Acessado em 22 de maio de 2011HENZE, ALLAN GABRIEL Apud PAHLAVAN, 2002. Disponível em ULBRA:http://guaiba.ulbra.tche.br/wp-content/uploads/2011/04/trabalho_allan.pdf. Acessadoem 12 de maio de 2011SANTOS, Nilson Moutinho dos, O que é Domótica. Disponível em:http://www.din.uem.br/ia/intelige/domotica/int.htm. Acessado em 07 de agosto de2011.MACORATTI, José Carlos (2006), UML - Unified Modeling Language e VisualModeler. Disponível em: http://www.macoratti.net/uml_vb.htm. Acessado em 27Maio 2011.MORAES, Alexandre Fernandes , Redes de Computadores: Fundamentos -5ªEdição- São Paulo, 2007-Editora Érica.GREGO, Maurício. O hardware em código aberto. Info Abril, 2009. Disponível em:http://info.abril.com.br/professional/tendencias/hardware-livre-leve-e-solto.shtml?2.Acessado em 22 Maio 2011.MORIMOTO, Carlos. LGPL. hardware, 2005. Disponível em:http://www.hardware.com.br/termos/lgpl. Acessado em 23 Maio 2011.MICROSOFT, Visual Basic 2008 Express Edition. Disponível em:http://codigofonte.uol.com.br/download/programacao/visual-basic/visual-basic-2008-express-edition. Acessado em 24 de novembro de 2011.
  67. 67. 64OLHAR DIGITAL (2011), Arduíno: robótica para iniciantes. Disponível emhttp://olhardigital.uol.com.br/produtos/central_de_videos/arduino-robotica-para-iniciantes. Acessado em 29 de abril de 2011.SAADE, J. Programando e C++. São Paulo: Novatec Editora Ltda, 2003.SACSTECH CONSULTORIA E SERVIÇOS, Open Source. Disponível emhttp://www.sacstech.com.br/index.php?option=com_content&view=article&id=28&Itemid=36. Acessado em 22 de Maio de 2011.SIEMENS, Módulo de Relé Suplementar para o Sistema . Disponível emhttp://sbt.siemens.com/FIS/productdoc/catalogs/3125pr.pdf. Acessado em 21 de abrilde 2011.SILVA, M. S. (2008). JQUERY - A Biblioteca do Programador JavaScript.Novatec, edição 2° .WINCO TECNOLOGIA E SISTEMAS, DDNS. Disponível emhttp://www.winco.com.br/ddns. Acessado em 18 de outubro 2011.WERNECK, P. Introdução ao Arduíno.Disponível em:http://www.sabereletronica.com.br/secoes/leitura/1307. Acessado em 14 Maio 2011.ZEVALLOS, Ruben. A História Da Internet. Disponível em:http://www.artigonal.com/ti-artigos/a-historia-da-internet-737117.html . Acessado em26 Abril 2011.
  68. 68. 65APÊNDICES
  69. 69. 66 1. CÓDIGO FONTE DO SISTEMA-- Estrutura da tabela `tb_dispositivo`--CREATE TABLE `tb_dispositivo` ( `id_Dispositivo` int(2) NOT NULL auto_increment, `descricao_Dispositivo` varchar(45) default NULL, `tipo_Dispositivo` varchar(45) default NULL, `porta_arduino` int(2) default 0, `parametros_Dispositivo` varchar(1) NOT NULL default 0, `id_comodo` int(2) NOT NULL, PRIMARY KEY (`id_Dispositivo`), KEY `fk_comodo` (`id_comodo`), KEY `fk_porta` (`porta_arduino`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;---- Extraindo dados da tabela `tb_dispositivo`--INSERT INTO `tb_dispositivo` (`id_Dispositivo`, `descricao_Dispositivo`, `tipo_Dispositivo`,`porta_arduino`, `parametros_Dispositivo`, `id_comodo`) VALUES(1, Tomada Ar Condicionado, Rele, 31, 0, 6),(2, Tomada 1, Rele, 32, 0, 2),(3, Tomada 2, Rele, 33, 0, 2),(4, Relevazio, Rele, 34, 0, 2),(5, Rele, Rele, 35, 0, 2),(6, Lâmpada Normal, Rele, 36, 1, 6),(7, Lâmpada Com Interruptor Paralelo, ReleParalelo, 37, 1, 6),(8, Temperatura, Temperatura, 5, 0, 6);-- ---------------------------------------------------------- Estrutura da tabela `tb_temperatura`--
  70. 70. 67---- Estrutura da tabela `tb_dispositivo`--CREATE TABLE `tb_dispositivo` ( `id_Dispositivo` int(2) NOT NULL auto_increment, `descricao_Dispositivo` varchar(45) default NULL, `tipo_Dispositivo` varchar(45) default NULL, `porta_arduino` int(2) default 0, `parametros_Dispositivo` varchar(1) NOT NULL default 0, `id_comodo` int(2) NOT NULL, PRIMARY KEY (`id_Dispositivo`), KEY `fk_comodo` (`id_comodo`), KEY `fk_porta` (`porta_arduino`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;---- Extraindo dados da tabela `tb_dispositivo`--INSERT INTO `tb_dispositivo` (`id_Dispositivo`, `descricao_Dispositivo`, `tipo_Dispositivo`,`porta_arduino`, `parametros_Dispositivo`, `id_comodo`) VALUES(1, Tomada Ar Condicionado, Rele, 31, 0, 6),(2, Tomada 1, Rele, 32, 0, 2),(3, Tomada 2, Rele, 33, 0, 2),(4, Relevazio, Rele, 34, 0, 2),(5, Rele, Rele, 35, 0, 2),(6, Lâmpada Normal, Rele, 36, 1, 6),(7, Lâmpada Com Interruptor Paralelo, ReleParalelo, 37, 1, 6),(8, Temperatura, Temperatura, 5, 0, 6);-- ------------------------------------------------------------ Estrutura da tabela `tb_temperatura`--CREATE TABLE `tb_temperatura` ( `id_temperatura` int(10) NOT NULL auto_increment, `temperatura` varchar(2) NOT NULL, `dataTemperatura` varchar(20) NOT NULL, PRIMARY KEY (`id_temperatura`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;---- Extraindo dados da tabela `tb_temperatura`---- ------------------------------------------------------------ Estrutura da tabela `tb_usuario`--CREATE TABLE `tb_usuario` ( `id_Usuario` int(11) NOT NULL auto_increment, `nome_Usuario` varchar(28) default NULL, `login_Usuario` varchar(8) default NULL, `senha_Usuario` varchar(8) default NULL, `email_Usuario` varchar(40) default NULL, `celular_Usuario` varchar(10) default NULL, PRIMARY KEY (`id_Usuario`), UNIQUE KEY `login_usuario` (`login_Usuario`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;---- Extraindo dados da tabela `tb_usuario`--INSERT INTO `tb_usuario` (`id_Usuario`, `nome_Usuario`, `login_Usuario`, `senha_Usuario`,`email_Usuario`, `celular_Usuario`) VALUES(7, Kassiano Henrique pretto, pretto, admin, kassiano@sar.com, 0987654321),
  71. 71. 68(28, Sar Web, sar, sar, sar@sar.com, 6981188765);PASTA PRINCIPAL DO SISTEMAINDEX.PHP<!--Validar SESSÃO--><?php require validar.php; /*Verifica qual tipo de dispositivo, caso for movel redireciona automaticamente para a paginade gerenciameto*/ require_once(plugin/mobile_device_detect.php); mobile_device_detect(true,true,true,true,true,true,true,DispositivoMovel.php,false);?><!DOCTYPE html><html><head> <!-- Declaração dos Jquery e Jquery movile, e o titulo da pagina--> <title>SAR - Sistema de Automação Residencial WEB</title> <link href="plugin/jquery.mobile-1.0a4.1.min.css" rel="stylesheet"/> <script type="text/javascript" src="plugin/jquery-1.5.2.min.js" ></script> <script type="text/javascript" src="plugin/jquery.mobile-1.0a4.1.min.js"></script></head> <!-- fim header --><body><div data-role="page"> <div data-role="header"> <!--Titulo da Pagina--> <h1>Sistema de Automação Residencial</h1> <!--Fazer Logout do sistema--> <a href="logout.php" data-icon="gear" data-iconpos="notext" data-direction="reverse" class="ui-btn-right jqm-home" rel="external">sair</a> </div> <!---------------------------------------------------------------------------------> <div data-role="content"> <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b"> <!--Ir para pagina de Cadastros--> <li><a href="cadastros.php" rel="external">Cadastro</a></li> <!--Ir para pagina de gerenciar--> <li><a href="gerenciar/index.php" rel="external">Gerenciamento</a></li> </ul> </div> <!-- /content --> <!-------------------------------------------------------------------> <div data-role="footer"> <!--Imagem de Rodape--> <div align="center"> <img src="img/By KHOP.png"/> </div> <?php /*Exibir o nome do Usuario Logado*/ echo Usuário :; session_start(); echo $_SESSION[nome_UserLogar]; ?> </div> <!-- fim footer --></div><!-- fim page --></body>
  72. 72. 69</html>Login.php<!DOCTYPE html><html> <head> <title>SAR - Sistema de Automação Residencial WEB</title> <!--Declaração das bibliotecas do Jquery e Jquery Mobile--> <link href="plugin/jquery.mobile-1.0a4.1.min.css" rel="stylesheet"/> <script type="text/javascript" src="plugin/jquery-1.5.2.min.js" ></script> <script type="text/javascript" src="plugin/jquery.mobile-1.0a4.1.min.js"></script> </head><body><div data-role="page" id="login"> <div data-role="header"> <h1>Login</h1> </div><!----------Dados para fazer Login no sistema --------------------------------------> <form action="fazerlogin.php" method="POST" > <div data-role="content"> <label for="login">Login :</label> <input id="login" name="login" type="text"/> <label for="senha">Senha :</label> <input id="senha" name="senha" type="password"/> </div><!-----Botoes de Login e Limpar formulario-------------------------------------------><div class="ui-body ui-body-a"> <fieldset class="ui-grid-a"> <div class="ui-block-a"> <a rel="external"><button type="submit" data-theme="a"rel="external">Logar</button></a> </div> <div class="ui-block-b"> <a rel="external"><button type="reset" data-theme="a"rel="external">Limpar</button></a> </div> </fieldset></div> <!--Imagem de Rodape do site--> <div data-role="footer" align="center"> <img src="img/By KHOP.png"/> </div><!-- /footer --></div><!-- /page --></form></body></html>Conecta.php<?php/*Conectar ao Banco de Dados do SAR*/$conectarbanco = mysql_connect("localhost", "root", "");$nomeBD="bdsar";$db = mysql_select_db($nomeBD,$conectarbanco);if (!$conectarbanco){ die("Não Foi possível conectar ao Banco de Dados ". mysql_error());
  73. 73. 70}if (!$db) { die("O Banco de Dados ".$nomeBD." Não Foi Encontrado <br/>");}?>FazerLogin.php<!DOCTYPE html><html> <head> <title>SAR - Sistema de Automação Residencial WEB</title> <!--Declaração dos script jquery e jquery mobile--> <link href="plugin/jquery.mobile-1.0a4.1.min.css" rel="stylesheet"/> <script type="text/javascript" src="plugin/jquery-1.5.2.min.js" ></script> <script type="text/javascript" src="plugin/jquery.mobile-1.0a4.1.min.js"></script> </head><body><div data-role="page" > <!--Titulo da Pagina--> <div data-role="header"> <h1>Login</h1> </div><div data-role="content"><?phpinclude "conecta.php"; //pega os dados de login do usuario $loginLogar = $_POST[login]; $senhaLogar = $_POST[senha]; //consulta se o usuario existe $consultaUsuario = mysql_query("SELECT * FROM tb_usuario WHERE login_Usuario =$loginLogar"); $exibirUsuario=mysql_fetch_assoc($consultaUsuario); // faz a contagem de quantos usuario encotrou no banco de dados $row= mysql_num_rows($consultaUsuario); if($row==1){//se encontrou 1 usuario entao irá verificar se a senha é a mesma do usuario if($senhaLogar == $exibirUsuario[senha_Usuario]){ session_start();//inicia as sessões e grava as informações do usuario $_SESSION[id_UserLogar] = $exibirUsuario[id_Usuario]; $_SESSION[nome_UserLogar] = $exibirUsuario[nome_Usuario]; $_SESSION["ultimoAcesso"]= date("Y-n-j H:i:s"); // pegando o horario atual daautenticação mysql_close($conectarbanco);//fecha a conexao com o banco de dados header("Location: index.php"); } else{// caso a senha for invalida exibe a mensagem e envia para a pagina de loginnovamente echo Senha Invalida!!!; echo<meta http-equiv="refresh" content="2; URL=index.php"> <!--rediricionamento automatico da pagina -->; } } else{ echoUsuario não existe!!!;// caso o usuario for invalida exibe a mensagem e enviapara a pagina de login novamente echo <meta http-equiv="refresh" content="2; URL=index.php"> <!--rediricionamentoautomatico da pagina -->; }
  74. 74. 71?> </div><!--------------------------------------------------------------------------------------------------------------------> <div data-role="footer" align="center"> <img src="img/By KHOP.png"/> </div><!-- fim footer --></div><!-- fim page --></body></html>Validar.php<?php // Inicia sessões session_start(); // Verifica se existe os dados da sessão de login if( empty ($_SESSION[id_UserLogar]) ){ // Usuário não logado! Redireciona para a página de login!isset($_SESSION[id_UserLogar]) || header("Location: login.php"); exit; } else { //senão, calculamos o tempo transcorrido $dataSalva = $_SESSION["ultimoAcesso"]; $agora = date("Y-n-j H:i:s"); $tempo_transcorrido = (strtotime($agora)-strtotime($dataSalva)); //comparamos o tempo transcorrido if($tempo_transcorrido >= 600) { //se passaram 10 minutos ou mais session_destroy(); // destruo a sessão header("Location: login.php"); //envio ao usuário à página de autenticação //senão, atualizo a data da sessão }else { $_SESSION["ultimoAcesso"] = $agora; } }?>Logout.php<!--Faz Logout do Sistema--><?php//INICIALIZA A SESSÃOsession_start();//DESTRÓI AS VARIÁVEISunset($_SESSION[id_UserLogar]);unset($_SESSION[nome_UserLogar]);//REDIRECIONA PARA A TELA DE LOGINheader("Location: login.php");?>
  75. 75. 72Cadastro.php<?php/*Valida se o usuario esta logado*/require validar.php;?><!DOCTYPE html><html> <head> <title>SAR - Sistema de Automação Residencial WEB</title> <link href="plugin/jquery.mobile-1.0a4.1.min.css" rel="stylesheet"/> <script type="text/javascript" src="plugin/jquery-1.5.2.min.js" ></script> <script type="text/javascript" src="plugin/jquery.mobile-1.0a4.1.min.js"></script> </head><body><div data-role="page"> <!--titulo da pagina--> <div data-role="header"> <h1>Sistema de Automação Residencial</h1> </div><!-- /header --> <div data-role="footer" class="ui-bar"> <!--Ir para pagina inicial--> <a href="index.php" data-icon="home" data-iconpos="notext" data-direction="reverse"class="ui-btn-right jqm-home" rel="external">Pagina Inicial</a> <!--Voltar a pagina anterior--> <a data-role="button" data-icon="back" data-iconpos="notext" data-theme="a" data-inline="true"rel="external" onClick="history.go(-1)">Voltar</a> </div><!-- /header --><!-----------------------------------------------------------------------------------------> <div data-role="content"> <!--Links para acessar as paginas de Dispositivos, Comodos e Usuarios--> <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="b"> <li><a href="dispositivo/comodos/indexcomodo.php"rel="external">Comodo</a></li> <li><a href="dispositivo/indexdispositivo.php"rel="external">Dispositivo</a></li> <li><a href="usuario/indexusuario.php" rel="external">Usuário</a></li> </ul> </div><!-- /content --><!---------------------------------------------------------------------------------------> <div data-role="footer"> <div align="center"> <img src="img/By KHOP.png"/> </div> </div><!-- /footer --></div><!-- /page --></body></html>

×