SlideShare une entreprise Scribd logo
1  sur  161
FACULDADE DE INFORMÁTICA DE OURO PRETO
                DO OESTE - FIOURO




       KASSIANO HENRIQUE DE OLIVEIRA PRETTO




SISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA
            OPEN HARDWARE E OPEN SOURCE




                 Ouro Preto do Oeste
                        2011
KASSIANO HENRIQUE DE OLIVEIRA PRETTO




SISTEMA 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
KASSIANO HENRIQUE DE OLIVEIRA PRETTO




       SISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA
                        OPEN HARDWARE E OPEN SOURCE




Trabalho de Conclusão de Curso apresentado à Faculdade de Ouro Preto do
Oeste – UNEOURO, em 13/12/2011, para obtenção de grau acadêmico de Bacharel
em 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
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.
"Ter coragem não é algo que requeira qualificações excepcionais, fórmulas mágicas ou
combinaçõ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 )
RESUMO



O presente trabalho tem como objetivo o desenvolvimento de um sistema para que
gerencie aparelhos elétricos de uma residência de maneira digital, assim irá oferecer
mais conforto e segurança aos usuários. O simples fato de uma pessoa ter que se
levantar para ligar ou desligar um interruptor de uma lâmpada, pode ser
implementado com um SAR (Sistema de Automação Residencial), que é tudo o que
se automatiza em uma residência de maneira manual para automática ou digital. O
desenvolvimento 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á se
propagar em diversos níveis de classes sociais. O sistema será baseado em duas
plataformas, cliente e servidor, sendo que a cliente será disponibilizada um site o
SAR-WEB, para que o usuário possa utilizar para gerir a sua residência de qualquer
plataforma 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 assim
enviando comandos para um microcontrolador Arduíno com as Shields relés e
temperatura.

Palavras Chaves: Conforto, Segurança, Dispositivo Móvel, Residência.
ABSTRACT



This study aims to develop a system to manage appliances in a home so digital, so
will offer more comfort and safety for users. Just because a person has to get up to
turn a switch on a lamp, can be implemented with a SAR (Home Automation
System), 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 at
different levels of social classes. The system is based on two platforms, one client
and one server, and the customer will be provided a web-site SAR, so that the user
can use to manage your home on any platform that has Internet access, the server
version what is the SAR-LOCAL will be installed on the computer that will run the
web 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 relays
and temperature.

Keywords: Comfort, Safety, Mobile Device, Home.
LISTA DE FIGURAS




Figura 01 – Desenho Gráfico do Arduíno                             18
Figura 02 – Arduíno Serial                                         19
Figura 03 – Arduíno UNO                                            20
Figura 04 – Arduíno MINI                                           21
Figura 05 – Arduíno LilyPad                                        22
Figura 06 – Arduíno BT                                             23
Figura 07 – Arduíno MEGA                                           24
Figura 08 – Módulo Relé                                            25
Figura 09 – Sensor de Temperatura                                  26
Figura 10 – Diagrama de Caso de Uso                                34
Figura 11 – Diagrama de Sequência do formulário de Cadastro        35
Figura 12 – Diagrama de Sequência do acionamento de dispositivos   35
Figura 13 – Diagrama de Entidade Relacional                        37
Figura 14 – Funcionamento do Sistema                               38
Figura 15 – Shields Ethernet acoplada no Arduíno MEGA              40
Figura 16 – Tela de Login do Sistema                               41
Figura 17 – Tela Inicial do Sistema                                42
Figura 18 – Tela de Cadastros                                      43
Figura 19 – Tela de Cômodos Cadastrados                            44
Figura 20 – Tela de Cadastro de Cômodos                            45
Figura 21 – Tela de Edição de Cômodos                              46
Figura 22 – Tela de exibição dos Dispositivos                      47
Figura 23 – Tela de Edição de Dispositivos                         48
Figura 24 – Tela de Usuários Cadastrados                           49
Figura 25 – Tela de Cadastro de Usuarios                           50
Figura 26 – Tela de Edição de Usuários                             51
Figura 27 – Tela principal de Gerenciamento                        52
Figura 28 – Tela de Exibição do Dispositivo Cadastrado ao Cômodo   53
Figura 29 – Tela de Gerenciamento do Dispositivo                   54
Figura 30 – Tela de Exibição do Dispositivo Cadastrado ao Cômodo   55
Figura 31 – Tela de Exibição da Temperatura do Ambiente   56
Figura 32 – Tela do SAR-LOCAL                             57
Figura 33 – Tela do SAR-LOCAL em Execução                 58
Figura 34 – Tela do SAR-LOCAL na Barra de Tarefas         59
Figura 35 – Maquete                                       60
LISTA DE ABREVIATURAS E SIGLAS




1. PHP - Hypertext Preprocessor
2. PIC - Programmable Interface Controller
3. I/O - Input/output
4. SAR - Sistema de Automação Residencial
5. GNU GPL - General Public License
6. BSD - Berkeley Software Distribution
7. LGPL - Lesser General Public License
8. DLL - Dynamic-link library
9. USB - Universal Serial Bus
10. V – Volts
11. PWM - Pulse Width Modulation
12. mA – miliAmperes
13. Mhz - mega-hertz
14. KB - Kilobyte
15. HTML - HyperText Markup Language
16. HTTP - Hypertext Transfer Protocol
17. IMAP - Internet Message Access Protocol
18. SNMP - Simple Network Management Protocol
19. NNTP - Network News Transfer Protocol
20. POP3 - Post Office Protocol
21. NCP - Network Control Protocol
22. FTP - File Transfer Protocol
23. WWW - World Wide Web
SUMÁRIO




INTRODUÇÃO .................................................................................................................................... 10

2.        AUTOMAÇÃO RESIDENCIAL ..................................................................................................... 11

2.1           OPEN HARDWARE E OPEN SOURCE ..................................................................................... 13

2.2           HARDWARE UTILIZADO........................................................................................................ 16

2.3.1.            ARDUÍNO ......................................................................................................................... 16

2.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 ............................................................................................................................ 24

2.3.3.            SHIELDS ............................................................................................................................ 25
     A.           SHIELDS MÓDULO RELÉ ................................................................................................................. 25
     B.           SHIELDS SENSOR DE TEMPERATURA ............................................................................................. 26

3.        METODOLOGIA E FERRAMENTAS ............................................................................................ 27

A.        PHP ........................................................................................................................................... 27

B.        BANCO DE DADOS MYSQL........................................................................................................ 28

C.        APACHE .................................................................................................................................... 28

D.        WAMPSERVER 2.1E .................................................................................................................. 29

E.        C/C++ ........................................................................................................................................ 29

F.        DIA 0.97.1-1.............................................................................................................................. 29

G.        INTERNET.................................................................................................................................. 30

H.        REDES SEM FIO ......................................................................................................................... 31

I.        DDNS ........................................................................................................................................ 31
J.      VISUAL BASIC 2008 EXPRESS EDITION ..................................................................................... 32

K.      JQUERY ..................................................................................................................................... 32

3.1         MODELAGEM DO SISTEMA .................................................................................................. 33

A.      UML .......................................................................................................................................... 33

B.      CASO DE USO............................................................................................................................ 33

C.      DIAGRAMA DE SEQUÊNCIA ...................................................................................................... 34

D.      DICIONÁRIO DE DADOS ............................................................................................................ 36

E.      DIAGRAMA DE ENTIDADE RELACIONAL ................................................................................... 37

4.      FUNCIONAMENTO DO SISTEMA .............................................................................................. 38

A.      COMPONENTES DO SISTEMA ................................................................................................... 39

B.      ACESSO AO SISTEMA ................................................................................................................ 39

C.      PROJETOS FUTUROS ................................................................................................................. 39

5.      RESULTADOS ............................................................................................................................ 41

CONCLUSÃO ...................................................................................................................................... 61

REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................................................... 62

APÊNDICES ........................................................................................................................................ 65

1.      CÓDIGO FONTE DO SISTEMA ................................................................................................... 66
10




INTRODUÇÃO




      Novas tecnologias surgem, e cada vez mais as pessoas procuram facilidades
para o seu dia a dia, porém, muitas dessas tecnologias possuem alto valor de
implantação, que torna difícil a aquisição.

      Quando fala-se em tecnologia, as pessoas associam este termo aos carros e
seus computadores de bordo, celular, tablets e dezenas de outros dispositivos
disponíveis no mercado. Algo que chama a atenção de muitos por oferecer grande
conforto e segurança, são as casas inteligentes que podem ser gerenciadas por
pessoas sem mesmo que esteja dentro dela.

      Muitas ações podem ser executadas, até o simples fato de uma pessoa ligar
e desligar uma lâmpada pelo interruptor pode ser modificado com a implantação de
um 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 a
rede de internet.

      Um sistema de automação residencial é composto de placas microcontrolada
com chip programável e um sistema lógico para gerenciamento, sendo que placas
microcontroladoras mais sofisticadas possuem um valor alto de implantação e
ferramentas mais complexas para a utilização.

      Visando um baixo custo para a implementação do sistema será utilizado o
microcontrolador Arduíno, que é de código aberto e livre para que pessoas com
conhecimento em eletrônica e programação possam utilizar da sua imaginação para
desenvolver projetos. Com as fabricações das Shields podem-se adicionar novos
componentes que aumentam a capacidade de gerenciamento do Arduíno, como
placas de rede, Bluetooth, Sensores entre outros.

      Propondo a implementação de um sistema que será capaz de gerenciar uma
residência, que será utilizado das mais novas tecnologias para que se possa garantir
conforto e segurança às pessoas que irão ter acesso ao uso do SAR-WEB.
11




   2. AUTOMAÇÃO RESIDENCIAL




      Domótica que se refere à junção da palavra latina Domus (casa) com
Robótica, que se traduz na instalação de tecnologia em uma residência, que a torna
a Automação Residencial.

      De acordo com ALPHATRON (2011), nos Estados Unidos a Automação
Residencial já esta presente em mais de 5 milhões de residência, é amplamente
utilizado no Canadá, Europa e Ásia.

      No Brasil ainda é pouco difundido o uso de automação residencial, mas com
as novas tecnologias que estão surgindo, logo todos poderão automatizar as suas
residências com um baixo custo. O gerenciamento ocorre com o uso de um controle
remoto ou até mesmo um telefone celular, e é um procedimento nominado de
Automação Residencial.

      A grande comodidade de estar no quarto e poder desligar a luz da sala pelo
telefone celular já pode ser implantado por um sistema de automação residencial.
Podem-se incluir itens como iluminação, segurança, temperatura de ambientes e
controle de equipamentos diversos.

      No controle de iluminação, como por exemplo, pode ser ligado e desligado
uma luz em um exato momento assim como programar horários para permanecerem
ligadas durante um período.

      Ao se afastar da residência, uma pessoa pode programar para que em
determinada hora as luzes do jardim possam se desligar, permitindo a simulação da
presença de uma pessoa na residência, afastando possíveis invasões por elementos
mal intencionadas.

      Na área de segurança, um sistema de automação residencial pode gerenciar
sensores instalados na residência. Assim poderá acionar alarmes ou comunicar ao
12




proprietário da residência, através de alertas no telefone celular ou e-mail, a
presença de um intruso.

      A temperatura de um ambiente interno pode variar com o horário e o clima
das estações do ano. Em um SAR encontram-se sistemas capazes de fazer a leitura
da temperatura de um ambiente, dessa forma pode ser programadas ações de
acordo com a temperatura. Como por exemplo, caso a temperatura esteja abaixo de
15ºC, um aquecedor poderá ser acionado para permanecer ligado até que a
temperatura chegue em 20ºC. A mesma checagem poderá ocorrer quando a
temperatura 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 a
necessidade. Assim como o ar-condicionado e o aquecedor, outros dispositivos
podem ser controlados para diversas finalidades, como, alimentar um animal, ligar
ou desligar regadores de plantas, filtros de piscinas, aquários e outros. Existe uma
gama de equipamentos que podem ser acionados e programados para determinado
tempo em funcionamento, bastando para isso, estar interligado ao SAR.
13




             2.1 OPEN HARDWARE E OPEN SOURCE




      Para o desenvolvimento do projeto serão utilizadas às plataformas Open
Source e Open Hardware, visando o menor custo possível para a implantação do
sistema, assim o SAR irá se popularizar com mais facilidade. Nos Tópicos abaixo
serão detalhados o que são cada uma das plataformas.

      •      Open Hardware são placas que tem a disposição às informações para
que possam ser fabricadas, são fornecidos os diagramas, circuito impresso e dados
técnicos, assim pessoas podem produzi-las domesticamente e até mesmo
comercializá-la.

      Segundo MELLIS (2009), o Hardware de código aberto traz as vantagens de
se adaptar ao modelo de negócios e o fornecimento de diversas situações para os
projetos. Empresas podem vender kits para a montagem de dispositivos compatíveis
com Arduíno, por exemplo.

      Para MELLIS (2009), o Hardware de código aberto em longo prazo vai se
sustentar, pois é diferente de outros negócios. As empresas têm que fazer um preço
justo para que possam vender. Trabalhando com o código aberto, nos influencia a
cada vez mais trabalhar com qualidade, pois outras empresas podem fabricar o
mesmo produto e vender.

      •      Open Source são sistemas que fornecem os códigos para que mais
pessoas podem modificá-los e melhorá-los, Open Source em português significa
código aberto e também muito conhecido como sendo Software livre. Em 1998 a
empresa 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 com
código aberto deve garantir os seguintes requisitos.
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ão
descrito a seguir.

      Para BORTOLI (2009), GNU GPL - A Licença Pública Geral GNU (GNU
General Public License, GPL) é a mais comum existente, e prevê que os softwares
sob sua guarda estejam em código-aberto e assim permaneçam após eventuais
modificações. Ou seja, se determinada empresa, usuário ou desenvolvedor for
incorporar ou modificar o código, precisará liberar a versão final.

      Para BORTOLI (2009), BSD - A licença BSD elaborada pela Berkeley
Software 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ê
15




que um software modificado a partir de um código-aberto possa ser vendido, e não
obrigatoriamente aberto.

      Para BORTOLI (2009), Artistic License - Essa licença permite a redistribuição
de arquivos binários, mas restringe a redistribuição de códigos modificados, a fim de
proteger os autores de determinado software.

      LGPL ou Library GPL. Esta é uma variação da licença GPL que permite o
desenvolvimento de programas de código aberto que contenham módulos
proprietários. Na GPL "tradicional" todo o código do programa é aberto, isso atende
bem à maioria dos projetos colaborativos. A LGPL funciona melhor nestes casos,
pois permite que você desenvolva programas "semi abertos" onde parte do código
do programa está disponível e o restante das funções é proporcionada por alguns
binários que não possuem seu código aberto, estes binários linkados no programa
no momento da compilação, de uma forma análoga às DLL's do Windows.
MORIMOTO (2005).
16




              2.2 HARDWARE UTILIZADO




       Para   o   desenvolvimento   desde   trabalho   será   utilizado   uma   placa
microcontroladora que é open hardware e open source, para que o projeto não tenha
um 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 no
projeto e seus componentes para que possam auxiliar no gerenciamento de
dispositivos, que são as placas Shields.



              2.3 ARDUÍNO



       No desenvolvimento deste trabalho será utilizado à placa Arduíno, por ser
uma plataforma de fácil implementação e Baixo custo. Atualmente no Brasil é uma
tecnologia nova, mas segundo o site Olhar digital possui uma comunidade
colaborativa na web o www.arduino.cc, que já possui mais de vinte mil pessoas de
todo o mundo.

       Segundo BOEIRA (2011), a placa microcontroladora Arduíno foi inventada na
Itá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 sinais
como recebe sinal de um objeto do mundo real com auxilio de sensores. Trabalha
com um Microcontrolador PIC, que é o gerenciador da placa, pode ser implementada
em diversas linguagens, uma dela é o PHP, que será utilizada para desenvolver o
projeto.

       Em     2005 na cidade de Ivrea se iniciou a prototipagem de uma placa
microcontrolada para que as instituições possam reduzir custo na implantação de
projetos estudantis de eletrônica e informática. Assim se deu inicio a plataforma
Arduíno (Arduino.cc).

       Conforme o Site Oficial (Arduino.cc), O seu sucesso teve início com o
recebimento de uma menção honrosa na categoria Comunidades Digital em 2006
17




pela Prix ArsElectronica. Assim obteve um grande volume de vendas com mais de
50.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, desta
forma estudantes podem desenvolver projetos com o custo reduzido e de ótima
qualidade.

      Para Werneck (2009), Arduíno é uma placa microcontroladora, computador
físico baseado numa simples plataforma de hardware livre, que possui suporte para
I/O (entradas/saídas), utilizando uma linguagem de compilação C/C++. O objetivo
desta placa é a criação de projetos de baixo custo, assim poderão ser acessíveis a
usuários de eletrônica básica e informática.

      O Arduíno inicialmente foi desenvolvido com uma interface de comunicação
serial, 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 o
mesmo 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 ser
implementada em uma linguagem multi-plataforma, podendo ser desenvolvido em
sistemas Linux, Mac e Windows. Sendo assim Não há a necessidade de programar
um software para cada sistema operacional. Enquanto a maioria dos outros
microcontroladores são limitados para Windows.
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 rodar
no Arduíno”, mas, suficientemente flexível para que usuários avançados possam
desenvolver e utilizar todo o seu potencial.



                    2.3.1. VERSÕES ARDUÍNO



      Até o desenvolvimento deste trabalho foram produzidas comercialmente 11
versões do dispositivo que foram encontradas no site oficial (arduíno.cc) , Arduíno
Serial, Arduíno UNO, Arduíno EXTREME, Arduíno MINI, Arduíno nano, Arduíno
LilyPad, Arduíno NG, Arduíno NG PLUS, ArduínoBT, ArduínoDiecimila, Arduíno
Duemilanove, Arduíno MEGA.

      As versões existentes têm o mesmo objetivo, que é controlar os dispositivos
do mundo real, mas cada placa possui uma característica que é o seu tamanho ou
capacidade de gerenciamento. Assim analisando cada uma, poderá identificar qual
placa que será utilizada no projeto a ser desenvolvido.

                              Figura 01 – Desenho Gráfico do Arduíno




                  Fonte: http://www.artificialtourism.com/arduino-workshop

Nos próximos tópicos serão detalhadas algumas das versões acima, nas quais
possuem diferenças relevantes entre elas.
19




                                 A. ARDUÍNO SERIAL



Primeira placa desenvolvida para o uso em projetos pequenos e objetivos.
Atualmente não é mais produzida comercialmente, devido a sua interface de
comunicação Serial RS232 que é pouco encontrado no mercado. No site oficial do
Arduí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
20




                                B. ARDUÍNO UNO



       O Arduíno UNO representa a versão 1.0, foi a primeira a ser fabricada com a
interface de comunicação USB. A placa Arduíno UNO é mais indicada para
iniciantes devido ao seu baixo custo, mas o que deixa a desejar é a sua pouca
capacidade 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
21




                               C. ARDUÍNO MINI



       Placa desenvolvida com um tamanho menor que as anteriores, mas com a
mesma capacidade de processamento das já desenvolvidas, a diferença é que deve
ser 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ão
se 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
22




                               D. ARDUÍNO LILYPAD



       Placa desenvolvida no modelo circular com 50mm de diâmetro, para projetos
portá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
23




                               E. ARDUÍNO BT



       Placa desenvolvida com base no Microcontrolador Atmega168, com a mesma
capacidade que o Arduíno UNO, porém com a grande vantagem de possuir
comunicação sem fio via Bluetooth. Um exemplo que pode ser implementado com
esta placa é um sistema que controle um robô, assim o usuário poderá, através de
um 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
24




                                F. ARDUÍNO MEGA



       O Arduíno MEGA é uma placa modificada com uma grande quantidade de
entradas 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 de
memória flash e gerenciador de boot. Ambas possuem mais capacidade de entradas
e saídas que as placas anteriores, obtendo um ótimo custo e beneficio, esse é um
dos 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
25




                    2.3.2. SHIELDS



      São placas que são usados para que possa ter um maior gerenciamento
junto ao Arduíno, normalmente são instaladas em cima do próprio Arduíno com o
intuito de ocupar menos espaços, mas existem certos modelos que devido ao seu
tamanho 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 um
Relé que são projetados para ativar ou desativar um determinado equipamento,
como ventiladores, lâmpadas, liberação de portas e diversos equipamentos que
necessitam de energia para operar, de acordo com a Siemens

      Para MORIMOTO (2005), O Relé é um dispositivo eletromecânico, formado
por 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 de
entrada de 5volts, que acionará o Relé e libera a energia elétrica para acionar um
dispositivo, como uma lâmpada ou até mesmo um ventilador, a energia liberada
pode variar entre 110volts e 220volts.

                                      Figura 08 – Módulo Relé




                  Fonte: http://sbt.siemens.com/FIS/productdoc/catalogs/3125pr.pdf
26




                            B. SHIELDS SENSOR DE TEMPERATURA




      De acordo com o Glossário de Termos Técnicos, Sensores são “Sofisticados
instrumentos científicos capazes de detectar e analisar quase tudo que se possa
imaginar”. Existem diversos tipos de sensores, neste projeto serão usados somente
o sensores de Temperatura que analisa a temperatura atual e informam a um
dispositivo que será armazenado ou exibido em alguma tela.

      O sensor de temperatura é um componente eletrônico que recebe a
temperatura atual do ambiente e envia ao Arduíno em forma de milivolts, assim o
sistema irá fazer a conversão e tomará as decisões de acordo com a temperatura. O
Sensor a ser utilizado será o LM35 devido ser o que mais se adaptou com a
tecnologia Arduíno.

                             Figura 09 – Sensor de Temperatura




                               Fonte: http://www.robotbase.cc
27




    3. METODOLOGIA E FERRAMENTAS




      Para o desenvolvimento deste projeto, foi utilizado o método dedutivo, e a
pesquisa teórica para que possa colocar os estudos em prática. Foram pesquisados
diversos sites para que auxiliassem nos estudos, pois a utilização de plataformas
open hardware e open source são métodos de grande utilização, para se ter um
sistema de baixo custo e grande diferencial.

      Nos tópicos abaixo será detalhado um pouco mais sobre as ferramentas que
serão utilizadas para o desenvolvimento do projeto.



                   A. PHP



      No desenvolvimento da interface deste projeto será utilizada a linguagem de
script PHP, pois esta é considerada uma linguagem de fácil compreensão, multi
plataforma além do fato de ser uma das linguagens mais utilizadas para
programação web. Segundo ULLMAN ( 2001), “PHP é o melhor, mais rápido e mais
fácil de aprender que outras linguagens semelhantes”.

      Para BRAVALHERI (2011), PHP é uma ferramenta de desenvolvimento web
de sites dinâmicos, sua linguagem é baseada em scripts. A partir da versão 4 a
linguagem PHP recebeu uma Enginer, aplicativo na qual executa os scripts,
chamada Zend, que pode ser incorporada em HTML. Foi concebido em 1994 por
Rasmus Lerdorf que disponibilizou seu código fonte na web, e possibilitava a
utilização na maior parte dos servidores HTTP.

      Segundo BRAVALHERI (2011), A vantagem que o PHP possui suporte nativo
a uma grande quantidade de banco de dados, como o dBase, Interbase, mSQL,
mySQL, Oracle, Sybase, PostgreSQL. Outros serviços podem ser encontrado
através de protocolos, como o IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP.
28




                    B. BANCO DE DADOS MYSQL



      O Banco de Dados MySQL é um sistema gerenciador de dados desenvolvido
inicialmente para a sistemas web, possui uma grande quantidade de programadores
que utilizam em seus projetos para web a nível mundial, sendo também que um dos
fatores que influenciam a sua escolha é devido o mesmo ter sua licença gratuita
disponí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ão
de e-commerce online, Data Warehousing, sistema de geração de relatórios e
sistemas de analises.



                    C. APACHE



      Será utilizado o Servidor Apache para fornecer um serviço de hospedagem do
SAR-WEB, sendo um dos mais utilizado por programadores PHP, possui sua licença
gratuita e de código aberto para que possa ser alterado.

      Para FERNANDO (2011), o servidor Apache foi criado para a interpretação de
linguagens WEB, muito utilizado por programadores em PHP. Possui a função de ler
o 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 e
de interação com os utilizadores do sistema. No inicio o servidor Apache foi criado
somente para a plataforma UNIX podendo ser instalado em sistemas operacionais
relacionados, como Linux e FreeBSD, atualmente já é possível a instalação em
plataforma Windows.
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 grande
facilidade de utilização da ferramenta influenciou a sua escolha.

      “WAMPSERVER         é   uma     plataforma      para    desenvolvimento       Web      no
Windows. Ele permite que você desenvolva aplicações Web dinâmicas utilizando o
servidor Apache 2, a linguagem de script PHP e banco de dados MySQL. Tem
também o PHPMyAdmin para gerenciar mais facilmente seus bancos de
dados.”(WAMPSERV).



                    E. C/C++



      A linguagem C/C++ será utilizada para que possam ser compilados os
códigos na placa Arduíno, assim poderá ser gerenciada a placa com a linguagem de
script PHP.

      A Linguagem C++ foi desenvolvida por Dennis M. Ritchie no inicio da década
de 70, herdou idéias e características de outras linguagens de programação, como a
linguagem BCPL que foi criada por Martin Richards em 1967 e a linguagem B, que
foi 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 programa
gratuito e de fácil uso, possui suporte a maioria dos diagramas. Segundo o site da
30




Info, O DIA é inspirado no programa da Microsoft, o Visio. Ele pode ser usado para
o desenho de diferentes tipos de diagramas. Atualmente, tem objetos especiais para
ajudar no desenho de diagramas de entidade-relacionamento, UML, gráficos de
fluxo, diagramas de rede e muitos outros diagramas.



                    G. INTERNET



      O sistema poderá fornecer um link na internet que o usuário terá o acesso a
ele como se estivesse em sua residência, possibilitando gerenciá-lo, bastando uma
conexão com internet. Possuirá uma ferramenta que fornecera um endereço fixo
para o acesso, assim não será necessária à contratação de um endereço fixo para o
sistema.

      Segundo ZEVALLOS (2009), A Internet começou em 1969 com o projeto do
governo americano chamado ARPANET, que tinha como objetivo interligar
universidades e instituições de pesquisa e militares. Na década de 70 a rede tinha
poucos centros, mas o protocolo NCP, foi visto como inadequado, então, o TCP/IP
foi 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. Logo
na 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 base
para que Marc Andreses lança-se o Mosaic para Unix em fevereiro de 1993 e logo
em agosto lançaram a versão para o Windows.

      Como a internet está sendo o principal serviço de conectividade e cada vez
mais presente em nossas vidas, a melhor opção do gerenciamento via internet
poderá ser implantado.
31




                     H. REDES SEM FIO



      Para a que o sistema tenha um melhor desempenho quando se encontra o
usuá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 dois
dispositivos 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 de
comunicação em uma rede local de computadores, substituindo o cabeamento
convencional HENZE, ALLAN GABRIEL Apud PAHLAVAN, (2002).

      Segundo MORAES (2007) “cada Access point pode atender a vários usuários
na 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ários
mal intencionados.



                     I.   DDNS



      Conexões do tipo ADSL, Cable Modem, Velox, Speedy e outras formas de
banda larga, apesar de muito velozes, têm o inconveniente de fornecer um
endereçamento com IP Dinâmico. Ou seja, a cada conexão, o computador terá um
IP 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 para
conexão de usuários.

      O DDNS foi desenvolvido pela Winco para resolver este problema de uma
forma extremamente simples de usar. Uma vez instalado, o DDNS cria um nome fixo
32




que 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 de
internet, 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 criar
aplicativos para o Windows, encontrando uma série de ferramentas poderosas para
o desenvolvimento dos projetos. O Visual Basic é uma linguagem de programação
que oferece um ambiente de desenvolvimento integrado totalmente gráfico, tornando
assim 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 a
comunicação entre o Banco de dados e o Arduíno, será feito verificações nos
tabelas 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 banco
de dados a cada segundo, se houver irá executar os códigos programados.



                    K. JQUERY



      JQUERY é uma poderosa biblioteca JavaScript criada para simplificar a
criação de efeitos visuais e de interatividade em web sites. Segundo SILVA(2008)
Desenvolvedores especialistas em JavaScript, ao conhecerem as maravilhas de que
a biblioteca é capaz, com certeza vão se perguntar: "Por que não pensei nisso
antes?" Iniciantes, com noções rudimentares de JavaScript, experimentarão uma
curva 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 e
funcional para o usuário.
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 e
definir horários para o acionamento de dispositivos.

      Será utilizado a UML (Unified Modeling Language) para a modelagem devido
apresenta os diagramas com mais clareza e assim não terá duvidas para o
desenvolvimento do sistema.



                    A. UML



      Para MACORATTI (2006), a UML é um modelo de linguagem para
modelagem de dados, com ela podemos fazer uma modelagem visual de maneira
que os relacionamentos entre os componentes do sistema sejam mais bem
visualizados e compreendidos e documentados. Podemos dizer também que a UML
é uma linguagem para especificar, construir, visualizar e documentar um sistema de
software que surgiu com a fusão das metodologias já anteriormente usadas e tem
como 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 com
o mundo real. Segundo MACORATTI (2006) os diagramas de caso de uso exibem a
34




visão externa do sistema e suas interações com o mundo exterior descrevendo seus
requerimentos e suas responsabilidades e possuem três elementos, que são o Ator
o 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 o
ator 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 diferentes
classes. O objetivo dos diagramas de sequência é descrever as comunicações
necessárias entre objetos para a realização dos processos em um sistema
computacional.

      Na figura 11, irá detalhar como o usuário efetua os cadastros no formulário de
cadastro do sistema SAR-WEB.
35



                   Figura 11 – Diagrama de Sequência do formulário de cadastro




                                      Fonte: Própria




Na 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
36




                       D. DICIONÁRIO DE DADOS



       No dicionário de dados será detalhada cada tabela do banco de dados como
as descrições, tipo, atributos e as chaves primárias e secundárias assim ficam de
mais fácil entendimento cada atributo da tabela.



Entidade:           TB_Usuário
Descriçã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_Comodo
Descriçã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_Dispositivo
Descriçã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          N
nome_dispositivo    Varchar                 Armazena o nome do dispositivo                   N
 tipo_Dispositivo   Varchar                  Armazena o tipo do dispositivo                  N
porta_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_temperatura
Descriçã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                  N
dataTemperatura     Varchar                   Armazena o tipo do dispositivo                 N
                         Tabela 11 – Tabela Temperatura do banco de dados.
37




                   E. DIAGRAMA DE ENTIDADE RELACIONAL



      Modelado os dados, para que possam ser mais bem compreendidos os
relacionamentos entre as tabelas do banco de dados, se tornando um documento
mais organizado e de fácil entendimento.

                      Figura 13 – Diagrama de Entidade Relacional




                                    Fonte: Própria
38




   4. FUNCIONAMENTO DO SISTEMA




      Para o funcionamento do sistema será necessário a utilização de um
aplicativo que foi desenvolvido em Visual Basic (SAR-LOCAL) que fará uma
comunicaçã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 funcionamento
do Sistema.
                            Figura 14 – Funcionamento do Sistema.
39



                                       Fonte: Própria

                 A. COMPONENTES DO SISTEMA



      Na tabela abaixo estão os equipamentos necessários para que o sistema
SAR 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 de
cadastro, sendo disponíveis somente as de gerenciamento para que possa
ligar/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 agendar
dispositivos a executar determinadas tarefas em um exato momento, possibilitando
maior segurança e comodidade ao usuário final e tornando o sistema cada vez mais
robusto.
40




      Serão implantados sensores de movimento para que detecte oscilações na
residê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 se
comunicar com a rede local sem a necessidade de um computador, assim será
montado um servidor web diretamente na Shields, possibilitando uma economia
maior de energia.



                     Figura 15 – Shields Ethernet acoplada no Arduíno Mega




                       Fonte: http://blog.derouineau.fr/tag/ethernet-shield/
41




   5. RESULTADOS




      Neste capítulo serão mostradas as telas do sistema em funcionamento com
detalhes de cada uma delas.



      Página de LOGIN para ter acesso ao sistema SAR-WEB, com os dados
cadastrados no banco de dados.



                         Figura 16 – Tela de Login do Sistema




                                  Fonte: SAR-WEB
42




     Página inicial do Sistema, com opções de Cadastro, Gerenciamento e fazer
LOGOUT, contendo o nome do usuário logado ao sistema.



                         Figura 17 – Tela Inicial do Sistema




                                     Fonte: SAR-WEB
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
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
45




      Cadastros de Cômodos, nesta página serão cadastrados todos os cômodos
existentes na residência.



                            Figura 20 - Tela de Cadastro de Cômodos




                                   Fonte: SAR-WEB
46




Tela 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
47




      Página dos Dispositivos Cadastrados no Banco de Dados do SAR-WEB nela
tem as opções somente de Editar, devido os dispositivos já são pré-configurados no
sistema.



                       Figura 22 – Tela de exibição dos Dispositivos




                                    Fonte: SAR-WEB
48




      Página de Edição de Dispositivos, nela só é possível a modificação da
Descriçã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
49




      Página dos Usuários cadastrados no Banco de Dados SAR-WEB, nela tem as
opções de Cadastrar Novo Usuário, Editar e Excluir.



                        Figura 24 – Tela de Usuários Cadastrados




                                   Fonte: SAR-WEB
50




      Página de Cadastrar Usuário, serão fornecidos pelos usuários os dados para
que efetue o cadastro no Banco de Dados do SAR-WEB, sendo de suma
importância, devido fica armazenado os dados de login para o usuário utilizar a cada
momento que tenha acesso ao sistema.



                         Figura 25 – Tela de Cadastro de Usuário




                                    Fonte: SAR-WEB
51




     Página de Edição de Usuários, nela é feita a edição de dados cadastrais dos
usuários que estão armazenados no Banco de Dados do SAR-WEB.



                       Figura 26 – Tela de Edição de Usuários




                                 Fonte: SAR-WEB
52




      Página de Gerenciamento, nela são exibidos todos os Cômodos cadastrado
no SAR-WEB. Possui uma função especial, a de desligar todos os Dispositivos do
Sistema. Função importante, pois caso o usuário deseja sair da residência e o
mesmo não deseja ir desligando todos os dispositivos um de cada vez, basta clicar
no botão Desligar Tudo.



                      Figura 27 – Tela principal de Gerenciamento




                                   Fonte: SAR-WEB
53




      Página para gerenciar dispositivos cadastrados no Cômodo Selecionado, nela
será exibida todos os dispositivos que estão cadastrados no SAR-WEB e vinculados
ao 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
54




Página para ligar/desligar o dispositivo cadastrado ao SAR-WEB.



              Figura 29 – Tela de Gerenciamento do dispositivo




                             Fonte: SAR-WEB
55




      Página para gerenciar dispositivos cadastrados no Cômodo Selecionado, nela
serão exibido todos os dispositivos que estão cadastrados no SAR-WEB e
vinculados 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
56




      Página de exibição da Temperatura atual do ambiente que foi instalado, a
temperatura é atualizada a cada segundo, sendo assim informando ao usuário a
cada variação.



                 Figura 31 – Tela de Exibição da Temperatura do Ambiente




                                    Fonte: SAR-WEB
57




      Aplicativo em Visual Basic, ele é quem faz a comunicação do banco de dados
ao Arduíno, cada modificação feita no banco de dados ele verifica e envia para o
Arduíno, fazendo as modificações solicitadas pelo usuário.



                            Figura 32 – Tela do SAR-LOCAL




                                    Fonte: Própria
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íno
como relés e sensor de temperatura.



                     Figura 33 – Tela do SAR-LOCAL em Execução




                                      Fonte: Própria
59




      Tela do sistema em funcionamento na Barra de Tarefas com menu aberto
apó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
60




      A figura abaixo mostra a maquete de uma parede para demonstrar a
funcionalidade do sistema, possuindo duas lâmpadas, duas tomadas padrão, uma
tomada de ar condicionado, um interruptor paralelo, ao lado possui um tablet e um
notebook acessando o SAR-WEB.


                                Figura 35 – Maquete




                                  Fonte: Própria
61




CONCLUSÃO




      Este projeto foi desenvolvido para que haja um grande avanço tecnológico em
residências, visando o menor custo possível, assim pessoas de diversas classes
poderã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 de
plataformas open hardware é baseada no Arduíno MEGA1280, junto com as Shields
se torna um microcontrolador de alto gerenciamento.

      O simples fato de ligar e desligar uma lâmpada foram implementados para
que um computador e até mesmo um dispositivo móvel possa gerir de forma simples
e objetiva. O microcontrolador Arduíno utilizado está cada vez mais se propagando
no 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   sistema
tranquilamente, devido ao custo baixo dos recursos a serem utilizados e a
quantidade de benefícios que o sistema irá trazer são enormes.

      A utilização da plataforma web se propiciou, pois se tornou um sistema de
fá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 que
possa adaptar o SAR com as tecnologias que vão surgindo no mercado, a utilização
dos sensores poderá garantir cada vez mais segurança ao usuário, a Shields
Ethernet irá evitar o uso de um computador local com um servidor instalado.
62




REFERÊNCIAS BIBLIOGRÁFICAS




ARDUÍ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 de
2011.

ALECRIM, E. INFOWESTER (2006), Creative Commons: Por que usar?.
Disponível em: http://www.infowester.com/creativecommons.php. Acessado em 26
Maio 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.
63




BRAVALHERI, Anderson, Curso PHP. Disponível em: UNICAMP:
http://www.jr3e.fee.unicamp.br/Home/index.php?option=com_content&view=article&i
d=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 2011

HENZE, ALLAN GABRIEL Apud PAHLAVAN, 2002. Disponível em ULBRA:
http://guaiba.ulbra.tche.br/wp-content/uploads/2011/04/trabalho_allan.pdf. Acessado
em 12 de maio de 2011

SANTOS, 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 de
2011.

MACORATTI, José Carlos (2006), UML - Unified Modeling Language e Visual
Modeler. Disponível em: http://www.macoratti.net/uml_vb.htm. Acessado em 27
Maio 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.
64




OLHAR DIGITAL (2011), Arduíno: robótica para iniciantes. Disponível em
http://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 em
http://www.sacstech.com.br/index.php?option=com_content&view=article&id=28&Ite
mid=36. Acessado em 22 de Maio de 2011.

SIEMENS, Módulo de Relé Suplementar para o Sistema . Disponível em
http://sbt.siemens.com/FIS/productdoc/catalogs/3125pr.pdf. Acessado em 21 de abril
de 2011.

SILVA, M. S. (2008). JQUERY - A Biblioteca do Programador JavaScript.
Novatec, edição 2°
                 .

WINCO TECNOLOGIA E SISTEMAS, DDNS. Disponível em
http://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 em
26 Abril 2011.
65




APÊNDICES
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`

--
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'),
68



(28, 'Sar Web', 'sar', 'sar', 'sar@sar.com', '6981188765');




PASTA PRINCIPAL DO SISTEMA
INDEX.PHP
<!--Validar SESSÃO-->
<?php
         require 'validar.php';
         /*Verifica qual tipo de dispositivo, caso for movel redireciona automaticamente para a pagina
de 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>
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());
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">
<?php
include "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 da
autenticaçã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 login
novamente
                            echo 'Senha Invalida!!!';
                            echo'<meta http-equiv="refresh" content="2; URL=index.php"> <!--
rediricionamento automatico da pagina -->';
                   }
         }
         else{
                   echo'Usuario não existe!!!';// caso o usuario for invalida exibe a mensagem e envia
para a pagina de login novamente
                   echo '<meta http-equiv="refresh" content="2; URL=index.php"> <!--rediricionamento
automatico da pagina -->';
         }
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ÃO
session_start();
//DESTRÓI AS VARIÁVEIS
unset($_SESSION['id_UserLogar']);
unset($_SESSION['nome_UserLogar']);
//REDIRECIONA PARA A TELA DE LOGIN
header("Location: login.php");
?>
72




Cadastro.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>
73




DispositivoMovel.php


<!--Validar SESSÃO-->
<?php
          require 'validar.php';
?>
<!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">
   <p>Bem vindo Você está acessando de um Dispositivo Móvel</p>
   <p>Para Dispositivo Móvel está disponivel apenas para gerenciamento!!!</p>
</div>
<div class="ui-body ui-body-a" align="center">
   <fieldset class="ui-grid-a">
   <div class="ui-block-a" align="center">
                    <a href="gerenciar/indexgerenciar.php" rel="external"><button type="button" data-
theme="a" rel="external">Ir em Gerenciador</button></a>
   </div>
   </fieldset>
</div>
 <!-- /content -->
 <!------------------------------------------------------------------------------------>
 <div data-role="footer" align="center">
           <!--Imagem de Rodape-->
           <img src="img/By KHOP.png"/>
 </div>
 <!-- fim footer -->
</div>
<!-- fim page -->
</body>
</html>
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

Contenu connexe

En vedette

Automação Residencial TCC
Automação Residencial TCCAutomação Residencial TCC
Automação Residencial TCCDaiana Le
 
Automação Residencial
Automação ResidencialAutomação Residencial
Automação ResidencialEduardo Castro
 
Automacao residencial, a casa inteligente
Automacao residencial, a casa inteligenteAutomacao residencial, a casa inteligente
Automacao residencial, a casa inteligenteDouglas Scriptore
 
Domótica Aplicabilidade e Sistemas de Automação Residencial
Domótica  Aplicabilidade e Sistemas de Automação ResidencialDomótica  Aplicabilidade e Sistemas de Automação Residencial
Domótica Aplicabilidade e Sistemas de Automação ResidencialAldais Almeida
 
Automação residencial
Automação residencialAutomação residencial
Automação residencialAndre Amaral
 
Relatório Final - Técnico Em Eletrotécnica
Relatório Final - Técnico Em EletrotécnicaRelatório Final - Técnico Em Eletrotécnica
Relatório Final - Técnico Em EletrotécnicaDanielD15
 
Modelo de relatorio final de bolsista de ic probic
Modelo de relatorio final de bolsista de ic probicModelo de relatorio final de bolsista de ic probic
Modelo de relatorio final de bolsista de ic probicErick Silva
 
Protótipo de Automação Residencial Utilizando Lixo Eletrônico
Protótipo de Automação Residencial Utilizando Lixo EletrônicoProtótipo de Automação Residencial Utilizando Lixo Eletrônico
Protótipo de Automação Residencial Utilizando Lixo EletrônicoCarlos Eduardo Pantoja
 
Csi Automação de Ambientes
Csi Automação de AmbientesCsi Automação de Ambientes
Csi Automação de Ambientespedrojsc
 
Relatório - Curso Técnico de Eletrônica
Relatório - Curso Técnico de EletrônicaRelatório - Curso Técnico de Eletrônica
Relatório - Curso Técnico de EletrônicaFrederico José S. Gomes
 
Relatório estágio em eletrônica
Relatório estágio em eletrônicaRelatório estágio em eletrônica
Relatório estágio em eletrônicaAlan de Souza
 
Relatorio de estagio_tecnico_eletromecanica
Relatorio de estagio_tecnico_eletromecanicaRelatorio de estagio_tecnico_eletromecanica
Relatorio de estagio_tecnico_eletromecanicaHudson Sousa
 
Tst relatório de conclusão de estágio atualizado
Tst relatório de conclusão de estágio atualizadoTst relatório de conclusão de estágio atualizado
Tst relatório de conclusão de estágio atualizadoMARIA DORA
 
Grupo de Pesquisa em IoT (internet of things) do CESAR
Grupo de Pesquisa em IoT (internet of things) do CESARGrupo de Pesquisa em IoT (internet of things) do CESAR
Grupo de Pesquisa em IoT (internet of things) do CESARCESAR
 

En vedette (20)

Automação Residencial TCC
Automação Residencial TCCAutomação Residencial TCC
Automação Residencial TCC
 
Automação Residencial
Automação ResidencialAutomação Residencial
Automação Residencial
 
Automacao residencial, a casa inteligente
Automacao residencial, a casa inteligenteAutomacao residencial, a casa inteligente
Automacao residencial, a casa inteligente
 
Domótica Aplicabilidade e Sistemas de Automação Residencial
Domótica  Aplicabilidade e Sistemas de Automação ResidencialDomótica  Aplicabilidade e Sistemas de Automação Residencial
Domótica Aplicabilidade e Sistemas de Automação Residencial
 
Automação residencial
Automação residencialAutomação residencial
Automação residencial
 
TCC - Eletrônica
TCC - Eletrônica TCC - Eletrônica
TCC - Eletrônica
 
Relatório Final - Técnico Em Eletrotécnica
Relatório Final - Técnico Em EletrotécnicaRelatório Final - Técnico Em Eletrotécnica
Relatório Final - Técnico Em Eletrotécnica
 
Modelo de relatorio final de bolsista de ic probic
Modelo de relatorio final de bolsista de ic probicModelo de relatorio final de bolsista de ic probic
Modelo de relatorio final de bolsista de ic probic
 
Symbian os.ppt
Symbian os.pptSymbian os.ppt
Symbian os.ppt
 
Protótipo de Automação Residencial Utilizando Lixo Eletrônico
Protótipo de Automação Residencial Utilizando Lixo EletrônicoProtótipo de Automação Residencial Utilizando Lixo Eletrônico
Protótipo de Automação Residencial Utilizando Lixo Eletrônico
 
Csi Automação de Ambientes
Csi Automação de AmbientesCsi Automação de Ambientes
Csi Automação de Ambientes
 
Automação residencial
Automação residencialAutomação residencial
Automação residencial
 
Relatório - Curso Técnico de Eletrônica
Relatório - Curso Técnico de EletrônicaRelatório - Curso Técnico de Eletrônica
Relatório - Curso Técnico de Eletrônica
 
Automacao Residencial
Automacao ResidencialAutomacao Residencial
Automacao Residencial
 
Relatório estágio em eletrônica
Relatório estágio em eletrônicaRelatório estágio em eletrônica
Relatório estágio em eletrônica
 
Relatorio de estagio_tecnico_eletromecanica
Relatorio de estagio_tecnico_eletromecanicaRelatorio de estagio_tecnico_eletromecanica
Relatorio de estagio_tecnico_eletromecanica
 
Relatório técnico
Relatório técnicoRelatório técnico
Relatório técnico
 
Apresentação - TCC - Eletronica
Apresentação -  TCC - EletronicaApresentação -  TCC - Eletronica
Apresentação - TCC - Eletronica
 
Tst relatório de conclusão de estágio atualizado
Tst relatório de conclusão de estágio atualizadoTst relatório de conclusão de estágio atualizado
Tst relatório de conclusão de estágio atualizado
 
Grupo de Pesquisa em IoT (internet of things) do CESAR
Grupo de Pesquisa em IoT (internet of things) do CESARGrupo de Pesquisa em IoT (internet of things) do CESAR
Grupo de Pesquisa em IoT (internet of things) do CESAR
 

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

TCC Risco na comunicação entre máquinas virtuais - Vinícius Lima
TCC Risco na comunicação entre máquinas virtuais - Vinícius LimaTCC Risco na comunicação entre máquinas virtuais - Vinícius Lima
TCC Risco na comunicação entre máquinas virtuais - Vinícius LimaGoverno do Estado de São Paulo
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Frederico Garcia Costa
 
Virtualizacao de Servidores: Um comparativo entre VMware e Xen
Virtualizacao de Servidores: Um comparativo entre VMware e XenVirtualizacao de Servidores: Um comparativo entre VMware e Xen
Virtualizacao de Servidores: Um comparativo entre VMware e XenAlan Brumate
 
Internet das coisas com Arduino
Internet das coisas com ArduinoInternet das coisas com Arduino
Internet das coisas com ArduinoRonivaldo Sampaio
 
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsComparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsMawcor
 
Piusi - Self Service Management 2.0
Piusi - Self Service Management 2.0Piusi - Self Service Management 2.0
Piusi - Self Service Management 2.0Andrea Zanini
 
Pré projeto - Medidor de fluxo de água: utilizando conexão entre hardware e ...
Pré projeto -  Medidor de fluxo de água: utilizando conexão entre hardware e ...Pré projeto -  Medidor de fluxo de água: utilizando conexão entre hardware e ...
Pré projeto - Medidor de fluxo de água: utilizando conexão entre hardware e ...Bruno Teixeira
 
Manual de Usuário - TCC André Luiz Jamarino Abekawa
Manual de Usuário - TCC André Luiz Jamarino AbekawaManual de Usuário - TCC André Luiz Jamarino Abekawa
Manual de Usuário - TCC André Luiz Jamarino AbekawaAndré Luiz Jamarino Abekawa
 
Virtualizacao
VirtualizacaoVirtualizacao
Virtualizacaohome
 
Manual Técnico do Scanner AVISION AV8050U
Manual Técnico do Scanner AVISION AV8050UManual Técnico do Scanner AVISION AV8050U
Manual Técnico do Scanner AVISION AV8050UJusto Dantas
 
Manualdousuario dosistemadelousa a
Manualdousuario dosistemadelousa aManualdousuario dosistemadelousa a
Manualdousuario dosistemadelousa ahistoria600
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de redeSoftD Abreu
 
Servidores Virtuais
Servidores VirtuaisServidores Virtuais
Servidores VirtuaisDiego Zilli
 
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRTMarcelo Santana Camacho
 

Similaire à Tcc sistema de automação residencial baseado em plataforma open hardware e open source (20)

TCC Risco na comunicação entre máquinas virtuais - Vinícius Lima
TCC Risco na comunicação entre máquinas virtuais - Vinícius LimaTCC Risco na comunicação entre máquinas virtuais - Vinícius Lima
TCC Risco na comunicação entre máquinas virtuais - Vinícius Lima
 
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
 
Virtualizacao de Servidores: Um comparativo entre VMware e Xen
Virtualizacao de Servidores: Um comparativo entre VMware e XenVirtualizacao de Servidores: Um comparativo entre VMware e Xen
Virtualizacao de Servidores: Um comparativo entre VMware e Xen
 
Douglasbentoscriptoretcc 130423092544-phpapp01 (1)
Douglasbentoscriptoretcc 130423092544-phpapp01 (1)Douglasbentoscriptoretcc 130423092544-phpapp01 (1)
Douglasbentoscriptoretcc 130423092544-phpapp01 (1)
 
Monografia IPv6
Monografia IPv6Monografia IPv6
Monografia IPv6
 
Internet das coisas com Arduino
Internet das coisas com ArduinoInternet das coisas com Arduino
Internet das coisas com Arduino
 
Servidor de Help Desk Ocomon
Servidor de Help Desk OcomonServidor de Help Desk Ocomon
Servidor de Help Desk Ocomon
 
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsComparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
 
Piusi - Self Service Management 2.0
Piusi - Self Service Management 2.0Piusi - Self Service Management 2.0
Piusi - Self Service Management 2.0
 
Tut arduino
Tut arduinoTut arduino
Tut arduino
 
Tut arduino
Tut arduinoTut arduino
Tut arduino
 
Monografia ifes-everton-bada
Monografia ifes-everton-badaMonografia ifes-everton-bada
Monografia ifes-everton-bada
 
Pré projeto - Medidor de fluxo de água: utilizando conexão entre hardware e ...
Pré projeto -  Medidor de fluxo de água: utilizando conexão entre hardware e ...Pré projeto -  Medidor de fluxo de água: utilizando conexão entre hardware e ...
Pré projeto - Medidor de fluxo de água: utilizando conexão entre hardware e ...
 
Manual de Usuário - TCC André Luiz Jamarino Abekawa
Manual de Usuário - TCC André Luiz Jamarino AbekawaManual de Usuário - TCC André Luiz Jamarino Abekawa
Manual de Usuário - TCC André Luiz Jamarino Abekawa
 
Virtualizacao
VirtualizacaoVirtualizacao
Virtualizacao
 
Manual Técnico do Scanner AVISION AV8050U
Manual Técnico do Scanner AVISION AV8050UManual Técnico do Scanner AVISION AV8050U
Manual Técnico do Scanner AVISION AV8050U
 
Manualdousuario dosistemadelousa a
Manualdousuario dosistemadelousa aManualdousuario dosistemadelousa a
Manualdousuario dosistemadelousa a
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de rede
 
Servidores Virtuais
Servidores VirtuaisServidores Virtuais
Servidores Virtuais
 
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 

Dernier

6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...DirceuNascimento5
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxLuciana Luciana
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdfjacquescardosodias
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRafaelaMartins72608
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVlenapinto
 

Dernier (20)

6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 

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

  • 1. FACULDADE DE INFORMÁTICA DE OURO PRETO DO OESTE - FIOURO KASSIANO HENRIQUE DE OLIVEIRA PRETTO SISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA OPEN HARDWARE E OPEN SOURCE Ouro Preto do Oeste 2011
  • 2. KASSIANO HENRIQUE DE OLIVEIRA PRETTO SISTEMA 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. KASSIANO HENRIQUE DE OLIVEIRA PRETTO SISTEMA DE AUTOMAÇÃO RESIDENCIAL BASEADO EM PLATAFORMA OPEN HARDWARE E OPEN SOURCE Trabalho de Conclusão de Curso apresentado à Faculdade de Ouro Preto do Oeste – UNEOURO, em 13/12/2011, para obtenção de grau acadêmico de Bacharel em 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. 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. "Ter coragem não é algo que requeira qualificações excepcionais, fórmulas mágicas ou combinaçõ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. RESUMO O presente trabalho tem como objetivo o desenvolvimento de um sistema para que gerencie aparelhos elétricos de uma residência de maneira digital, assim irá oferecer mais conforto e segurança aos usuários. O simples fato de uma pessoa ter que se levantar para ligar ou desligar um interruptor de uma lâmpada, pode ser implementado com um SAR (Sistema de Automação Residencial), que é tudo o que se automatiza em uma residência de maneira manual para automática ou digital. O desenvolvimento 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á se propagar em diversos níveis de classes sociais. O sistema será baseado em duas plataformas, cliente e servidor, sendo que a cliente será disponibilizada um site o SAR-WEB, para que o usuário possa utilizar para gerir a sua residência de qualquer plataforma 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 assim enviando comandos para um microcontrolador Arduíno com as Shields relés e temperatura. Palavras Chaves: Conforto, Segurança, Dispositivo Móvel, Residência.
  • 7. ABSTRACT This study aims to develop a system to manage appliances in a home so digital, so will offer more comfort and safety for users. Just because a person has to get up to turn a switch on a lamp, can be implemented with a SAR (Home Automation System), 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 at different levels of social classes. The system is based on two platforms, one client and one server, and the customer will be provided a web-site SAR, so that the user can use to manage your home on any platform that has Internet access, the server version what is the SAR-LOCAL will be installed on the computer that will run the web 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 relays and temperature. Keywords: Comfort, Safety, Mobile Device, Home.
  • 8. LISTA DE FIGURAS Figura 01 – Desenho Gráfico do Arduíno 18 Figura 02 – Arduíno Serial 19 Figura 03 – Arduíno UNO 20 Figura 04 – Arduíno MINI 21 Figura 05 – Arduíno LilyPad 22 Figura 06 – Arduíno BT 23 Figura 07 – Arduíno MEGA 24 Figura 08 – Módulo Relé 25 Figura 09 – Sensor de Temperatura 26 Figura 10 – Diagrama de Caso de Uso 34 Figura 11 – Diagrama de Sequência do formulário de Cadastro 35 Figura 12 – Diagrama de Sequência do acionamento de dispositivos 35 Figura 13 – Diagrama de Entidade Relacional 37 Figura 14 – Funcionamento do Sistema 38 Figura 15 – Shields Ethernet acoplada no Arduíno MEGA 40 Figura 16 – Tela de Login do Sistema 41 Figura 17 – Tela Inicial do Sistema 42 Figura 18 – Tela de Cadastros 43 Figura 19 – Tela de Cômodos Cadastrados 44 Figura 20 – Tela de Cadastro de Cômodos 45 Figura 21 – Tela de Edição de Cômodos 46 Figura 22 – Tela de exibição dos Dispositivos 47 Figura 23 – Tela de Edição de Dispositivos 48 Figura 24 – Tela de Usuários Cadastrados 49 Figura 25 – Tela de Cadastro de Usuarios 50 Figura 26 – Tela de Edição de Usuários 51 Figura 27 – Tela principal de Gerenciamento 52 Figura 28 – Tela de Exibição do Dispositivo Cadastrado ao Cômodo 53 Figura 29 – Tela de Gerenciamento do Dispositivo 54 Figura 30 – Tela de Exibição do Dispositivo Cadastrado ao Cômodo 55
  • 9. Figura 31 – Tela de Exibição da Temperatura do Ambiente 56 Figura 32 – Tela do SAR-LOCAL 57 Figura 33 – Tela do SAR-LOCAL em Execução 58 Figura 34 – Tela do SAR-LOCAL na Barra de Tarefas 59 Figura 35 – Maquete 60
  • 10. LISTA DE ABREVIATURAS E SIGLAS 1. PHP - Hypertext Preprocessor 2. PIC - Programmable Interface Controller 3. I/O - Input/output 4. SAR - Sistema de Automação Residencial 5. GNU GPL - General Public License 6. BSD - Berkeley Software Distribution 7. LGPL - Lesser General Public License 8. DLL - Dynamic-link library 9. USB - Universal Serial Bus 10. V – Volts 11. PWM - Pulse Width Modulation 12. mA – miliAmperes 13. Mhz - mega-hertz 14. KB - Kilobyte 15. HTML - HyperText Markup Language 16. HTTP - Hypertext Transfer Protocol 17. IMAP - Internet Message Access Protocol 18. SNMP - Simple Network Management Protocol 19. NNTP - Network News Transfer Protocol 20. POP3 - Post Office Protocol 21. NCP - Network Control Protocol 22. FTP - File Transfer Protocol 23. WWW - World Wide Web
  • 11. SUMÁRIO INTRODUÇÃO .................................................................................................................................... 10 2. AUTOMAÇÃO RESIDENCIAL ..................................................................................................... 11 2.1 OPEN HARDWARE E OPEN SOURCE ..................................................................................... 13 2.2 HARDWARE UTILIZADO........................................................................................................ 16 2.3.1. ARDUÍNO ......................................................................................................................... 16 2.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 ............................................................................................................................ 24 2.3.3. SHIELDS ............................................................................................................................ 25 A. SHIELDS MÓDULO RELÉ ................................................................................................................. 25 B. SHIELDS SENSOR DE TEMPERATURA ............................................................................................. 26 3. METODOLOGIA E FERRAMENTAS ............................................................................................ 27 A. PHP ........................................................................................................................................... 27 B. BANCO DE DADOS MYSQL........................................................................................................ 28 C. APACHE .................................................................................................................................... 28 D. WAMPSERVER 2.1E .................................................................................................................. 29 E. C/C++ ........................................................................................................................................ 29 F. DIA 0.97.1-1.............................................................................................................................. 29 G. INTERNET.................................................................................................................................. 30 H. REDES SEM FIO ......................................................................................................................... 31 I. DDNS ........................................................................................................................................ 31
  • 12. J. VISUAL BASIC 2008 EXPRESS EDITION ..................................................................................... 32 K. JQUERY ..................................................................................................................................... 32 3.1 MODELAGEM DO SISTEMA .................................................................................................. 33 A. UML .......................................................................................................................................... 33 B. CASO DE USO............................................................................................................................ 33 C. DIAGRAMA DE SEQUÊNCIA ...................................................................................................... 34 D. DICIONÁRIO DE DADOS ............................................................................................................ 36 E. DIAGRAMA DE ENTIDADE RELACIONAL ................................................................................... 37 4. FUNCIONAMENTO DO SISTEMA .............................................................................................. 38 A. COMPONENTES DO SISTEMA ................................................................................................... 39 B. ACESSO AO SISTEMA ................................................................................................................ 39 C. PROJETOS FUTUROS ................................................................................................................. 39 5. RESULTADOS ............................................................................................................................ 41 CONCLUSÃO ...................................................................................................................................... 61 REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................................................... 62 APÊNDICES ........................................................................................................................................ 65 1. CÓDIGO FONTE DO SISTEMA ................................................................................................... 66
  • 13. 10 INTRODUÇÃO Novas tecnologias surgem, e cada vez mais as pessoas procuram facilidades para o seu dia a dia, porém, muitas dessas tecnologias possuem alto valor de implantação, que torna difícil a aquisição. Quando fala-se em tecnologia, as pessoas associam este termo aos carros e seus computadores de bordo, celular, tablets e dezenas de outros dispositivos disponíveis no mercado. Algo que chama a atenção de muitos por oferecer grande conforto e segurança, são as casas inteligentes que podem ser gerenciadas por pessoas sem mesmo que esteja dentro dela. Muitas ações podem ser executadas, até o simples fato de uma pessoa ligar e desligar uma lâmpada pelo interruptor pode ser modificado com a implantação de um 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 a rede de internet. Um sistema de automação residencial é composto de placas microcontrolada com chip programável e um sistema lógico para gerenciamento, sendo que placas microcontroladoras mais sofisticadas possuem um valor alto de implantação e ferramentas mais complexas para a utilização. Visando um baixo custo para a implementação do sistema será utilizado o microcontrolador Arduíno, que é de código aberto e livre para que pessoas com conhecimento em eletrônica e programação possam utilizar da sua imaginação para desenvolver projetos. Com as fabricações das Shields podem-se adicionar novos componentes que aumentam a capacidade de gerenciamento do Arduíno, como placas de rede, Bluetooth, Sensores entre outros. Propondo a implementação de um sistema que será capaz de gerenciar uma residência, que será utilizado das mais novas tecnologias para que se possa garantir conforto e segurança às pessoas que irão ter acesso ao uso do SAR-WEB.
  • 14. 11 2. AUTOMAÇÃO RESIDENCIAL Domótica que se refere à junção da palavra latina Domus (casa) com Robótica, que se traduz na instalação de tecnologia em uma residência, que a torna a Automação Residencial. De acordo com ALPHATRON (2011), nos Estados Unidos a Automação Residencial já esta presente em mais de 5 milhões de residência, é amplamente utilizado no Canadá, Europa e Ásia. No Brasil ainda é pouco difundido o uso de automação residencial, mas com as novas tecnologias que estão surgindo, logo todos poderão automatizar as suas residências com um baixo custo. O gerenciamento ocorre com o uso de um controle remoto ou até mesmo um telefone celular, e é um procedimento nominado de Automação Residencial. A grande comodidade de estar no quarto e poder desligar a luz da sala pelo telefone celular já pode ser implantado por um sistema de automação residencial. Podem-se incluir itens como iluminação, segurança, temperatura de ambientes e controle de equipamentos diversos. No controle de iluminação, como por exemplo, pode ser ligado e desligado uma luz em um exato momento assim como programar horários para permanecerem ligadas durante um período. Ao se afastar da residência, uma pessoa pode programar para que em determinada hora as luzes do jardim possam se desligar, permitindo a simulação da presença de uma pessoa na residência, afastando possíveis invasões por elementos mal intencionadas. Na área de segurança, um sistema de automação residencial pode gerenciar sensores instalados na residência. Assim poderá acionar alarmes ou comunicar ao
  • 15. 12 proprietário da residência, através de alertas no telefone celular ou e-mail, a presença de um intruso. A temperatura de um ambiente interno pode variar com o horário e o clima das estações do ano. Em um SAR encontram-se sistemas capazes de fazer a leitura da temperatura de um ambiente, dessa forma pode ser programadas ações de acordo com a temperatura. Como por exemplo, caso a temperatura esteja abaixo de 15ºC, um aquecedor poderá ser acionado para permanecer ligado até que a temperatura chegue em 20ºC. A mesma checagem poderá ocorrer quando a temperatura 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 a necessidade. Assim como o ar-condicionado e o aquecedor, outros dispositivos podem ser controlados para diversas finalidades, como, alimentar um animal, ligar ou desligar regadores de plantas, filtros de piscinas, aquários e outros. Existe uma gama de equipamentos que podem ser acionados e programados para determinado tempo em funcionamento, bastando para isso, estar interligado ao SAR.
  • 16. 13 2.1 OPEN HARDWARE E OPEN SOURCE Para o desenvolvimento do projeto serão utilizadas às plataformas Open Source e Open Hardware, visando o menor custo possível para a implantação do sistema, assim o SAR irá se popularizar com mais facilidade. Nos Tópicos abaixo serão detalhados o que são cada uma das plataformas. • Open Hardware são placas que tem a disposição às informações para que possam ser fabricadas, são fornecidos os diagramas, circuito impresso e dados técnicos, assim pessoas podem produzi-las domesticamente e até mesmo comercializá-la. Segundo MELLIS (2009), o Hardware de código aberto traz as vantagens de se adaptar ao modelo de negócios e o fornecimento de diversas situações para os projetos. Empresas podem vender kits para a montagem de dispositivos compatíveis com Arduíno, por exemplo. Para MELLIS (2009), o Hardware de código aberto em longo prazo vai se sustentar, pois é diferente de outros negócios. As empresas têm que fazer um preço justo para que possam vender. Trabalhando com o código aberto, nos influencia a cada vez mais trabalhar com qualidade, pois outras empresas podem fabricar o mesmo produto e vender. • Open Source são sistemas que fornecem os códigos para que mais pessoas podem modificá-los e melhorá-los, Open Source em português significa código aberto e também muito conhecido como sendo Software livre. Em 1998 a empresa 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 com código aberto deve garantir os seguintes requisitos.
  • 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ão descrito a seguir. Para BORTOLI (2009), GNU GPL - A Licença Pública Geral GNU (GNU General Public License, GPL) é a mais comum existente, e prevê que os softwares sob sua guarda estejam em código-aberto e assim permaneçam após eventuais modificações. Ou seja, se determinada empresa, usuário ou desenvolvedor for incorporar ou modificar o código, precisará liberar a versão final. Para BORTOLI (2009), BSD - A licença BSD elaborada pela Berkeley Software 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. 15 que um software modificado a partir de um código-aberto possa ser vendido, e não obrigatoriamente aberto. Para BORTOLI (2009), Artistic License - Essa licença permite a redistribuição de arquivos binários, mas restringe a redistribuição de códigos modificados, a fim de proteger os autores de determinado software. LGPL ou Library GPL. Esta é uma variação da licença GPL que permite o desenvolvimento de programas de código aberto que contenham módulos proprietários. Na GPL "tradicional" todo o código do programa é aberto, isso atende bem à maioria dos projetos colaborativos. A LGPL funciona melhor nestes casos, pois permite que você desenvolva programas "semi abertos" onde parte do código do programa está disponível e o restante das funções é proporcionada por alguns binários que não possuem seu código aberto, estes binários linkados no programa no momento da compilação, de uma forma análoga às DLL's do Windows. MORIMOTO (2005).
  • 19. 16 2.2 HARDWARE UTILIZADO Para o desenvolvimento desde trabalho será utilizado uma placa microcontroladora que é open hardware e open source, para que o projeto não tenha um 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 no projeto e seus componentes para que possam auxiliar no gerenciamento de dispositivos, que são as placas Shields. 2.3 ARDUÍNO No desenvolvimento deste trabalho será utilizado à placa Arduíno, por ser uma plataforma de fácil implementação e Baixo custo. Atualmente no Brasil é uma tecnologia nova, mas segundo o site Olhar digital possui uma comunidade colaborativa na web o www.arduino.cc, que já possui mais de vinte mil pessoas de todo o mundo. Segundo BOEIRA (2011), a placa microcontroladora Arduíno foi inventada na Itá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 sinais como recebe sinal de um objeto do mundo real com auxilio de sensores. Trabalha com um Microcontrolador PIC, que é o gerenciador da placa, pode ser implementada em diversas linguagens, uma dela é o PHP, que será utilizada para desenvolver o projeto. Em 2005 na cidade de Ivrea se iniciou a prototipagem de uma placa microcontrolada para que as instituições possam reduzir custo na implantação de projetos estudantis de eletrônica e informática. Assim se deu inicio a plataforma Arduíno (Arduino.cc). Conforme o Site Oficial (Arduino.cc), O seu sucesso teve início com o recebimento de uma menção honrosa na categoria Comunidades Digital em 2006
  • 20. 17 pela Prix ArsElectronica. Assim obteve um grande volume de vendas com mais de 50.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, desta forma estudantes podem desenvolver projetos com o custo reduzido e de ótima qualidade. Para Werneck (2009), Arduíno é uma placa microcontroladora, computador físico baseado numa simples plataforma de hardware livre, que possui suporte para I/O (entradas/saídas), utilizando uma linguagem de compilação C/C++. O objetivo desta placa é a criação de projetos de baixo custo, assim poderão ser acessíveis a usuários de eletrônica básica e informática. O Arduíno inicialmente foi desenvolvido com uma interface de comunicação serial, 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 o mesmo 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 ser implementada em uma linguagem multi-plataforma, podendo ser desenvolvido em sistemas Linux, Mac e Windows. Sendo assim Não há a necessidade de programar um software para cada sistema operacional. Enquanto a maioria dos outros microcontroladores são limitados para Windows.
  • 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 rodar no Arduíno”, mas, suficientemente flexível para que usuários avançados possam desenvolver e utilizar todo o seu potencial. 2.3.1. VERSÕES ARDUÍNO Até o desenvolvimento deste trabalho foram produzidas comercialmente 11 versões do dispositivo que foram encontradas no site oficial (arduíno.cc) , Arduíno Serial, Arduíno UNO, Arduíno EXTREME, Arduíno MINI, Arduíno nano, Arduíno LilyPad, Arduíno NG, Arduíno NG PLUS, ArduínoBT, ArduínoDiecimila, Arduíno Duemilanove, Arduíno MEGA. As versões existentes têm o mesmo objetivo, que é controlar os dispositivos do mundo real, mas cada placa possui uma característica que é o seu tamanho ou capacidade de gerenciamento. Assim analisando cada uma, poderá identificar qual placa que será utilizada no projeto a ser desenvolvido. Figura 01 – Desenho Gráfico do Arduíno Fonte: http://www.artificialtourism.com/arduino-workshop Nos próximos tópicos serão detalhadas algumas das versões acima, nas quais possuem diferenças relevantes entre elas.
  • 22. 19 A. ARDUÍNO SERIAL Primeira placa desenvolvida para o uso em projetos pequenos e objetivos. Atualmente não é mais produzida comercialmente, devido a sua interface de comunicação Serial RS232 que é pouco encontrado no mercado. No site oficial do Arduí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. 20 B. ARDUÍNO UNO O Arduíno UNO representa a versão 1.0, foi a primeira a ser fabricada com a interface de comunicação USB. A placa Arduíno UNO é mais indicada para iniciantes devido ao seu baixo custo, mas o que deixa a desejar é a sua pouca capacidade 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. 21 C. ARDUÍNO MINI Placa desenvolvida com um tamanho menor que as anteriores, mas com a mesma capacidade de processamento das já desenvolvidas, a diferença é que deve ser 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ão se 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. 22 D. ARDUÍNO LILYPAD Placa desenvolvida no modelo circular com 50mm de diâmetro, para projetos portá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. 23 E. ARDUÍNO BT Placa desenvolvida com base no Microcontrolador Atmega168, com a mesma capacidade que o Arduíno UNO, porém com a grande vantagem de possuir comunicação sem fio via Bluetooth. Um exemplo que pode ser implementado com esta placa é um sistema que controle um robô, assim o usuário poderá, através de um 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. 24 F. ARDUÍNO MEGA O Arduíno MEGA é uma placa modificada com uma grande quantidade de entradas 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 de memória flash e gerenciador de boot. Ambas possuem mais capacidade de entradas e saídas que as placas anteriores, obtendo um ótimo custo e beneficio, esse é um dos 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. 25 2.3.2. SHIELDS São placas que são usados para que possa ter um maior gerenciamento junto ao Arduíno, normalmente são instaladas em cima do próprio Arduíno com o intuito de ocupar menos espaços, mas existem certos modelos que devido ao seu tamanho 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 um Relé que são projetados para ativar ou desativar um determinado equipamento, como ventiladores, lâmpadas, liberação de portas e diversos equipamentos que necessitam de energia para operar, de acordo com a Siemens Para MORIMOTO (2005), O Relé é um dispositivo eletromecânico, formado por 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 de entrada de 5volts, que acionará o Relé e libera a energia elétrica para acionar um dispositivo, como uma lâmpada ou até mesmo um ventilador, a energia liberada pode variar entre 110volts e 220volts. Figura 08 – Módulo Relé Fonte: http://sbt.siemens.com/FIS/productdoc/catalogs/3125pr.pdf
  • 29. 26 B. SHIELDS SENSOR DE TEMPERATURA De acordo com o Glossário de Termos Técnicos, Sensores são “Sofisticados instrumentos científicos capazes de detectar e analisar quase tudo que se possa imaginar”. Existem diversos tipos de sensores, neste projeto serão usados somente o sensores de Temperatura que analisa a temperatura atual e informam a um dispositivo que será armazenado ou exibido em alguma tela. O sensor de temperatura é um componente eletrônico que recebe a temperatura atual do ambiente e envia ao Arduíno em forma de milivolts, assim o sistema irá fazer a conversão e tomará as decisões de acordo com a temperatura. O Sensor a ser utilizado será o LM35 devido ser o que mais se adaptou com a tecnologia Arduíno. Figura 09 – Sensor de Temperatura Fonte: http://www.robotbase.cc
  • 30. 27 3. METODOLOGIA E FERRAMENTAS Para o desenvolvimento deste projeto, foi utilizado o método dedutivo, e a pesquisa teórica para que possa colocar os estudos em prática. Foram pesquisados diversos sites para que auxiliassem nos estudos, pois a utilização de plataformas open hardware e open source são métodos de grande utilização, para se ter um sistema de baixo custo e grande diferencial. Nos tópicos abaixo será detalhado um pouco mais sobre as ferramentas que serão utilizadas para o desenvolvimento do projeto. A. PHP No desenvolvimento da interface deste projeto será utilizada a linguagem de script PHP, pois esta é considerada uma linguagem de fácil compreensão, multi plataforma além do fato de ser uma das linguagens mais utilizadas para programação web. Segundo ULLMAN ( 2001), “PHP é o melhor, mais rápido e mais fácil de aprender que outras linguagens semelhantes”. Para BRAVALHERI (2011), PHP é uma ferramenta de desenvolvimento web de sites dinâmicos, sua linguagem é baseada em scripts. A partir da versão 4 a linguagem PHP recebeu uma Enginer, aplicativo na qual executa os scripts, chamada Zend, que pode ser incorporada em HTML. Foi concebido em 1994 por Rasmus Lerdorf que disponibilizou seu código fonte na web, e possibilitava a utilização na maior parte dos servidores HTTP. Segundo BRAVALHERI (2011), A vantagem que o PHP possui suporte nativo a uma grande quantidade de banco de dados, como o dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL. Outros serviços podem ser encontrado através de protocolos, como o IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP.
  • 31. 28 B. BANCO DE DADOS MYSQL O Banco de Dados MySQL é um sistema gerenciador de dados desenvolvido inicialmente para a sistemas web, possui uma grande quantidade de programadores que utilizam em seus projetos para web a nível mundial, sendo também que um dos fatores que influenciam a sua escolha é devido o mesmo ter sua licença gratuita disponí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ão de e-commerce online, Data Warehousing, sistema de geração de relatórios e sistemas de analises. C. APACHE Será utilizado o Servidor Apache para fornecer um serviço de hospedagem do SAR-WEB, sendo um dos mais utilizado por programadores PHP, possui sua licença gratuita e de código aberto para que possa ser alterado. Para FERNANDO (2011), o servidor Apache foi criado para a interpretação de linguagens WEB, muito utilizado por programadores em PHP. Possui a função de ler o 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 e de interação com os utilizadores do sistema. No inicio o servidor Apache foi criado somente para a plataforma UNIX podendo ser instalado em sistemas operacionais relacionados, como Linux e FreeBSD, atualmente já é possível a instalação em plataforma Windows.
  • 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 grande facilidade de utilização da ferramenta influenciou a sua escolha. “WAMPSERVER é uma plataforma para desenvolvimento Web no Windows. Ele permite que você desenvolva aplicações Web dinâmicas utilizando o servidor Apache 2, a linguagem de script PHP e banco de dados MySQL. Tem também o PHPMyAdmin para gerenciar mais facilmente seus bancos de dados.”(WAMPSERV). E. C/C++ A linguagem C/C++ será utilizada para que possam ser compilados os códigos na placa Arduíno, assim poderá ser gerenciada a placa com a linguagem de script PHP. A Linguagem C++ foi desenvolvida por Dennis M. Ritchie no inicio da década de 70, herdou idéias e características de outras linguagens de programação, como a linguagem BCPL que foi criada por Martin Richards em 1967 e a linguagem B, que foi 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 programa gratuito e de fácil uso, possui suporte a maioria dos diagramas. Segundo o site da
  • 33. 30 Info, O DIA é inspirado no programa da Microsoft, o Visio. Ele pode ser usado para o desenho de diferentes tipos de diagramas. Atualmente, tem objetos especiais para ajudar no desenho de diagramas de entidade-relacionamento, UML, gráficos de fluxo, diagramas de rede e muitos outros diagramas. G. INTERNET O sistema poderá fornecer um link na internet que o usuário terá o acesso a ele como se estivesse em sua residência, possibilitando gerenciá-lo, bastando uma conexão com internet. Possuirá uma ferramenta que fornecera um endereço fixo para o acesso, assim não será necessária à contratação de um endereço fixo para o sistema. Segundo ZEVALLOS (2009), A Internet começou em 1969 com o projeto do governo americano chamado ARPANET, que tinha como objetivo interligar universidades e instituições de pesquisa e militares. Na década de 70 a rede tinha poucos centros, mas o protocolo NCP, foi visto como inadequado, então, o TCP/IP foi 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. Logo na 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 base para que Marc Andreses lança-se o Mosaic para Unix em fevereiro de 1993 e logo em agosto lançaram a versão para o Windows. Como a internet está sendo o principal serviço de conectividade e cada vez mais presente em nossas vidas, a melhor opção do gerenciamento via internet poderá ser implantado.
  • 34. 31 H. REDES SEM FIO Para a que o sistema tenha um melhor desempenho quando se encontra o usuá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 dois dispositivos 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 de comunicação em uma rede local de computadores, substituindo o cabeamento convencional HENZE, ALLAN GABRIEL Apud PAHLAVAN, (2002). Segundo MORAES (2007) “cada Access point pode atender a vários usuários na 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ários mal intencionados. I. DDNS Conexões do tipo ADSL, Cable Modem, Velox, Speedy e outras formas de banda larga, apesar de muito velozes, têm o inconveniente de fornecer um endereçamento com IP Dinâmico. Ou seja, a cada conexão, o computador terá um IP 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 para conexão de usuários. O DDNS foi desenvolvido pela Winco para resolver este problema de uma forma extremamente simples de usar. Uma vez instalado, o DDNS cria um nome fixo
  • 35. 32 que 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 de internet, 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 criar aplicativos para o Windows, encontrando uma série de ferramentas poderosas para o desenvolvimento dos projetos. O Visual Basic é uma linguagem de programação que oferece um ambiente de desenvolvimento integrado totalmente gráfico, tornando assim 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 a comunicação entre o Banco de dados e o Arduíno, será feito verificações nos tabelas 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 banco de dados a cada segundo, se houver irá executar os códigos programados. K. JQUERY JQUERY é uma poderosa biblioteca JavaScript criada para simplificar a criação de efeitos visuais e de interatividade em web sites. Segundo SILVA(2008) Desenvolvedores especialistas em JavaScript, ao conhecerem as maravilhas de que a biblioteca é capaz, com certeza vão se perguntar: "Por que não pensei nisso antes?" Iniciantes, com noções rudimentares de JavaScript, experimentarão uma curva 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 e funcional para o usuário.
  • 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 e definir horários para o acionamento de dispositivos. Será utilizado a UML (Unified Modeling Language) para a modelagem devido apresenta os diagramas com mais clareza e assim não terá duvidas para o desenvolvimento do sistema. A. UML Para MACORATTI (2006), a UML é um modelo de linguagem para modelagem de dados, com ela podemos fazer uma modelagem visual de maneira que os relacionamentos entre os componentes do sistema sejam mais bem visualizados e compreendidos e documentados. Podemos dizer também que a UML é uma linguagem para especificar, construir, visualizar e documentar um sistema de software que surgiu com a fusão das metodologias já anteriormente usadas e tem como 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 com o mundo real. Segundo MACORATTI (2006) os diagramas de caso de uso exibem a
  • 37. 34 visão externa do sistema e suas interações com o mundo exterior descrevendo seus requerimentos e suas responsabilidades e possuem três elementos, que são o Ator o 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 o ator 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 diferentes classes. O objetivo dos diagramas de sequência é descrever as comunicações necessárias entre objetos para a realização dos processos em um sistema computacional. Na figura 11, irá detalhar como o usuário efetua os cadastros no formulário de cadastro do sistema SAR-WEB.
  • 38. 35 Figura 11 – Diagrama de Sequência do formulário de cadastro Fonte: Própria Na 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. 36 D. DICIONÁRIO DE DADOS No dicionário de dados será detalhada cada tabela do banco de dados como as descrições, tipo, atributos e as chaves primárias e secundárias assim ficam de mais fácil entendimento cada atributo da tabela. Entidade: TB_Usuário Descriçã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_Comodo Descriçã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_Dispositivo Descriçã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 N nome_dispositivo Varchar Armazena o nome do dispositivo N tipo_Dispositivo Varchar Armazena o tipo do dispositivo N porta_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_temperatura Descriçã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 N dataTemperatura Varchar Armazena o tipo do dispositivo N Tabela 11 – Tabela Temperatura do banco de dados.
  • 40. 37 E. DIAGRAMA DE ENTIDADE RELACIONAL Modelado os dados, para que possam ser mais bem compreendidos os relacionamentos entre as tabelas do banco de dados, se tornando um documento mais organizado e de fácil entendimento. Figura 13 – Diagrama de Entidade Relacional Fonte: Própria
  • 41. 38 4. FUNCIONAMENTO DO SISTEMA Para o funcionamento do sistema será necessário a utilização de um aplicativo que foi desenvolvido em Visual Basic (SAR-LOCAL) que fará uma comunicaçã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 funcionamento do Sistema. Figura 14 – Funcionamento do Sistema.
  • 42. 39 Fonte: Própria A. COMPONENTES DO SISTEMA Na tabela abaixo estão os equipamentos necessários para que o sistema SAR 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 de cadastro, sendo disponíveis somente as de gerenciamento para que possa ligar/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 agendar dispositivos a executar determinadas tarefas em um exato momento, possibilitando maior segurança e comodidade ao usuário final e tornando o sistema cada vez mais robusto.
  • 43. 40 Serão implantados sensores de movimento para que detecte oscilações na residê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 se comunicar com a rede local sem a necessidade de um computador, assim será montado um servidor web diretamente na Shields, possibilitando uma economia maior de energia. Figura 15 – Shields Ethernet acoplada no Arduíno Mega Fonte: http://blog.derouineau.fr/tag/ethernet-shield/
  • 44. 41 5. RESULTADOS Neste capítulo serão mostradas as telas do sistema em funcionamento com detalhes de cada uma delas. Página de LOGIN para ter acesso ao sistema SAR-WEB, com os dados cadastrados no banco de dados. Figura 16 – Tela de Login do Sistema Fonte: SAR-WEB
  • 45. 42 Página inicial do Sistema, com opções de Cadastro, Gerenciamento e fazer LOGOUT, contendo o nome do usuário logado ao sistema. Figura 17 – Tela Inicial do Sistema Fonte: SAR-WEB
  • 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. 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. 45 Cadastros de Cômodos, nesta página serão cadastrados todos os cômodos existentes na residência. Figura 20 - Tela de Cadastro de Cômodos Fonte: SAR-WEB
  • 49. 46 Tela 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. 47 Página dos Dispositivos Cadastrados no Banco de Dados do SAR-WEB nela tem as opções somente de Editar, devido os dispositivos já são pré-configurados no sistema. Figura 22 – Tela de exibição dos Dispositivos Fonte: SAR-WEB
  • 51. 48 Página de Edição de Dispositivos, nela só é possível a modificação da Descriçã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. 49 Página dos Usuários cadastrados no Banco de Dados SAR-WEB, nela tem as opções de Cadastrar Novo Usuário, Editar e Excluir. Figura 24 – Tela de Usuários Cadastrados Fonte: SAR-WEB
  • 53. 50 Página de Cadastrar Usuário, serão fornecidos pelos usuários os dados para que efetue o cadastro no Banco de Dados do SAR-WEB, sendo de suma importância, devido fica armazenado os dados de login para o usuário utilizar a cada momento que tenha acesso ao sistema. Figura 25 – Tela de Cadastro de Usuário Fonte: SAR-WEB
  • 54. 51 Página de Edição de Usuários, nela é feita a edição de dados cadastrais dos usuá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. 52 Página de Gerenciamento, nela são exibidos todos os Cômodos cadastrado no SAR-WEB. Possui uma função especial, a de desligar todos os Dispositivos do Sistema. Função importante, pois caso o usuário deseja sair da residência e o mesmo não deseja ir desligando todos os dispositivos um de cada vez, basta clicar no botão Desligar Tudo. Figura 27 – Tela principal de Gerenciamento Fonte: SAR-WEB
  • 56. 53 Página para gerenciar dispositivos cadastrados no Cômodo Selecionado, nela será exibida todos os dispositivos que estão cadastrados no SAR-WEB e vinculados ao 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. 54 Página para ligar/desligar o dispositivo cadastrado ao SAR-WEB. Figura 29 – Tela de Gerenciamento do dispositivo Fonte: SAR-WEB
  • 58. 55 Página para gerenciar dispositivos cadastrados no Cômodo Selecionado, nela serão exibido todos os dispositivos que estão cadastrados no SAR-WEB e vinculados 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. 56 Página de exibição da Temperatura atual do ambiente que foi instalado, a temperatura é atualizada a cada segundo, sendo assim informando ao usuário a cada variação. Figura 31 – Tela de Exibição da Temperatura do Ambiente Fonte: SAR-WEB
  • 60. 57 Aplicativo em Visual Basic, ele é quem faz a comunicação do banco de dados ao Arduíno, cada modificação feita no banco de dados ele verifica e envia para o Arduíno, fazendo as modificações solicitadas pelo usuário. Figura 32 – Tela do SAR-LOCAL Fonte: Própria
  • 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íno como relés e sensor de temperatura. Figura 33 – Tela do SAR-LOCAL em Execução Fonte: Própria
  • 62. 59 Tela do sistema em funcionamento na Barra de Tarefas com menu aberto apó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. 60 A figura abaixo mostra a maquete de uma parede para demonstrar a funcionalidade do sistema, possuindo duas lâmpadas, duas tomadas padrão, uma tomada de ar condicionado, um interruptor paralelo, ao lado possui um tablet e um notebook acessando o SAR-WEB. Figura 35 – Maquete Fonte: Própria
  • 64. 61 CONCLUSÃO Este projeto foi desenvolvido para que haja um grande avanço tecnológico em residências, visando o menor custo possível, assim pessoas de diversas classes poderã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 de plataformas open hardware é baseada no Arduíno MEGA1280, junto com as Shields se torna um microcontrolador de alto gerenciamento. O simples fato de ligar e desligar uma lâmpada foram implementados para que um computador e até mesmo um dispositivo móvel possa gerir de forma simples e objetiva. O microcontrolador Arduíno utilizado está cada vez mais se propagando no 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 sistema tranquilamente, devido ao custo baixo dos recursos a serem utilizados e a quantidade de benefícios que o sistema irá trazer são enormes. A utilização da plataforma web se propiciou, pois se tornou um sistema de fá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 que possa adaptar o SAR com as tecnologias que vão surgindo no mercado, a utilização dos sensores poderá garantir cada vez mais segurança ao usuário, a Shields Ethernet irá evitar o uso de um computador local com um servidor instalado.
  • 65. 62 REFERÊNCIAS BIBLIOGRÁFICAS ARDUÍ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 de 2011. ALECRIM, E. INFOWESTER (2006), Creative Commons: Por que usar?. Disponível em: http://www.infowester.com/creativecommons.php. Acessado em 26 Maio 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. 63 BRAVALHERI, Anderson, Curso PHP. Disponível em: UNICAMP: http://www.jr3e.fee.unicamp.br/Home/index.php?option=com_content&view=article&i d=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 2011 HENZE, ALLAN GABRIEL Apud PAHLAVAN, 2002. Disponível em ULBRA: http://guaiba.ulbra.tche.br/wp-content/uploads/2011/04/trabalho_allan.pdf. Acessado em 12 de maio de 2011 SANTOS, 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 de 2011. MACORATTI, José Carlos (2006), UML - Unified Modeling Language e Visual Modeler. Disponível em: http://www.macoratti.net/uml_vb.htm. Acessado em 27 Maio 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. 64 OLHAR DIGITAL (2011), Arduíno: robótica para iniciantes. Disponível em http://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 em http://www.sacstech.com.br/index.php?option=com_content&view=article&id=28&Ite mid=36. Acessado em 22 de Maio de 2011. SIEMENS, Módulo de Relé Suplementar para o Sistema . Disponível em http://sbt.siemens.com/FIS/productdoc/catalogs/3125pr.pdf. Acessado em 21 de abril de 2011. SILVA, M. S. (2008). JQUERY - A Biblioteca do Programador JavaScript. Novatec, edição 2° . WINCO TECNOLOGIA E SISTEMAS, DDNS. Disponível em http://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 em 26 Abril 2011.
  • 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. 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. 68 (28, 'Sar Web', 'sar', 'sar', 'sar@sar.com', '6981188765'); PASTA PRINCIPAL DO SISTEMA INDEX.PHP <!--Validar SESSÃO--> <?php require 'validar.php'; /*Verifica qual tipo de dispositivo, caso for movel redireciona automaticamente para a pagina de 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. 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. 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"> <?php include "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 da autenticaçã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 login novamente echo 'Senha Invalida!!!'; echo'<meta http-equiv="refresh" content="2; URL=index.php"> <!-- rediricionamento automatico da pagina -->'; } } else{ echo'Usuario não existe!!!';// caso o usuario for invalida exibe a mensagem e envia para a pagina de login novamente echo '<meta http-equiv="refresh" content="2; URL=index.php"> <!--rediricionamento automatico da pagina -->'; }
  • 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ÃO session_start(); //DESTRÓI AS VARIÁVEIS unset($_SESSION['id_UserLogar']); unset($_SESSION['nome_UserLogar']); //REDIRECIONA PARA A TELA DE LOGIN header("Location: login.php"); ?>
  • 75. 72 Cadastro.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>
  • 76. 73 DispositivoMovel.php <!--Validar SESSÃO--> <?php require 'validar.php'; ?> <!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"> <p>Bem vindo Você está acessando de um Dispositivo Móvel</p> <p>Para Dispositivo Móvel está disponivel apenas para gerenciamento!!!</p> </div> <div class="ui-body ui-body-a" align="center"> <fieldset class="ui-grid-a"> <div class="ui-block-a" align="center"> <a href="gerenciar/indexgerenciar.php" rel="external"><button type="button" data- theme="a" rel="external">Ir em Gerenciador</button></a> </div> </fieldset> </div> <!-- /content --> <!------------------------------------------------------------------------------------> <div data-role="footer" align="center"> <!--Imagem de Rodape--> <img src="img/By KHOP.png"/> </div> <!-- fim footer --> </div> <!-- fim page --> </body> </html>