SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
CENTRO UNIVERSITÁRIO CENTRAL PAULISTA
          CURSO DE ENGENHARIA DE COMPUTAÇÃO




AUTOMAÇÃO RESIDENCIAL USANDO MICROCONTROLADORES E
  TECNOLOGIAS DE ESTADO DA ARTE EM PROGRAMAÇÃO
                VOLTADA À INTERNET




                                          BRUNO GASTALDI




                     SÃO CARLOS - SP
                          2008
II




         CENTRO UNIVERSITÁRIO CENTRAL PAULISTA
          CURSO DE ENGENHARIA DE COMPUTAÇÃO




AUTOMAÇÃO RESIDENCIAL USANDO MICROCONTROLADORES E
  TECNOLOGIAS DE ESTADO DA ARTE EM PROGRAMAÇÃO
                VOLTADA À INTERNET




                                                  BRUNO GASTALDI


                            Trabalho de Conclusão de Curso apresentado ao
                            curso de Engenharia de Computação do Centro
                            Universitário Central Paulista (UNICEP) como
                            requisito parcial para a obtenção do Título de
                            Bacharel em Engenharia de Computação.




                     SÃO CARLOS - SP
                          2008
III




_________________________
Orientador
Prof. Emerson Carlos Pedrino
IV




                   DEDICATÓRIA:

Este trabalho é dedicado a toda minha
família, meus professores e colegas de

faculdade e principalmente a DEUS por
ter sempre me colocado no caminho

certo.
V




                                    RESUMO




      A realidade de sistemas automatizados é cada vez mais aparente na vida
moderna. Casas e prédios já contam com sistemas integrados de controle que
possibilitam a realização de inúmeras atividades com facilidade e, em alguns casos,
sem haver necessidade de presença física.
      Sistemas automatizados têm o custo muito elevado e poucas pessoas têm
acesso. Sendo assim, o presente trabalho tem como justificativa pesquisar,
implementar e simular uma solução de baixo custo utilizando microcontroladores e
tecnologias de estado da arte em programação voltada à internet.
VI




                                    ABSTRACT




       The reality of automated systems had been increasing apparent in modern life.
Houses and buildings already have control of integrated systems that enable the
achievement of many activities with ease and in some cases without the need for
physical presence.
      Automated systems have a very high cost and few people have access.
Therefore, this work looks for research, implement and simulate a solution using low-
cost microcontrollers and technologies of state of the art in programming geared to
the Internet.
VII




                                                     ÍNDICE DE FIGURAS


Figura 1 – Comunicação dos elementos através da WEB ............................................................. 2
Figura 2 – Navegadores mais utilizados nos dias atuais ............................................................... 3
Figura 3 – Modelos de aplicações WEB ......................................................................................... 5
Figura 4 – Estatística do uso de Softwares de Servidores WEB ................................................... 7
Figura 5 – Núcleo da família 8051 .................................................................................................. 9
Figura 6 – Diagrama de Blocos do projeto proposto ...................................................................... 10
Figura 7 – Fluxograma de navegação                      ......................................................................................... 13
Figura 8 – Estrutura dos diretórios e arquivos ............................................................................... 14
Figura 9 – Apresentação do site e área de login ............................................................................ 16
Figura 10 – Autenticação do usuário .............................................................................................. 16
Figura 11 – Página principal do sistema responsável por interligar as tarefas .............................. 17
Figura 12 – Apresentação do sistema e lista dos dispositivos ....................................................... 17
Figura 13 – Painel de Controle ...................................................................................................... 18
Figura 14 – Visualização dos cômodos/status ................................................................................ 18
Figura 15 – Edição dos cômodos/status ........................................................................................ 19
Figura 16 – Confirmação dos status alterados ............................................................................... 19
Figura 17 – Visualização de todos os cômodos/status,da residência ............................................ 20
Figura 18 – Recebimento de mensagem SMS ............................................................................... 20
Figura 19 – Saindo do sistema ....................................................................................................... 21
Figura 20 – Estrutura dos diretórios e arquivos ............................................................................. 21
Figura 21 – Área de login ............................................................................................................... 23
Figura 22 – Layout principal do software para PCs ....................................................................... 24
Figura 23 – Cômodos disponíveis na residência ............................................................................ 25
Figura 24 – Exibindo status da lâmpada atual ............................................................................... 26
Figura 25 – Exibindo novo status da lâmpada ................................................................................ 27
Figura 26 – Informações relevantes sobre o usuário ..................................................................... 28
Figura 27 – Suporte via formulário ................................................................................................. 29
Figura 28 – Câmera Online ............................................................................................................ 30
Figura 29 – Gerenciador de tarefas diário ...................................................................................... 31
Figura 30 – Gerenciador de tarefas ............................................................................................... 32
Figura 31 – Status dos periféricos/cômodos .................................................................................. 33
Figura 32 – Estrutura do hardware proposto .................................................................................. 34
Figura 33 – Interface Delphi ........................................................................................................... 35
VIII




                                                   LISTA DE TABELAS


Tabela 1 – Bancos suportados pelo PHP ....................................................................................... 6
Tabela 2 – Pinagem da porta serial ............................................................................................... 8
IX




                          LISTA DE ABREVIATURAS E SÍGLAS



PHP – PHP Hypertext Pre-Processor
PDA – Personal Digital Assistant
WAP – Wireless Access Protocol
PC – Personal Computer
WWW – World Wide WEB
HTML – HyperText Markup Language
XHTML – eXtended HyperText Markup Language
WML – Wireless Markup Language
HTTP – HyperText Transport Protocol
USB – Universal Serial Bus
AJAX – Asynchronous JavaScript and XML
XML – EXtensible Markup Language
CSS – Cascading Style Sheets
UNICEP – Centro Universitário Central Paulista
GSM – Global System for Mobile Communications
CDMA – Code Division Multiple Access
API – Application Programming Interface
SMS – Short Message Service
X




                                                                SUMÁRIO



CAPITULO 1 – INTRODUÇÃO ...................................................................................................... 1
                1.1 - Objetivo ............................................................................................................... 1
                1.2 - Metodologia ......................................................................................................... 1
CAPITULO 2 – REVISÃO BIBLIOGRÁFICA .................................................................................. 2
                2.1 - Dispositivos com acesso WEB ........................................................................... 2
                     2.1.1 – PC ............................................................................................................. 2
                     2.1.2 - Celular ........................................................................................................ 3
                     2.1.3 – Navegadores ............................................................................................. 3
                2.2 - Linguagens para WEB ....................................................................................... 3
                     2.2.1 – HTML ........................................................................................................ 3
                     2.2.2 – XML ........................................................................................................... 4
                     2.2.3 - WML ........................................................................................................... 4
                     2.2.4 - CSS ........................................................................................................... 4
                     2.2.5 – JavaScript ................................................................................................. 4
                     2.2.6 – AJAX ......................................................................................................... 5
                     2.2.7 - PHP ........................................................................................................... 5
                2.3 - Protocolo de comunicação ................................................................................. 6
                     2.3.1 - HTTP .......................................................................................................... 6
                     2.3.2 - WAP .......................................................................................................... 6
                2.4 - Servidor e banco de dados ................................................................................ 7
                     2.4.1 - Apache ........................................................................................................ 7
                     2.4.2 - MySQL ........................................................................................................ 7
                2.5 - Interação com componentes físicos ................................................................... 8
                     2.5.1 - Porta serial ................................................................................................. 8
                     2.5.1.1 - Conectores ou pinagem .......................................................................... 8
                     2.5.2 - Delphi .......................................................................................................... 9
                2.6 - Componentes físicos .......................................................................................... 9
                     2.6.1 - Microcontrolador 8051 ............................................................................... 9
CAPITULO 3 - O PROJETO .......................................................................................................... 10
                3.1 - Síntese do projeto .............................................................................................. 10
CAPÍTULO 4 – DESENVOLVIMENTO .......................................................................................... 11
                4.1 - Considerações Iniciais ....................................................................................... 11
                4.2 - Desenvolvimento da solução ............................................................................. 11
                     4.2.1 - Software .................................................................................................... 11
                     4.2.2 - Analise ........................................................................................................ 11
XI




                    4.2.3 - Projeto ........................................................................................................ 12
                    4.2.4 – Implementação .......................................................................................... 14
                    4.2.4.1 - Software para celulares .......................................................................... 14
                    4.2.4.1.1 - Interface visual e seu funcionamento .................................................. 15
                    4.2.4.2 - Software para PCs .................................................................................. 21
                    4.2.4.2.1 - Interface visual e seu funcionamento .................................................. 23
                    4.2.3 - Comunicação via serial com o hardware ................................................... 34
                    4.2.3.1 - Análise do hardware ............................................................................... 34
CAPÍTULO 5 - CONCLUSÃO ........................................................................................................ 36
                5.1 - Implementações futuras ..................................................................................... 36
REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................................... 37
APÊNDICE A – Comunicação serial com assembly ...................................................................... 39
APÊNDICE B – Envio de mensagens textuais via SMS ................................................................ 40
APÊNDICE C – SQL de criação do banco padrão ......................................................................... 41
1



                           CAPÍTULO 1 - Introdução


1.1 OBJETIVO
      Este projeto tem como objetivo apresentar, simular e implementar uma
solução de automação residencial de pequeno e médio porte. Para tanto, serão
utilizadas tecnologias de estado da arte em programação voltadas à internet,
procurando obter um resultado final de baixo custo, e diminuir os requisitos de
conhecimentos necessários ao usuário operante do sistema. O controle poderá ser
feito através de interfaces móveis ou fixas como, por exemplo, um PC ou um celular
com WAP que irá estabelecer uma comunicação com um servidor central presente
na residência e ligado a diversos periféricos de controle.


1.2 METODOLOGIA
      Este projeto segue uma linha de pesquisa bibliográfica baseada em consultas
a livros e sites da internet. Com base nessas pesquisas, o projeto tem finalidade
aplicada, ou seja, aplicação prática e experimental de seu objeto de estudo.
      A primeira etapa do projeto é o desenvolvimento de um software de
comunicação via WAP, pelo qual poderá se alterar os periféricos da residência a
partir de um aparelho móvel.
      A etapa seguinte constitui-se no desenvolvimento do aplicativo WEB para
monitoração da residência em 3D, através do uso de sensores de uma placa
microcontrolada que será implementada na última etapa.
2



                    CAPÍTULO 2 – Revisão Bibliográfica


      O conceito de World Wide Web (WWW), ou Internet, descreve um sistema de
informações de hipertexto, como descrito por Oliveira (2003). Ele constitui-se de uma
forma visual de navegar pelas informações com o uso de vínculos, que ligam uns
aos outros permitindo uma leitura de forma não linear.
      Para se obter o resultado final, que é a WWW, muitos elementos são
interligados de forma única, formando uma vasta rede de comunicações. Além dos
elementos comuns, novos elementos estão sendo criados e ligados a esta rede,
criando espaço para novas funcionalidades tais como e-commerce e serviços
baseados em aparelhos portáteis como PDA’s e celulares.




                   Figura 1 – Comunicação dos elementos através da WEB.



2.1 – DISPOSITIVOS COM ACESSO A WEB
2.1.1 – PC
      Os PCs (Computadores Pessoais) permitem criar documentos, planilhas,
monitorar finanças, jogar, interagir com pessoas ao redor do mundo além de outras
inúmeras possibilidades. Se um PC está conectado à Internet, existe a possibilidade
de ser usado para navegar na WEB, checar e-mails, comunicar-se com os amigos
(através de programas de mensagens instantâneas), baixar e enviar arquivos. Os
PCs tornaram-se parte integrante no cotidiano das pessoas, e hoje é difícil imaginar
a vida sem eles.
3



2.1.2 – CELULAR
      Um telefone celular é um aparelho de comunicação que possibilita a
transmissão de dados e voz, através de ondas eletromagnéticas. Grande parte dos
aparelhos e operadoras de celulares que utilizam tecnologias como GSM, CDMA e
3G, atualmente, já disponibilizam estes serviços para seus usuários, permitindo a
navegação pela Internet através de micro-browsers, além de utilizar serviços como
câmeras digitais e mensagens de texto.
      Essa evolução auxiliou ainda mais a mobilidade da Internet, abrindo as portas
às novas soluções, e sistemas baseados no acesso remoto por telefones móveis.


2.1.3 – NAVEGADORES
      Um navegador (também conhecido como browser), vulgarmente designado
por ser apenas um navegador, é um tipo de programa usado em computadores e
cada vez mais em outros dispositivos, como alguns telefones celulares, assistentes
pessoais digitais (PDAs) e controles industriais, com a finalidade de localizar, exibir
e interagir com páginas da WEB e outros recursos na Internet.
      Na figura 2 são apresentados os navegadores mais usados atualmente.




                   Figura 2 – Navegadores mais utilizados nos dias atuais
                              Fonte: MARKETSHARE (2007)



2.2 – LINGUAGENS PARA WEB
2.2.1 – HTML
      Hypertext Markup Language (HTML) é a linguagem básica utilizada para criar
documentos para a WEB e, juntamente com HTTP (Protocolo de Transferência de
Hipertexto) e URLs (Localizador Uniforme de Recursos), é um dos três principais
protocolos da WEB (W3C, 2005).
4



2.2.2 – XML
      Falcão (2007), afirmou que o XML é a abreviação de EXtensible Markup
Language (Linguagem extensível de formatação). Trata-se de uma linguagem que é
considerada uma grande evolução na internet. Porém, para quem não é
programador ou não trabalha com o uso de linguagens e ferramentas para a WEB, é
quase imperceptível as vantagens do XML.
      O XML é uma especificação técnica desenvolvida pela W3C (World Wide
WEB Consortium - entidade responsável pela definição da área gráfica da internet),
para superar as limitações do HTML, que é o padrão das páginas da WEB.


2.2.3 – WML
      De acordo com Viva o Linux (2003), o WML é a sigla em inglês para Wireless
Markup Language. Trata-se de uma linguagem de marcação baseada em XML
própria para criar documentos WEB para serem exibidos em micro-browsers
(telefones celulares e pagers) que se utilizam da tecnologia WAP.
      Pode-se dizer a título de analogia que WML é o HTML dos portáteis sem fios.
As maiorias das tags WML são iguais as do HTML. No entanto, sendo WML uma
aplicação XML é uma linguagem bem mais rigorosa e restrita que HTML.


2.2.4 – CSS
      O CSS é a sigla para Cascading Style Sheets que em português foi traduzido
para folhas de estilo em cascata, e nada mais é que um documento onde são
definidas regras de formatação ou de estilos, a serem aplicadas aos elementos
estruturais de marcação.
      A finalidade das CSS é a de retirar do HTML toda e qualquer declaração que
vise à formatação e apresentação do documento. Isto significa dizer que tags do tipo
<font>, <bold> <b>, <em>, <i>, entre outras, bem como uso de colunas e linhas de
tabelas para obtenção de espaçamentos não são admitidos ou são admitidos com
restrições em um projeto WEB com CSS. Vale afirmar que o usa-se o HTML para
estruturação e CSS para apresentação (Maujor, 2007).


2.2.5 – JAVASCRIPT
      JavaScript foi desenvolvido pela Netscape e são scripts de linguagem
utilizada em milhões de páginas da WEB e aplicações em servidores mundiais.
5



      Contrariamente aos populares equívocos, não é JavaScript "interpretativo
Java". Em suma o JavaScript é uma linguagem de programação que é pequena e
leve, orientada por objetos e multiplataforma. Apesar de não ser útil como uma
linguagem autônoma, foi desenhada para ser facilmente embutida em outros
produtos   e   aplicações,   como    navegadores      WEB.       A   sintaxe   básica   é
intencionalmente similar ao Java e ao C++.


2.2.6 – AJAX
      Asynchronous JavaScript and XML (AJAX) não é uma tecnologia em si, mas
sim um termo que define uma nova abordagem de uso conjunto de um número de
tecnologias existentes, incluindo: HTML ou XHTML, CSS, JavaScript, Document
Object Model, XML, XSLT e os objetos XMLHttpRequest. Quando estas tecnologias
são combinadas no modelo AJAX, as aplicações WEB são capazes de fazer
atualizações incrementais e rápidas na interface do utilizador sem ser necessário
recarregar novamente toda a página. Isto faz com que a aplicação passe a ser mais
rápida e que ofereça respostas rápidas às ações do utilizador (Gonçalves, 2007).
      Na figura 3 é apresentado o modelo tradicional de aplicação WEB e o modelo
com aplicação em AJAX.




                         Figura 3 – Modelos de aplicações WEB.



2.2.7 – PHP
      O PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor") é uma
linguagem de script Open Source de uso geral, muito utilizada para o
desenvolvimento de aplicações WEB embutido dentro do HTML.
6



      O PHP pode ser utilizado na maioria dos sistemas operacionais, incluindo
Linux e suas distribuições, Unix (HP-UX, Solaris e OpenBSD), Microsoft Windows,
Mac OS X e RISC OS.
      As habilidades do PHP incluem geração de imagens, arquivos PDF,
animações em flash e podem facilmente criar qualquer padrão texto, como XHTML
e outros arquivos XML.
      Talvez a mais forte e mais significativa característica do PHP seja seu suporte
a uma ampla variedade de banco de dados.
       Na tabela 1 são apresentados os bancos de dados que são atualmente
suportados (php.net, 2007).

                         Tabela 1 – Bancos suportados pelo PHP
Adabas D                 InterBase                    PostgreSQL
Empress                  mSQL                         Solid
Hyperwave                MySQL                        Velocis

2.3 – PROTOCOLOS DE COMUNICAÇÃO
2.3.1 – HTTP
      HTTP (Hypertext Transfer Protocol) é o conjunto de regras para a
transferência de arquivos (texto, imagens, som, vídeo e outros arquivos multimídia)
na World Wide WEB (Thomson, 2005). Geralmente utiliza-se a porta 80 para
comunicação de sites através da linguagem HTML.
      Já o HTTPS indica um site seguro que é protegido por firewall e criptografia.
Contudo, para haver comunicação com o servidor do site é necessário utilizar
comandos adequados, que não estão em linguagem HTML.


2.3.2 – WAP
      WAP (Wireless Application Protocol) é uma especificação de segurança que
permite aos usuários acessarem informações instantaneamente através de
dispositivos sem fio, como celulares, pagers, rádios bidirecionais, telefones
inteligentes e comunicadores.
      O WAP suporta a maioria das redes sem fio. Estas incluem CDPD, CDMA,
GSM, PDC, PHS, TDMA, FLEX, ReFLEX, iDEN, TETRA, DECT, DataTAC e
Mobitex, e ainda é suportado por todos os sistemas operacionais. Ones manipulados
7



com dispositivos manuais que incluem PalmOS, EPOC, Windows CE, FLEXOS, OS /
9, e JavaOS (Viva o Linux, 2003).


2.4 – SERVIDOR E BANCO DE DADOS
2.4.1 – APACHE
      É um servidor WEB com código fonte aberto (não proprietários) e de domínio
público (gratuito), desenvolvido e continuamente melhorado por centenas de
programadores voluntários de muitas nações, colaborando através da internet.
Encontra-se disponível para Linux, Unix, Windows e, devido ao seu desempenho,
sofisticação, e estabilidade, é renome a ser o mais popular software do seu gênero.
      Na figura 4 é mostrado uma estatísticas dos atuais servidores WEB.




                Figura 4 – Estatística do uso de Softwares de Servidores WEB
                                 Fonte: NETCRAFT (2008)


2.4.2 – MySQL
      É um sistema de gerenciamento de banco de dados (SGBD), que utiliza a
linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada)
como interface. Ele se tornou o mais popular banco de dados open source do mundo
porque possui consistência, alta performance e confiabilidade, além de ser fácil de
utilizar. Atualmente está sendo utilizado em mais de seis milhões de aplicações em
todos os continentes (inclusive na Antártica) (MySQL, 2007).
      O MySQL funciona em mais de 20 plataformas, incluindo Linux, Windows,
HP-UX, AIX, Netware, e dá acesso a diversas linguagens tais como: C, C++, Java,
PHP, Python, Perl, Ruby, .NET, Oracle Forms, Microsoft ASP, Delphi, entre outros.
8



2.5 – INTERAÇÕES COM COMPONENTES FÍSICOS
2.5.1 – PORTA SERIAL
      Conforme afirma Rogercom (2006), a porta serial é utilizada principalmente
para comunicação de dados. Pode ser utilizada também para acessar e controlar
dispositivos conectados ao PC, mas possui algumas desvantagens em relação à
porta paralela.
      A porta serial é muito usada entre os componentes do computador, e tem
uma concepção simples: uma linha para enviar e outra para receber dados, além de
outras que são eventualmente utilizadas para padronizar o envio e recebimento dos
dados. Por sua simplicidade, a porta serial tem sido usada para fazer o PC se
comunicar com qualquer dispositivo imaginável. Mesmo sendo lenta quando
comparada a porta paralela, ela apresenta uma performance superior quando
utilizada para comunicar-se com modems, mouses e sistemas de controle, os quais
podem receber e enviar sinais por um meio de transmissão que pode ser RS-232,
RS-485 ou por uma linha telefônica onde não a grande volume de dados.


2.5.1.1 – CONECTOR OU PINAGEM
      De acordo com Rogercom (2006), a maioria dos computadores atuais utilizam
conectores DB-9 e DB-25 com o padrão Rs-232C (Tabela 2).

                           Tabela 2 – Pinagem da porta serial

   25-pinos (DB-25)    9-pinos (DB-9)      Simbolo         Função
   2                   3                   Tx              Transmite dados
   3                   2                   Rx              Recebe dados
   4                   7                   RTS             Permissão para envio
   5                   8                   CTS             Permissão fornecida
   6                   6                   DSR             Dado pronto
   7                   5                   GND             Terra
   8                   1                   CD              Deteção de portadora
   20                  4                   DTR             Terminal pronto
   22                  9                   RI              Indicador de Ring

      No projeto da interface para conexão de um dispositivo a ser controlado via
porta serial, bastam 3 pinos: pino 5 – Terra, pino 3 – transmissão de dados, pino 2 –
recepção de dados.
9



2.5.2 – DELPHI
      É um ambiente de desenvolvimento de aplicações para Windows criado pela
Borland. Baseado no conceito de componentes, classes pré-fabricadas e em sua
maioria visuais. Suas ferramentas de design possibilitam rápida criação de protótipos
de aplicações, que somados ao amplo conjunto de seus componentes, tornam os
protótipos em aplicações robustas e otimizadas.
      A linguagem Delphi tem como base o Object Pascal e possuem bibliotecas
tais como, o ZeosLib que é um conjunto de componentes para interagir com bancos
de dados tais como MySQL, PostgreSQL, Interbase, Firebird, Oracle e SQLite.


2.6 – COMPONENTES FÍSICOS
2.6.1 – MICROCONTROLADOR 8051
      Na figura 5 é apresentada a arquitetura 8051 onde encontram-se uma CPU
de 8 bits, um contador de 16 bits e um registrador de 16 bits que é usado para
acessar a memória de dados, o que permite endereçar 64 KB de dados.
      A memória RAM interna tem 256 bytes e está dividida em dois blocos de 128
bits. O bloco inferior destina-se a trabalhar como outra memória de dados, enquanto
que o bloco superior está dedicado aos registradores especiais que controlam os
diversos recursos do microcontrolador.
      A arquitetura 8051 também oferece quatro portas paralelas de 8 bits,
denominadas de P0, P1, P2 e P3. Essas portas são bidirecionais e podem ser
usadas para receber ou para gerar sinais digitais e podem ser acessadas bit a bit, ou
seja, cada bit da porta pode ser programado como entrada ou como saída.




                            Figura 5 – Núcleo da família 8051
                               Fonte: MZEDITORA (2006)
10



                           CAPÍTULO 3 – O Projeto



3.1 SÍNTESE DO PROJETO
      A primeira etapa foi o desenvolvimento de um software capaz de se
comunicar com os periféricos via celular. A base do mesmo é implementada nas
diversas tecnologias de estado da arte em internet como PHP, HTML, entre outros.
      A segunda parte foi o desenvolvimento de uma aplicação WEB, para que o
sistema permita controlar os periféricos através de um browser utilizando uma
interface simples e objetiva contendo plantas da residência (sala, banheiro, cozinha,
garagem e demais cômodos), desenvolvidos em 3D.
      Na figura 6 é apresentado o diagrama em blocos do projeto onde o usuário
através do PC ou celular interage com o sistema. Este através de um browser
interpreta a linguagem utilizada e interage com o banco de dados recuperando e
atualizando informações para assim controlar os periféricos.




                    Figura 6 – Diagrama de Blocos do projeto proposto.



      Por fim, a terceira etapa do projeto foi simular e implementar o software de
uma placa obtida na UNICEP, onde os componentes mais importantes são o
microcontrolador, seus periféricos, chaves e sensores, para citar somente alguns.
      Essa placa tem a finalidade de controlar e mostrar os estados dos periféricos
existentes.
11



                     CAPÍTULO 4 – Desenvolvimento



4.1 – CONSIDERAÇÔES INICIAIS
      Neste capitulo é realizada uma análise da solução proposta para construir um
sistema de automação residencial baseado em WML, HTML e PHP através da
comunicação WAP e HTTP. Será demonstrada aqui a construção do software para
integração com o banco de dados. Na seção 4.2 são analisadas desde as interfaces
até os programas de comunicações. Isto inclui todos os softwares localizados no
servidor, seu funcionamento e seu esquemático de comunicação.


4.2 – DESENVOLVIMENTO DA SOLUÇÃO
4.2.1 – SOFTWARE
      O software deste projeto é responsável por toda sua inteligência, ou seja, ele
é responsável por acionar todo o sistema seguindo as regras definidas em seus
códigos e assim permitir ao usuário emitir comandos e visualizar os resultados. A
descrição é baseada no modelo de desenvolvimento clássico (ou cascata) partindo
da análise, descrevendo o projeto e por fim apresentando sua implementação
(Rafael Dohms, 2008).


4.2.2 – ANALISE
      O projeto do software é composto por três partes: as interfaces, o software de
gerência e inteligência, e por fim o software de comunicação a ser implementado na
próxima etapa.
      Com base no objetivo do projeto proposto estão listados abaixo alguns itens a
ser abordados neste software:
          • Interfaces remotas para facilitar o uso dos usuários em qualquer lugar e
             a qualquer hora;
          • Interface visual para ajudar o usuário a navegar pela residência;
          • Mensagens textuais através de e-mails e SMS com intuito de facilitar e
             lembrar o usuário sobre as tarefas a serem realizadas;
          • Sistema inteligente com programações de tarefas automáticas.
12



        Para aumentar as possibilidades de uso de um sistema de automação foram
idealizadas duas interfaces para a utilização do sistema. As interfaces escolhidas
foram um PC utilizando um navegador por meio do protocolo HTTP e um celular
utilizando um micro-browser e o protocolo WAP. Cada interface possui limites e
capacidades diferentes, portanto, cada uma deve ser diferenciada para usar os
recursos disponíveis. Com isso a interface do PC deve ser a mais completa e
permitir todos os comandos do sistema, porém a interface de um celular deve ser
simplificada, para tornar a interação do usuário a mais simples e rápida possível.


4.2.3 – PROJETO
        A linguagem escolhida foi o PHP por sua sintaxe simples, código aberto e
possibilidade de efetuar tarefas complexas de implementação de objetos.
        Para criar as interfaces com o usuário sobre um sistema em PHP, duas
linguagens de saída foram escolhidas: O HTML para o PC e o WML para a interface
de celulares. A interface do PC ganhará mais funcionalidades utilizando AJAX.
        O MySQL será o servidor de banco de dados utilizado por ser nativo da
linguagem PHP.
        Os periféricos a serem alterados nesse projeto estão divididos em duas
partes: Área Interna (lâmpada, ventilador, porta e janela) e Área Externa (motor da
piscina, garagem e alarme).
        Como citado no item 4.2.2, para a interface de um celular usando o protocolo
WAP, o software desenvolvido contem apenas as opções básicas e necessárias
como:
            • Visualizar Residência / Cômodos / Periféricos;
            • Identificar estados dos periféricos;
            • Alterar estados dos periféricos;
            • Emitir automaticamente mensagens SMS quando algum periférico
               estiver queimado;
            • Emitir automaticamente mensagens SMS quando programado para
               executar tarefas.


        Na figura 7 é apresentado um fluxograma de navegação para celulares.
13




                          Figura 7 – Fluxograma de navegação.


      Partindo da página inicial o usuário passa pelo login onde será autenticado
pelo sistema e direcionado para a página principal. A mesma consiste em interligar
outras páginas e tem como objetivo principal o link de acesso ao painel de controle
onde o usuário poderá alterar o status do periférico desejado.
14



4.2.4 – IMPLEMENTAÇÃO
4.2.4.1 – SOFTWARE PARA CELULARES
       O primeiro passo é detalhar a estrutura dos arquivos contidos no servidor
(Figura 8).




                        Figura 8 – Estrutura dos diretórios e arquivos.


       1. WAP
              Neste diretório WAP estão localizados todos os arquivos que serão
              utilizados para a implementação do software via celular e detalhados
              logo abaixo:
              Arquivos:
                 • editar_comodo.php – recebe o status atual do periférico
                    relacionado ao cômodo da residência que está armazenado no
                    banco de dados e exibe as opções ativado, ligado, aberto,
                    desativado, desligado, fechado e queimado para que possa ser
                    alterado. Logo após a escolha dos novos status todo o
                    processamento            é       enviado          para   o   arquivo
                    editar_comodo_db.php;
                 • editar_comodo_db.php – responsável por receber os novos
                    status dos periférico e enviar as informações para o banco de
                    dados MySQL;
                 • index.php – arquivo inicial do sistema que leva o usuário para o
                    login de autenticação;
                 • login.php – autenticação e validação do usuário no sistema;
                 • logout.php – finaliza o sistema;
15



                  • painel.php – arquivo responsável por fazer a ligação (link) para
                     exibição   dos status de todos periféricos tanto geral como
                     individual (visualizar_comodos.php) e para serem alterados
                     (editar_comodos.php);
                  • principal.php – é responsável por unir todas as partes da base
                     operacional e compor a API WEB, disponibilizando as interfaces
                     para que o usuário tenha acesso ao sistema;
                  • visualizar_comodos.php – responsável por visualizar os status
                     dos cômodos em grupos ou individuais.
      2. img
               Esta pasta armazena todas as imagens a serem utilizadas no software.
      3. include
               Arquivo:
                  • config.php – Contêm os parâmetros de conexão com a base de
                     dados MySQL.
      Como citado acima na definição do arquivo editar_comodo.php os status dos
periféricos são divididos em:
                  • Ligado/Aberto/Ativado;
                  • Desligado/Fechado/Desativado;
                  • Queimado.
      Quando o dispositivo queima é emitida automaticamente uma mensagem
SMS para o usuário, dizendo qual dispositivo está queimado, o cômodo a qual
pertence e à data e à hora. Para simular essa mensagem definimos em nosso
sistema todos os status citados acima.


4.2.4.1.1 – INTERFACE VISUAL E SEU FUNCIONAMENTO
      Partindo para o próximo passo temos as interfaces do sistema mostrando
passo a passo o uso do mesmo via WAP que foi simulada pelo Wapsilon (2008).
       Na figura 9 é mostrada a página inicial e a área de login do software.
16




                      Figura 9 – Apresentação do site e área de login.


       No login o usuário é validado e direcionado em caso de sucesso para a
página principal, caso contrário será exibido uma mensagem de “Login Inválido“
(Figura 10).




                           Figura 10 – Autenticação do usuário.


      Na figura 11 é mostrada a pagina principal ela é responsável por unir todas as
partes da base operacional e compor a API WEB, disponibilizando as interfaces para
que o usuário tenha acesso ao sistema alem disso fornece um menu para que o
usuário interaja com o sistema.
17




      Figura 11 – Página principal do sistema responsável por interligar as tarefas.


      O primeiro item apresentado na figura 12 exibe informações sobre o sistema
desenvolvido para o acesso WAP. Já o segundo item é uma legenda com os
possíveis status dos periféricos.




                  Figura 12 – Apresentação do sistema e lista dos dispositivos.
18



      Abaixo é apresentado detalhes do terceiro item do menu principal que tem
como objetivo gerenciar o sistema (Figura 13).




                             Figura 13 – Painel de Controle.


      Na figura 14 o item 3.1 referente à figura 13 é responsável por listar todos os
cômodos e exibir-los separadamente.




                       Figura 14 – Visualização dos cômodos/status.
19



      O item 3.2 referente à figura 13 é responsável por fazer a alteração dos
periféricos existentes na residência de forma simples, rápida e eficaz (Figura 15).




                         Figura 15 – Alteração dos cômodos/status.



      Na figura 16 é mostrado o item 3.2.1 com a confirmação das alterações dos
status realizadas pelo item anterior.




                        Figura 16 – Confirmação dos status alterados.
20



      Na figura 17 são apresentados em uma única página todos os cômodos e
seus status, simplificando uma possível busca para o usuário.




              Figura 17 – Visualização de todos os cômodos/status,da residência.


      Caso o periférico seja definido com o status de queimado, a seguinte
mensagem será exibida no celular (Figura 18).




                        Figura 18 – Recebimento de mensagem SMS.
21



      Abaixo é apresentado o quarto item do menu principal que é a tela de
encerramento do sistema (Figura 19).




                              Figura 19 – Saindo do sistema
                                             .
      Como visto acima todo o sistema encontra-se funcionando e já hospedado no
domínio http://wap.br-automation.com.br.


4.2.4.2 – SOFTWARE PARA PCs
      Como no software para celulares, o primeiro passo é apresentar o
detalhamento da estrutura dos arquivos contidos no servidor (Figura 20).




                      Figura 20 – Estrutura dos diretórios e arquivos.
22




1. WEB
         No diretório WEB estão localizados todos os arquivos que serão
         utilizados para a implementação do software via PCs e detalhados logo
         abaixo:
         Arquivos:
            • contato.php – responsável por enviar e-mails via formulário
               para o administrador do sistema;
            • default.php – é responsável por unir todas as diferentes partes
               da base operacional e compor a API WEB, disponibilizando as
               interfaces para que o usuário tenha acesso ao sistema;
            • index.php – arquivo inicial do sistema que leva o usuário para o
               login de autenticação;
            • login.php – responsável pela autenticação e validação do
               usuário no sistema;
            • logout.php – finaliza o sistema;
            • perfil.php – exibe o perfil do usuário junto com estatísticas de
               acesso;
            • rodape.php – contém a imagem do rodapé utilizada em todas
               as página;
            • topo.php – transmissão de arquivos HTML além de enviar
               informações ao cabeçalho, neste arquivo são estabelecidas
               configurações que informam ao navegador como agir com estes
               arquivos (Por exemplo: tempo de expiração do cache);
2. css
         Este diretório armazena os arquivos de estilo, com formatação e
         coloração, que se aplicam às tags HTML.
3. img
         Esta pasta armazena todas as imagens a serem utilizadas no software.
4. includes
         Este diretório se destina às classes, sejam elas de terceiros ou de
         desenvolvimento próprio. As classes utilizadas para conectar ao banco
         de dados, gerenciam templates e os objetos do sistema.
23



       5. js
               Arquivos de funções JavaScript são armazenados nesta pasta e
               invocados pelo browser quando o HTML é interpretado.


4.2.4.2.1 – INTERFACE VISUAL E SEU FUNCIONAMENTO
       A dificuldade de compreensão de um sistema pode ser uma grande
desvantagem, por isso, um esforço maior foi dedicado a procurar formas de tornar as
interfaces mais amigáveis.
       Uma navegação visual pode resolver este problema, ilustrando ao usuário
claramente onde e o que está sendo controlado em cada cômodo. Esta solução
possibilita que qualquer usuário possa utilizar o sistema sem necessidade de
treinamento prévio ou conhecimentos aprofundados.
       Como o objetivo do projeto proposto era a comunicação com os periféricos da
residência de qualquer localização, acessando o endereço http://www.br-
automation.com.br, pode-se fazer o login para entrar no sistema como mostra a
figura 21.




                                Figura 21 – Área de login.



       Em seguida é apresentado o layout (tela) principal do software desenvolvido
para PCs, utilizando o protocolo HTTP voltado para WEB (Figura 22).
24




                      Figura 22 – Layout principal do software para PCs.


      Nota-se pela tela principal do software que além de prever o controle dos
periféricos da residência, também tem outras funcionalidades tais como gerenciador
de tarefas, serviços, câmera online, gerenciador de logs, contato, link para acesso
WAP, perfil, entre outros.
      Na    figura   23   são   apresentados       todos    os    cômodos   disponíveis   e
automatizados da residência.
25




                      Figura 23 – Cômodos disponíveis na residência.


      Ao passar o mouse sobre os cômodos, a imagem é alterada facilitando a
interação com o usuário, para que o mesmo selecione o cômodo desejado e faça as
devidas alterações dos status dos periféricos (Figura 24).
26




                       Figura 24 – Exibindo status da lâmpada atual.



      Ainda a critério de interação, ao passar o mouse sobre os periféricos contidos
no cômodo, uma layer surge fazendo perguntas sugestivas do tipo: “Você deseja
ligar a lâmpada?”. Caso haja alteração no periférico, imediatamente é enviada a
atualização para a base de dados e alterada a imagem de exibição.
      Na figura 25 é mostrada a alteração através de um contorno vermelho na
qual, status e a imagem foram alterados em relação à figura 24.
      Nota-se também que a pergunta do periférico também foi alterada para: “Você
deseja desligar a lâmpada?”.
27




                          Figura 25 – Exibindo novo status da lâmpada.



       Com este software é possível alterar todos os periféricos disponíveis em cada
cômodo de maneira fácil e rápida.
       O software também conta com um sistema de perfil, onde são armazenadas
as   informações     do     usuário    junto    com     outras     informações   relevantes.
       Neste perfil, também é possível visualizar os relatórios de tarefas que foram e
vão ser executadas e extrair logs do administrador, para que o mesmo tenha total
controle de quem utilizou o sistema.
       Informações como nome, senha, e-mail, ultimo acesso também fazem parte
do perfil (Figura 26).
28




                    Figura 26 – Informações relevantes sobre o usuário.



      Nos softwares desenvolvidos atualmente, uma das grandes dificuldades é
manter contato com o suporte em caso de dúvidas ou problemas referente ao
mesmo. Muitas vezes, o usuário acaba desistindo do atendimento por falta de
paciência e até mesmo por ter tentado e não ter obtido sucesso.
      Atentando para isso, o software proposto conta com um suporte 24 horas
através de um formulário de contato incluso no próprio sistema para quando houver
qualquer tipo de problema, basta apenas preenchê-lo.
      Também está disponível o telefone e o e-mail do administrador responsável
pela manutenção do software.
      Ainda para maior comodidade do usuário, diariamente é enviado um relatório
de monitoramento para os desenvolvedores com uma analise de procedimentos
executados junto com o desempenho obtido pelo mesmo, para quando houver
qualquer irregularidade, o mesmo é submetido à manutenção e correção imediata
(Figura 27).
29




                             Figura 27 – Suporte via formulário.




       A segurança através de câmeras online também foi adotada neste software. A
solução aqui proposta foi simples, eficaz e principalmente acessível financeiramente.
A cada minuto é extraída uma imagem da câmera e enviada para o servidor onde é
exibida pelo navegador. Esse tempo de um minuto pode ser diminuído conforme a
necessidade do usuário.
       Essas câmeras podem ser implantadas e monitoradas sem limites de meios
físicos.
       Na figura 28 é apresentada uma imagem extraída da câmera juntamente com
informações de dia e hora.
30




                              Figura 28 – Câmera Online.




      Para gerenciar as tarefas o software conta com dois tipos de gerenciadores.
O primeiro executa tarefas diárias, facilitando o agendamento constante das
mesmas.
      Este gerenciador está disponível na tela principal do software, onde pode-se
adicionar tarefas para ativar ou desativar periféricos de qualquer cômodo
automatizado da residência.
      Na figura 29 é apresentado o funcionamento do gerenciador de tarefas
diárias, onde basta apenas inserir a hora e clicar no quadrado ao lado para checar o
dispositivo desejado.
31




 .
                          Figura 29 – Gerenciador de tarefas diário.



      O segundo gerenciador pode tanto gerenciar tarefas diárias como também
tarefas em longo prazo.
      Seu funcionamento é semelhante ao gerenciador de tarefas diário, porém
nele é possível adicionar data e hora em que as tarefas serão executadas.
      Também é possível visualizar as tarefas e até mesmo excluí-las caso o
usuário não deseje mais realizá-las.
      Com essa flexibilidade é possível programar a hora que as portas e janelas
serão fechadas, que o motor da piscina será ligado ou até mesmo quando os
alarmes externos da residência serão ativados ou desativados.
      Na figura 30 são exibidas de forma simples as tarefas a serem executas
conforme foram programadas.
32




                           Figura 30 – Gerenciador de tarefas.



      Para maior praticidade o software conta com uma exibição rápida de todos os
status dos periféricos disponíveis no momento (Figura 31).
33




Figura 31 – Status dos periféricos/cômodos.
34



4.2.3 – COMUNICAÇÃO VIA SERIAL COM O HARDWARE
       A comunicação com a porta serial será obtida pelo DELPHI, que é
responsável por executar as tarefas em linha de comando que enviam e recebem
dados pela porta serial. O hardware para a comunicação já estava pronto e foi obtido
na própria UNICEP.
       O hardware terá um objetivo simples, ele será responsável por receber
comandos da porta serial e enviar bits de resposta à mesma. A seguir, será
detalhada a etapa de análise do hardware.


4.2.3.1 – ANÁLISE DO HARDWARE
       O hardware pode ser separado em duas partes que trabalham juntas para
obter resultados. A primeira parte do hardware é denominada de módulo de
endereçamento, responsável por determinar qual elemento deve ser controlado, e a
segunda parte, denominada de periférico de controle, é responsável por guardar o
estado do periférico e efetuar alterações. A conexão com o computador é realizada
por meio da porta serial (Figura 32).




                         Figura 32 – Estrutura do hardware proposto.



       O periférico de controle precisa de um componente capaz de atuar como uma
memória, mantendo armazenado o estado atual dos elementos, para que, ao se
manipular outros elementos, o primeiro não se apague e sim mantenha o estado
atual. Além disso, ele deve ter o poder de alterar o estado do elemento ligado a ele,
por exemplo, desligar uma lâmpada, através de um componente que entenda sinais
altos e sinais baixos.
35



      A estrutura do projeto implementa uma base operacional, na qual, diferentes
tipos de periféricos podem ser conectados. Porém, será desenvolvido como exemplo
apenas um controle para lâmpadas.
      A linguagem de comunicação utilizada para desenvolver o software usado no
microcontrolador 8051 foi o assembly, que posteriormente foi convertido em binário.
Sua lógica é simples e objetiva. Ao receber um determinado dado da porta serial, ele
interpreta e executa o comando.
      Como citado acima, o Delphi é responsável pela comunicação entre o
hardware através da porta serial e o servidor de dados online. Ele também funciona
como um monitor de status para o servidor.
      Na figura 33 são mostrados os status atuais ativos (verdes) ou inativos
(vermelhos) de todos os cômodos e seus periféricos contidos na residência através
da interface Delphi.




                              Figura 33 – Interface Delphi.
36



                          CAPÍTULO 5 – Conclusão



      O projeto proposto teve êxito em apresentar e implementar uma solução de
automação residencial de pequeno e médio porte. Para esta solução foram
utilizadas tecnologias de estado da arte em programação voltada à internet,
procurando obter um resultado final de baixo custo e diminuir os requisitos de
conhecimentos necessários ao usuário operante do sistema.
      A disciplina de Engenharia de Software forneceu base para a metodologia de
implementação, estabelecendo o conhecimento básico para a separação em etapas
e definindo itens a serem abordados em cada uma. As matérias voltadas à
programação como Banco de Dados, juntamente com a experiência profissional
obtida ao longo do curso, auxiliaram no desenvolvimento do software do projeto e do
conhecimento de seus limites.
      As matérias da área de Elétrica e Eletrônica, como Circuitos Digital I e II,
foram amplamente utilizadas e suas teorias postas à prova durante o projeto e a
implementação do hardware utilizado. Dessa forma, conclui-se que o projeto
estimulou o uso de maior parte dos conhecimentos obtidos durante a graduação e,
com isso, firmou conceitos aprendidos e aplicados na prática, demonstrando sua
importância à carreira profissional de engenheiro.


5.1 – IMPLEMENTAÇÕES FUTURAS
      Para possibilitar a aplicação comercial deste produto, as perspectivas de
melhorias são:
          • Troca do meio de comunicação RS-232 para RS-485
          • Servidor local com link de internet dedicado de no mínimo 8 Mbits/s
          • O desenvolvimento de novos periféricos de ação baseados na estrutura
             disponibilizada. Desta forma será possível controlar outros elementos
             como ar condicionado, banheira, microondas entre outros.
37



                    REFERÊNCIAS BIBLIOGRAFICAS:



GONÇALVES, Edson. Dominando AJAX. Rio de Janeiro: Ciência Moderna, 2007.


PHP.NET: Hypertext Preprocessor, 2001. Disponível em: http://www.php.net,
Acessado novembro de 2007.


OLIVEIRA, João de Deus. Requisitos para WEB, 2003. Disponível em:
www.inf.furb.br/~egrahl/disciplinas/qualidade/material/POSWEB2/reqWEB.pdf,
Acessado em julho de 2007.


FALCÃO, Nara de Arruda. Armazenamento de Mídias e Objetos Virtuais Utilizando o
Suporte    Nativo   a    XML      do   Oracle      10g,     2004.      Disponível   em:
http://www.cin.ufpe.br/~tg/2005-2/naf.pdf, Acessado em junho de 2007.


VIVA O LINUX: Criando sites para celular com WML. Viva o linux, 2003. Disponível
em: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=432, Acessado julho
de 2007.


MAUJOR: CSS FAQ - Dúvidas freqüentes de CSS, 2006. Disponível em:
http://www.maujor.com/tutorial/faq.php, Acessado junho 2007.


MYSQL.       MySQL        Database       Server,      2007.          Disponível     em:
http://www.mysql.com/products/mysql, Acessado em novembro 2007.


ROGERCOM, Portas Paralelas, 2006. Disponível em: http://www.rogercom.com,
Acessado em novembro 2007.


MZEDITORA:          Arquitetura        8051,        2002.           Disponível      em:
http://www.mzeditora.com.br/artigos/mic_modernos.htm, Acessado em novembro
2007.
38



RAFAEL DOHMS: Disponível em:        http://www.rafaeldohms.com.br, Acessado em
março de 2008.


SIMULADOR WAPSILON. Disponível em: http://www.wapsilon.com, Acessado em
março de 2008.


NETCRAFT: WEB Server Survey, 2006. Disponível em:
http://news.netcraft.com/archives/WEB_server_survey.html, Acessado em novembro
2007.


W3C: HTML 4.01 Specification, 2005. Disponível em: http://www.w3.org/TR/REC-
html40/intro/intro.html#h-2.2 , Acessado em novembro de 2007.
39



APÊNDICE A – Comunicação serial com assembly
40



APÊNDICE B – Envio de mensagens textuais via SMS
41



APÊNDICE C – SQL de criação do banco padrão

Mais conteúdo relacionado

Mais procurados

Automação projeto de semáforo
Automação projeto de semáforoAutomação projeto de semáforo
Automação projeto de semáforoantonio sena
 
16955622 teoria-de-controle-pid
16955622 teoria-de-controle-pid16955622 teoria-de-controle-pid
16955622 teoria-de-controle-pidTamiris Sousa
 
Apostila de Robotica
Apostila de RoboticaApostila de Robotica
Apostila de RoboticaIsvaldo Souza
 
Apostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladderApostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem laddermarv2
 
Lixeira Automatizada
Lixeira AutomatizadaLixeira Automatizada
Lixeira AutomatizadaFran_B
 
Relatório diodos
Relatório diodos Relatório diodos
Relatório diodos Victor Said
 
Automação com clp (ladder)
Automação com clp (ladder)Automação com clp (ladder)
Automação com clp (ladder)laenio
 
Aula - CLP & Linguagem Ladder
Aula - CLP & Linguagem LadderAula - CLP & Linguagem Ladder
Aula - CLP & Linguagem LadderAnderson Pontes
 
Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoClaudio Arkan
 
5 sistemas supervisorios e redes industriais
5 sistemas supervisorios e redes industriais5 sistemas supervisorios e redes industriais
5 sistemas supervisorios e redes industriaisMarcos Sincerre
 
Aula 01 automação e controle
Aula 01   automação e controleAula 01   automação e controle
Aula 01 automação e controleJorge Alves
 

Mais procurados (20)

Clp aprendizagem clic2 weg
Clp aprendizagem clic2 wegClp aprendizagem clic2 weg
Clp aprendizagem clic2 weg
 
Automação projeto de semáforo
Automação projeto de semáforoAutomação projeto de semáforo
Automação projeto de semáforo
 
Projeto integração.
Projeto integração.Projeto integração.
Projeto integração.
 
16955622 teoria-de-controle-pid
16955622 teoria-de-controle-pid16955622 teoria-de-controle-pid
16955622 teoria-de-controle-pid
 
Sistemas supervisórios (SCADA Systems)
Sistemas supervisórios (SCADA Systems)Sistemas supervisórios (SCADA Systems)
Sistemas supervisórios (SCADA Systems)
 
Apostila de Robotica
Apostila de RoboticaApostila de Robotica
Apostila de Robotica
 
Transdutores
TransdutoresTransdutores
Transdutores
 
Apostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladderApostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladder
 
Lixeira Automatizada
Lixeira AutomatizadaLixeira Automatizada
Lixeira Automatizada
 
Step7 200 completo
Step7 200 completoStep7 200 completo
Step7 200 completo
 
Relatório diodos
Relatório diodos Relatório diodos
Relatório diodos
 
Automatos programaveis
Automatos programaveisAutomatos programaveis
Automatos programaveis
 
Aplicacao eletropneumatica
Aplicacao eletropneumaticaAplicacao eletropneumatica
Aplicacao eletropneumatica
 
Ctc m5 v3_t
Ctc m5 v3_tCtc m5 v3_t
Ctc m5 v3_t
 
Automação com clp (ladder)
Automação com clp (ladder)Automação com clp (ladder)
Automação com clp (ladder)
 
Aula - CLP & Linguagem Ladder
Aula - CLP & Linguagem LadderAula - CLP & Linguagem Ladder
Aula - CLP & Linguagem Ladder
 
Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançado
 
5 sistemas supervisorios e redes industriais
5 sistemas supervisorios e redes industriais5 sistemas supervisorios e redes industriais
5 sistemas supervisorios e redes industriais
 
Exercicios+de+ladder+2009
Exercicios+de+ladder+2009Exercicios+de+ladder+2009
Exercicios+de+ladder+2009
 
Aula 01 automação e controle
Aula 01   automação e controleAula 01   automação e controle
Aula 01 automação e controle
 

Destaque

Automação Residencial TCC
Automação Residencial TCCAutomação Residencial TCC
Automação Residencial TCCDaiana Le
 
Automacao residencial, a casa inteligente
Automacao residencial, a casa inteligenteAutomacao residencial, a casa inteligente
Automacao residencial, a casa inteligenteDouglas Scriptore
 
Tcc sistema de automação residencial baseado em plataforma open hardware e ...
Tcc   sistema de automação residencial baseado em plataforma open hardware e ...Tcc   sistema de automação residencial baseado em plataforma open hardware e ...
Tcc sistema de automação residencial baseado em plataforma open hardware e ...Kassiano Pretto
 
Automação residencial
Automação residencialAutomação residencial
Automação residencialThiago Rocha
 
Monografia de Trabalho de Graduação apresentada ao Centro de Informátic...
Monografia  de  Trabalho  de  Graduação  apresentada ao Centro de  Informátic...Monografia  de  Trabalho  de  Graduação  apresentada ao Centro de  Informátic...
Monografia de Trabalho de Graduação apresentada ao Centro de Informátic...Andre Carvalho
 
Apresentação automação residencial final
Apresentação automação residencial finalApresentação automação residencial final
Apresentação automação residencial finalSandra Pavan
 
Automação Residencial
Automação ResidencialAutomação Residencial
Automação ResidencialEduardo Castro
 
Automação Residencial Estudo
Automação Residencial EstudoAutomação Residencial Estudo
Automação Residencial EstudoDaiana Le
 
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.Douglas 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
 
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINOAUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINOgu_elastico
 
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
 
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
 
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
 

Destaque (20)

Automação Residencial TCC
Automação Residencial TCCAutomação Residencial TCC
Automação Residencial TCC
 
Automacao Residencial
Automacao ResidencialAutomacao Residencial
Automacao Residencial
 
Automacao residencial, a casa inteligente
Automacao residencial, a casa inteligenteAutomacao residencial, a casa inteligente
Automacao residencial, a casa inteligente
 
Tcc sistema de automação residencial baseado em plataforma open hardware e ...
Tcc   sistema de automação residencial baseado em plataforma open hardware e ...Tcc   sistema de automação residencial baseado em plataforma open hardware e ...
Tcc sistema de automação residencial baseado em plataforma open hardware e ...
 
Automacao residencial
Automacao residencialAutomacao residencial
Automacao residencial
 
Automação residencial
Automação residencialAutomação residencial
Automação residencial
 
Monografia de Trabalho de Graduação apresentada ao Centro de Informátic...
Monografia  de  Trabalho  de  Graduação  apresentada ao Centro de  Informátic...Monografia  de  Trabalho  de  Graduação  apresentada ao Centro de  Informátic...
Monografia de Trabalho de Graduação apresentada ao Centro de Informátic...
 
Automação Residencial
Automação ResidencialAutomação Residencial
Automação Residencial
 
Automação residencial
Automação residencialAutomação residencial
Automação residencial
 
Apresentação automação residencial final
Apresentação automação residencial finalApresentação automação residencial final
Apresentação automação residencial final
 
Tcc exemplo - Esqueleto
Tcc   exemplo - EsqueletoTcc   exemplo - Esqueleto
Tcc exemplo - Esqueleto
 
Automação Residencial
Automação ResidencialAutomação Residencial
Automação Residencial
 
Automação Residencial Estudo
Automação Residencial EstudoAutomação Residencial Estudo
Automação Residencial Estudo
 
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
 
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
 
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINOAUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
 
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
 
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
 
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
 

Semelhante a TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

Pim ii virtualização de servidores e computadores na univen petróleo rev. final
Pim ii virtualização de servidores e computadores na univen petróleo rev. finalPim ii virtualização de servidores e computadores na univen petróleo rev. final
Pim ii virtualização de servidores e computadores na univen petróleo rev. finalCesar Jardim
 
Monografia- ThingProvider
Monografia- ThingProviderMonografia- ThingProvider
Monografia- ThingProviderKevin Martins
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Waldir R. Pires Jr
 
Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Modelagem de Ambientes de Computação Ubíqua Utilizando SimulaçãoModelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Modelagem de Ambientes de Computação Ubíqua Utilizando SimulaçãoJurmir Canal Neto
 
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...lystermachado
 
Repositório do Parque Tecnológico da PMSP
Repositório do Parque Tecnológico da PMSPRepositório do Parque Tecnológico da PMSP
Repositório do Parque Tecnológico da PMSPMário Januário Filho
 
Programação Paralela em occam-pi
Programação Paralela em occam-piProgramação Paralela em occam-pi
Programação Paralela em occam-piRui Miranda
 
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...Flávio Oscar Hahn
 
Apostila pic-c
Apostila pic-cApostila pic-c
Apostila pic-cjlconrado
 
SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NOD...
SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NOD...SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NOD...
SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NOD...UFPA
 
Redes de computadores e internet.
Redes de computadores e internet.Redes de computadores e internet.
Redes de computadores e internet.valdarnini
 

Semelhante a TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI (20)

Computação ubíqua
Computação ubíquaComputação ubíqua
Computação ubíqua
 
Douglasbentoscriptoretcc 130423092544-phpapp01 (1)
Douglasbentoscriptoretcc 130423092544-phpapp01 (1)Douglasbentoscriptoretcc 130423092544-phpapp01 (1)
Douglasbentoscriptoretcc 130423092544-phpapp01 (1)
 
Pim ii virtualização de servidores e computadores na univen petróleo rev. final
Pim ii virtualização de servidores e computadores na univen petróleo rev. finalPim ii virtualização de servidores e computadores na univen petróleo rev. final
Pim ii virtualização de servidores e computadores na univen petróleo rev. final
 
Monografia- ThingProvider
Monografia- ThingProviderMonografia- ThingProvider
Monografia- ThingProvider
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 
Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Modelagem de Ambientes de Computação Ubíqua Utilizando SimulaçãoModelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
 
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
SEGURANÇA E SUSTENTABILIDADE EM COMPUTAÇÃO NAS NUVENS: APLICAÇÃO EM EMPRESAS ...
 
Repositório do Parque Tecnológico da PMSP
Repositório do Parque Tecnológico da PMSPRepositório do Parque Tecnológico da PMSP
Repositório do Parque Tecnológico da PMSP
 
Programação Paralela em occam-pi
Programação Paralela em occam-piProgramação Paralela em occam-pi
Programação Paralela em occam-pi
 
TG_AccelerCar
TG_AccelerCarTG_AccelerCar
TG_AccelerCar
 
Monografia IPv6
Monografia IPv6Monografia IPv6
Monografia IPv6
 
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
Proposta de Melhoria do portal do Senac/AL, Utilizando Técnicas de Usabilidad...
 
Apostila pic-c
Apostila pic-cApostila pic-c
Apostila pic-c
 
SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NOD...
SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NOD...SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NOD...
SISTEMA DE AQUISIÇÃO DE DADOS EM MATLAB UTILIZANDO COMUNICAÇÃO WI-FI™ VIA NOD...
 
Apostila pic-c16 f877
Apostila pic-c16 f877Apostila pic-c16 f877
Apostila pic-c16 f877
 
Apostila pic-c
Apostila pic-cApostila pic-c
Apostila pic-c
 
Rastreamento
RastreamentoRastreamento
Rastreamento
 
Redes de computadores e internet.
Redes de computadores e internet.Redes de computadores e internet.
Redes de computadores e internet.
 
Apostila redes
Apostila redesApostila redes
Apostila redes
 
Apostila cantu
Apostila cantuApostila cantu
Apostila cantu
 

Último

HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 

Último (20)

HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 

TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

  • 1. CENTRO UNIVERSITÁRIO CENTRAL PAULISTA CURSO DE ENGENHARIA DE COMPUTAÇÃO AUTOMAÇÃO RESIDENCIAL USANDO MICROCONTROLADORES E TECNOLOGIAS DE ESTADO DA ARTE EM PROGRAMAÇÃO VOLTADA À INTERNET BRUNO GASTALDI SÃO CARLOS - SP 2008
  • 2. II CENTRO UNIVERSITÁRIO CENTRAL PAULISTA CURSO DE ENGENHARIA DE COMPUTAÇÃO AUTOMAÇÃO RESIDENCIAL USANDO MICROCONTROLADORES E TECNOLOGIAS DE ESTADO DA ARTE EM PROGRAMAÇÃO VOLTADA À INTERNET BRUNO GASTALDI Trabalho de Conclusão de Curso apresentado ao curso de Engenharia de Computação do Centro Universitário Central Paulista (UNICEP) como requisito parcial para a obtenção do Título de Bacharel em Engenharia de Computação. SÃO CARLOS - SP 2008
  • 4. IV DEDICATÓRIA: Este trabalho é dedicado a toda minha família, meus professores e colegas de faculdade e principalmente a DEUS por ter sempre me colocado no caminho certo.
  • 5. V RESUMO A realidade de sistemas automatizados é cada vez mais aparente na vida moderna. Casas e prédios já contam com sistemas integrados de controle que possibilitam a realização de inúmeras atividades com facilidade e, em alguns casos, sem haver necessidade de presença física. Sistemas automatizados têm o custo muito elevado e poucas pessoas têm acesso. Sendo assim, o presente trabalho tem como justificativa pesquisar, implementar e simular uma solução de baixo custo utilizando microcontroladores e tecnologias de estado da arte em programação voltada à internet.
  • 6. VI ABSTRACT The reality of automated systems had been increasing apparent in modern life. Houses and buildings already have control of integrated systems that enable the achievement of many activities with ease and in some cases without the need for physical presence. Automated systems have a very high cost and few people have access. Therefore, this work looks for research, implement and simulate a solution using low- cost microcontrollers and technologies of state of the art in programming geared to the Internet.
  • 7. VII ÍNDICE DE FIGURAS Figura 1 – Comunicação dos elementos através da WEB ............................................................. 2 Figura 2 – Navegadores mais utilizados nos dias atuais ............................................................... 3 Figura 3 – Modelos de aplicações WEB ......................................................................................... 5 Figura 4 – Estatística do uso de Softwares de Servidores WEB ................................................... 7 Figura 5 – Núcleo da família 8051 .................................................................................................. 9 Figura 6 – Diagrama de Blocos do projeto proposto ...................................................................... 10 Figura 7 – Fluxograma de navegação ......................................................................................... 13 Figura 8 – Estrutura dos diretórios e arquivos ............................................................................... 14 Figura 9 – Apresentação do site e área de login ............................................................................ 16 Figura 10 – Autenticação do usuário .............................................................................................. 16 Figura 11 – Página principal do sistema responsável por interligar as tarefas .............................. 17 Figura 12 – Apresentação do sistema e lista dos dispositivos ....................................................... 17 Figura 13 – Painel de Controle ...................................................................................................... 18 Figura 14 – Visualização dos cômodos/status ................................................................................ 18 Figura 15 – Edição dos cômodos/status ........................................................................................ 19 Figura 16 – Confirmação dos status alterados ............................................................................... 19 Figura 17 – Visualização de todos os cômodos/status,da residência ............................................ 20 Figura 18 – Recebimento de mensagem SMS ............................................................................... 20 Figura 19 – Saindo do sistema ....................................................................................................... 21 Figura 20 – Estrutura dos diretórios e arquivos ............................................................................. 21 Figura 21 – Área de login ............................................................................................................... 23 Figura 22 – Layout principal do software para PCs ....................................................................... 24 Figura 23 – Cômodos disponíveis na residência ............................................................................ 25 Figura 24 – Exibindo status da lâmpada atual ............................................................................... 26 Figura 25 – Exibindo novo status da lâmpada ................................................................................ 27 Figura 26 – Informações relevantes sobre o usuário ..................................................................... 28 Figura 27 – Suporte via formulário ................................................................................................. 29 Figura 28 – Câmera Online ............................................................................................................ 30 Figura 29 – Gerenciador de tarefas diário ...................................................................................... 31 Figura 30 – Gerenciador de tarefas ............................................................................................... 32 Figura 31 – Status dos periféricos/cômodos .................................................................................. 33 Figura 32 – Estrutura do hardware proposto .................................................................................. 34 Figura 33 – Interface Delphi ........................................................................................................... 35
  • 8. VIII LISTA DE TABELAS Tabela 1 – Bancos suportados pelo PHP ....................................................................................... 6 Tabela 2 – Pinagem da porta serial ............................................................................................... 8
  • 9. IX LISTA DE ABREVIATURAS E SÍGLAS PHP – PHP Hypertext Pre-Processor PDA – Personal Digital Assistant WAP – Wireless Access Protocol PC – Personal Computer WWW – World Wide WEB HTML – HyperText Markup Language XHTML – eXtended HyperText Markup Language WML – Wireless Markup Language HTTP – HyperText Transport Protocol USB – Universal Serial Bus AJAX – Asynchronous JavaScript and XML XML – EXtensible Markup Language CSS – Cascading Style Sheets UNICEP – Centro Universitário Central Paulista GSM – Global System for Mobile Communications CDMA – Code Division Multiple Access API – Application Programming Interface SMS – Short Message Service
  • 10. X SUMÁRIO CAPITULO 1 – INTRODUÇÃO ...................................................................................................... 1 1.1 - Objetivo ............................................................................................................... 1 1.2 - Metodologia ......................................................................................................... 1 CAPITULO 2 – REVISÃO BIBLIOGRÁFICA .................................................................................. 2 2.1 - Dispositivos com acesso WEB ........................................................................... 2 2.1.1 – PC ............................................................................................................. 2 2.1.2 - Celular ........................................................................................................ 3 2.1.3 – Navegadores ............................................................................................. 3 2.2 - Linguagens para WEB ....................................................................................... 3 2.2.1 – HTML ........................................................................................................ 3 2.2.2 – XML ........................................................................................................... 4 2.2.3 - WML ........................................................................................................... 4 2.2.4 - CSS ........................................................................................................... 4 2.2.5 – JavaScript ................................................................................................. 4 2.2.6 – AJAX ......................................................................................................... 5 2.2.7 - PHP ........................................................................................................... 5 2.3 - Protocolo de comunicação ................................................................................. 6 2.3.1 - HTTP .......................................................................................................... 6 2.3.2 - WAP .......................................................................................................... 6 2.4 - Servidor e banco de dados ................................................................................ 7 2.4.1 - Apache ........................................................................................................ 7 2.4.2 - MySQL ........................................................................................................ 7 2.5 - Interação com componentes físicos ................................................................... 8 2.5.1 - Porta serial ................................................................................................. 8 2.5.1.1 - Conectores ou pinagem .......................................................................... 8 2.5.2 - Delphi .......................................................................................................... 9 2.6 - Componentes físicos .......................................................................................... 9 2.6.1 - Microcontrolador 8051 ............................................................................... 9 CAPITULO 3 - O PROJETO .......................................................................................................... 10 3.1 - Síntese do projeto .............................................................................................. 10 CAPÍTULO 4 – DESENVOLVIMENTO .......................................................................................... 11 4.1 - Considerações Iniciais ....................................................................................... 11 4.2 - Desenvolvimento da solução ............................................................................. 11 4.2.1 - Software .................................................................................................... 11 4.2.2 - Analise ........................................................................................................ 11
  • 11. XI 4.2.3 - Projeto ........................................................................................................ 12 4.2.4 – Implementação .......................................................................................... 14 4.2.4.1 - Software para celulares .......................................................................... 14 4.2.4.1.1 - Interface visual e seu funcionamento .................................................. 15 4.2.4.2 - Software para PCs .................................................................................. 21 4.2.4.2.1 - Interface visual e seu funcionamento .................................................. 23 4.2.3 - Comunicação via serial com o hardware ................................................... 34 4.2.3.1 - Análise do hardware ............................................................................... 34 CAPÍTULO 5 - CONCLUSÃO ........................................................................................................ 36 5.1 - Implementações futuras ..................................................................................... 36 REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................................... 37 APÊNDICE A – Comunicação serial com assembly ...................................................................... 39 APÊNDICE B – Envio de mensagens textuais via SMS ................................................................ 40 APÊNDICE C – SQL de criação do banco padrão ......................................................................... 41
  • 12. 1 CAPÍTULO 1 - Introdução 1.1 OBJETIVO Este projeto tem como objetivo apresentar, simular e implementar uma solução de automação residencial de pequeno e médio porte. Para tanto, serão utilizadas tecnologias de estado da arte em programação voltadas à internet, procurando obter um resultado final de baixo custo, e diminuir os requisitos de conhecimentos necessários ao usuário operante do sistema. O controle poderá ser feito através de interfaces móveis ou fixas como, por exemplo, um PC ou um celular com WAP que irá estabelecer uma comunicação com um servidor central presente na residência e ligado a diversos periféricos de controle. 1.2 METODOLOGIA Este projeto segue uma linha de pesquisa bibliográfica baseada em consultas a livros e sites da internet. Com base nessas pesquisas, o projeto tem finalidade aplicada, ou seja, aplicação prática e experimental de seu objeto de estudo. A primeira etapa do projeto é o desenvolvimento de um software de comunicação via WAP, pelo qual poderá se alterar os periféricos da residência a partir de um aparelho móvel. A etapa seguinte constitui-se no desenvolvimento do aplicativo WEB para monitoração da residência em 3D, através do uso de sensores de uma placa microcontrolada que será implementada na última etapa.
  • 13. 2 CAPÍTULO 2 – Revisão Bibliográfica O conceito de World Wide Web (WWW), ou Internet, descreve um sistema de informações de hipertexto, como descrito por Oliveira (2003). Ele constitui-se de uma forma visual de navegar pelas informações com o uso de vínculos, que ligam uns aos outros permitindo uma leitura de forma não linear. Para se obter o resultado final, que é a WWW, muitos elementos são interligados de forma única, formando uma vasta rede de comunicações. Além dos elementos comuns, novos elementos estão sendo criados e ligados a esta rede, criando espaço para novas funcionalidades tais como e-commerce e serviços baseados em aparelhos portáteis como PDA’s e celulares. Figura 1 – Comunicação dos elementos através da WEB. 2.1 – DISPOSITIVOS COM ACESSO A WEB 2.1.1 – PC Os PCs (Computadores Pessoais) permitem criar documentos, planilhas, monitorar finanças, jogar, interagir com pessoas ao redor do mundo além de outras inúmeras possibilidades. Se um PC está conectado à Internet, existe a possibilidade de ser usado para navegar na WEB, checar e-mails, comunicar-se com os amigos (através de programas de mensagens instantâneas), baixar e enviar arquivos. Os PCs tornaram-se parte integrante no cotidiano das pessoas, e hoje é difícil imaginar a vida sem eles.
  • 14. 3 2.1.2 – CELULAR Um telefone celular é um aparelho de comunicação que possibilita a transmissão de dados e voz, através de ondas eletromagnéticas. Grande parte dos aparelhos e operadoras de celulares que utilizam tecnologias como GSM, CDMA e 3G, atualmente, já disponibilizam estes serviços para seus usuários, permitindo a navegação pela Internet através de micro-browsers, além de utilizar serviços como câmeras digitais e mensagens de texto. Essa evolução auxiliou ainda mais a mobilidade da Internet, abrindo as portas às novas soluções, e sistemas baseados no acesso remoto por telefones móveis. 2.1.3 – NAVEGADORES Um navegador (também conhecido como browser), vulgarmente designado por ser apenas um navegador, é um tipo de programa usado em computadores e cada vez mais em outros dispositivos, como alguns telefones celulares, assistentes pessoais digitais (PDAs) e controles industriais, com a finalidade de localizar, exibir e interagir com páginas da WEB e outros recursos na Internet. Na figura 2 são apresentados os navegadores mais usados atualmente. Figura 2 – Navegadores mais utilizados nos dias atuais Fonte: MARKETSHARE (2007) 2.2 – LINGUAGENS PARA WEB 2.2.1 – HTML Hypertext Markup Language (HTML) é a linguagem básica utilizada para criar documentos para a WEB e, juntamente com HTTP (Protocolo de Transferência de Hipertexto) e URLs (Localizador Uniforme de Recursos), é um dos três principais protocolos da WEB (W3C, 2005).
  • 15. 4 2.2.2 – XML Falcão (2007), afirmou que o XML é a abreviação de EXtensible Markup Language (Linguagem extensível de formatação). Trata-se de uma linguagem que é considerada uma grande evolução na internet. Porém, para quem não é programador ou não trabalha com o uso de linguagens e ferramentas para a WEB, é quase imperceptível as vantagens do XML. O XML é uma especificação técnica desenvolvida pela W3C (World Wide WEB Consortium - entidade responsável pela definição da área gráfica da internet), para superar as limitações do HTML, que é o padrão das páginas da WEB. 2.2.3 – WML De acordo com Viva o Linux (2003), o WML é a sigla em inglês para Wireless Markup Language. Trata-se de uma linguagem de marcação baseada em XML própria para criar documentos WEB para serem exibidos em micro-browsers (telefones celulares e pagers) que se utilizam da tecnologia WAP. Pode-se dizer a título de analogia que WML é o HTML dos portáteis sem fios. As maiorias das tags WML são iguais as do HTML. No entanto, sendo WML uma aplicação XML é uma linguagem bem mais rigorosa e restrita que HTML. 2.2.4 – CSS O CSS é a sigla para Cascading Style Sheets que em português foi traduzido para folhas de estilo em cascata, e nada mais é que um documento onde são definidas regras de formatação ou de estilos, a serem aplicadas aos elementos estruturais de marcação. A finalidade das CSS é a de retirar do HTML toda e qualquer declaração que vise à formatação e apresentação do documento. Isto significa dizer que tags do tipo <font>, <bold> <b>, <em>, <i>, entre outras, bem como uso de colunas e linhas de tabelas para obtenção de espaçamentos não são admitidos ou são admitidos com restrições em um projeto WEB com CSS. Vale afirmar que o usa-se o HTML para estruturação e CSS para apresentação (Maujor, 2007). 2.2.5 – JAVASCRIPT JavaScript foi desenvolvido pela Netscape e são scripts de linguagem utilizada em milhões de páginas da WEB e aplicações em servidores mundiais.
  • 16. 5 Contrariamente aos populares equívocos, não é JavaScript "interpretativo Java". Em suma o JavaScript é uma linguagem de programação que é pequena e leve, orientada por objetos e multiplataforma. Apesar de não ser útil como uma linguagem autônoma, foi desenhada para ser facilmente embutida em outros produtos e aplicações, como navegadores WEB. A sintaxe básica é intencionalmente similar ao Java e ao C++. 2.2.6 – AJAX Asynchronous JavaScript and XML (AJAX) não é uma tecnologia em si, mas sim um termo que define uma nova abordagem de uso conjunto de um número de tecnologias existentes, incluindo: HTML ou XHTML, CSS, JavaScript, Document Object Model, XML, XSLT e os objetos XMLHttpRequest. Quando estas tecnologias são combinadas no modelo AJAX, as aplicações WEB são capazes de fazer atualizações incrementais e rápidas na interface do utilizador sem ser necessário recarregar novamente toda a página. Isto faz com que a aplicação passe a ser mais rápida e que ofereça respostas rápidas às ações do utilizador (Gonçalves, 2007). Na figura 3 é apresentado o modelo tradicional de aplicação WEB e o modelo com aplicação em AJAX. Figura 3 – Modelos de aplicações WEB. 2.2.7 – PHP O PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de script Open Source de uso geral, muito utilizada para o desenvolvimento de aplicações WEB embutido dentro do HTML.
  • 17. 6 O PHP pode ser utilizado na maioria dos sistemas operacionais, incluindo Linux e suas distribuições, Unix (HP-UX, Solaris e OpenBSD), Microsoft Windows, Mac OS X e RISC OS. As habilidades do PHP incluem geração de imagens, arquivos PDF, animações em flash e podem facilmente criar qualquer padrão texto, como XHTML e outros arquivos XML. Talvez a mais forte e mais significativa característica do PHP seja seu suporte a uma ampla variedade de banco de dados. Na tabela 1 são apresentados os bancos de dados que são atualmente suportados (php.net, 2007). Tabela 1 – Bancos suportados pelo PHP Adabas D InterBase PostgreSQL Empress mSQL Solid Hyperwave MySQL Velocis 2.3 – PROTOCOLOS DE COMUNICAÇÃO 2.3.1 – HTTP HTTP (Hypertext Transfer Protocol) é o conjunto de regras para a transferência de arquivos (texto, imagens, som, vídeo e outros arquivos multimídia) na World Wide WEB (Thomson, 2005). Geralmente utiliza-se a porta 80 para comunicação de sites através da linguagem HTML. Já o HTTPS indica um site seguro que é protegido por firewall e criptografia. Contudo, para haver comunicação com o servidor do site é necessário utilizar comandos adequados, que não estão em linguagem HTML. 2.3.2 – WAP WAP (Wireless Application Protocol) é uma especificação de segurança que permite aos usuários acessarem informações instantaneamente através de dispositivos sem fio, como celulares, pagers, rádios bidirecionais, telefones inteligentes e comunicadores. O WAP suporta a maioria das redes sem fio. Estas incluem CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX, ReFLEX, iDEN, TETRA, DECT, DataTAC e Mobitex, e ainda é suportado por todos os sistemas operacionais. Ones manipulados
  • 18. 7 com dispositivos manuais que incluem PalmOS, EPOC, Windows CE, FLEXOS, OS / 9, e JavaOS (Viva o Linux, 2003). 2.4 – SERVIDOR E BANCO DE DADOS 2.4.1 – APACHE É um servidor WEB com código fonte aberto (não proprietários) e de domínio público (gratuito), desenvolvido e continuamente melhorado por centenas de programadores voluntários de muitas nações, colaborando através da internet. Encontra-se disponível para Linux, Unix, Windows e, devido ao seu desempenho, sofisticação, e estabilidade, é renome a ser o mais popular software do seu gênero. Na figura 4 é mostrado uma estatísticas dos atuais servidores WEB. Figura 4 – Estatística do uso de Softwares de Servidores WEB Fonte: NETCRAFT (2008) 2.4.2 – MySQL É um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada) como interface. Ele se tornou o mais popular banco de dados open source do mundo porque possui consistência, alta performance e confiabilidade, além de ser fácil de utilizar. Atualmente está sendo utilizado em mais de seis milhões de aplicações em todos os continentes (inclusive na Antártica) (MySQL, 2007). O MySQL funciona em mais de 20 plataformas, incluindo Linux, Windows, HP-UX, AIX, Netware, e dá acesso a diversas linguagens tais como: C, C++, Java, PHP, Python, Perl, Ruby, .NET, Oracle Forms, Microsoft ASP, Delphi, entre outros.
  • 19. 8 2.5 – INTERAÇÕES COM COMPONENTES FÍSICOS 2.5.1 – PORTA SERIAL Conforme afirma Rogercom (2006), a porta serial é utilizada principalmente para comunicação de dados. Pode ser utilizada também para acessar e controlar dispositivos conectados ao PC, mas possui algumas desvantagens em relação à porta paralela. A porta serial é muito usada entre os componentes do computador, e tem uma concepção simples: uma linha para enviar e outra para receber dados, além de outras que são eventualmente utilizadas para padronizar o envio e recebimento dos dados. Por sua simplicidade, a porta serial tem sido usada para fazer o PC se comunicar com qualquer dispositivo imaginável. Mesmo sendo lenta quando comparada a porta paralela, ela apresenta uma performance superior quando utilizada para comunicar-se com modems, mouses e sistemas de controle, os quais podem receber e enviar sinais por um meio de transmissão que pode ser RS-232, RS-485 ou por uma linha telefônica onde não a grande volume de dados. 2.5.1.1 – CONECTOR OU PINAGEM De acordo com Rogercom (2006), a maioria dos computadores atuais utilizam conectores DB-9 e DB-25 com o padrão Rs-232C (Tabela 2). Tabela 2 – Pinagem da porta serial 25-pinos (DB-25) 9-pinos (DB-9) Simbolo Função 2 3 Tx Transmite dados 3 2 Rx Recebe dados 4 7 RTS Permissão para envio 5 8 CTS Permissão fornecida 6 6 DSR Dado pronto 7 5 GND Terra 8 1 CD Deteção de portadora 20 4 DTR Terminal pronto 22 9 RI Indicador de Ring No projeto da interface para conexão de um dispositivo a ser controlado via porta serial, bastam 3 pinos: pino 5 – Terra, pino 3 – transmissão de dados, pino 2 – recepção de dados.
  • 20. 9 2.5.2 – DELPHI É um ambiente de desenvolvimento de aplicações para Windows criado pela Borland. Baseado no conceito de componentes, classes pré-fabricadas e em sua maioria visuais. Suas ferramentas de design possibilitam rápida criação de protótipos de aplicações, que somados ao amplo conjunto de seus componentes, tornam os protótipos em aplicações robustas e otimizadas. A linguagem Delphi tem como base o Object Pascal e possuem bibliotecas tais como, o ZeosLib que é um conjunto de componentes para interagir com bancos de dados tais como MySQL, PostgreSQL, Interbase, Firebird, Oracle e SQLite. 2.6 – COMPONENTES FÍSICOS 2.6.1 – MICROCONTROLADOR 8051 Na figura 5 é apresentada a arquitetura 8051 onde encontram-se uma CPU de 8 bits, um contador de 16 bits e um registrador de 16 bits que é usado para acessar a memória de dados, o que permite endereçar 64 KB de dados. A memória RAM interna tem 256 bytes e está dividida em dois blocos de 128 bits. O bloco inferior destina-se a trabalhar como outra memória de dados, enquanto que o bloco superior está dedicado aos registradores especiais que controlam os diversos recursos do microcontrolador. A arquitetura 8051 também oferece quatro portas paralelas de 8 bits, denominadas de P0, P1, P2 e P3. Essas portas são bidirecionais e podem ser usadas para receber ou para gerar sinais digitais e podem ser acessadas bit a bit, ou seja, cada bit da porta pode ser programado como entrada ou como saída. Figura 5 – Núcleo da família 8051 Fonte: MZEDITORA (2006)
  • 21. 10 CAPÍTULO 3 – O Projeto 3.1 SÍNTESE DO PROJETO A primeira etapa foi o desenvolvimento de um software capaz de se comunicar com os periféricos via celular. A base do mesmo é implementada nas diversas tecnologias de estado da arte em internet como PHP, HTML, entre outros. A segunda parte foi o desenvolvimento de uma aplicação WEB, para que o sistema permita controlar os periféricos através de um browser utilizando uma interface simples e objetiva contendo plantas da residência (sala, banheiro, cozinha, garagem e demais cômodos), desenvolvidos em 3D. Na figura 6 é apresentado o diagrama em blocos do projeto onde o usuário através do PC ou celular interage com o sistema. Este através de um browser interpreta a linguagem utilizada e interage com o banco de dados recuperando e atualizando informações para assim controlar os periféricos. Figura 6 – Diagrama de Blocos do projeto proposto. Por fim, a terceira etapa do projeto foi simular e implementar o software de uma placa obtida na UNICEP, onde os componentes mais importantes são o microcontrolador, seus periféricos, chaves e sensores, para citar somente alguns. Essa placa tem a finalidade de controlar e mostrar os estados dos periféricos existentes.
  • 22. 11 CAPÍTULO 4 – Desenvolvimento 4.1 – CONSIDERAÇÔES INICIAIS Neste capitulo é realizada uma análise da solução proposta para construir um sistema de automação residencial baseado em WML, HTML e PHP através da comunicação WAP e HTTP. Será demonstrada aqui a construção do software para integração com o banco de dados. Na seção 4.2 são analisadas desde as interfaces até os programas de comunicações. Isto inclui todos os softwares localizados no servidor, seu funcionamento e seu esquemático de comunicação. 4.2 – DESENVOLVIMENTO DA SOLUÇÃO 4.2.1 – SOFTWARE O software deste projeto é responsável por toda sua inteligência, ou seja, ele é responsável por acionar todo o sistema seguindo as regras definidas em seus códigos e assim permitir ao usuário emitir comandos e visualizar os resultados. A descrição é baseada no modelo de desenvolvimento clássico (ou cascata) partindo da análise, descrevendo o projeto e por fim apresentando sua implementação (Rafael Dohms, 2008). 4.2.2 – ANALISE O projeto do software é composto por três partes: as interfaces, o software de gerência e inteligência, e por fim o software de comunicação a ser implementado na próxima etapa. Com base no objetivo do projeto proposto estão listados abaixo alguns itens a ser abordados neste software: • Interfaces remotas para facilitar o uso dos usuários em qualquer lugar e a qualquer hora; • Interface visual para ajudar o usuário a navegar pela residência; • Mensagens textuais através de e-mails e SMS com intuito de facilitar e lembrar o usuário sobre as tarefas a serem realizadas; • Sistema inteligente com programações de tarefas automáticas.
  • 23. 12 Para aumentar as possibilidades de uso de um sistema de automação foram idealizadas duas interfaces para a utilização do sistema. As interfaces escolhidas foram um PC utilizando um navegador por meio do protocolo HTTP e um celular utilizando um micro-browser e o protocolo WAP. Cada interface possui limites e capacidades diferentes, portanto, cada uma deve ser diferenciada para usar os recursos disponíveis. Com isso a interface do PC deve ser a mais completa e permitir todos os comandos do sistema, porém a interface de um celular deve ser simplificada, para tornar a interação do usuário a mais simples e rápida possível. 4.2.3 – PROJETO A linguagem escolhida foi o PHP por sua sintaxe simples, código aberto e possibilidade de efetuar tarefas complexas de implementação de objetos. Para criar as interfaces com o usuário sobre um sistema em PHP, duas linguagens de saída foram escolhidas: O HTML para o PC e o WML para a interface de celulares. A interface do PC ganhará mais funcionalidades utilizando AJAX. O MySQL será o servidor de banco de dados utilizado por ser nativo da linguagem PHP. Os periféricos a serem alterados nesse projeto estão divididos em duas partes: Área Interna (lâmpada, ventilador, porta e janela) e Área Externa (motor da piscina, garagem e alarme). Como citado no item 4.2.2, para a interface de um celular usando o protocolo WAP, o software desenvolvido contem apenas as opções básicas e necessárias como: • Visualizar Residência / Cômodos / Periféricos; • Identificar estados dos periféricos; • Alterar estados dos periféricos; • Emitir automaticamente mensagens SMS quando algum periférico estiver queimado; • Emitir automaticamente mensagens SMS quando programado para executar tarefas. Na figura 7 é apresentado um fluxograma de navegação para celulares.
  • 24. 13 Figura 7 – Fluxograma de navegação. Partindo da página inicial o usuário passa pelo login onde será autenticado pelo sistema e direcionado para a página principal. A mesma consiste em interligar outras páginas e tem como objetivo principal o link de acesso ao painel de controle onde o usuário poderá alterar o status do periférico desejado.
  • 25. 14 4.2.4 – IMPLEMENTAÇÃO 4.2.4.1 – SOFTWARE PARA CELULARES O primeiro passo é detalhar a estrutura dos arquivos contidos no servidor (Figura 8). Figura 8 – Estrutura dos diretórios e arquivos. 1. WAP Neste diretório WAP estão localizados todos os arquivos que serão utilizados para a implementação do software via celular e detalhados logo abaixo: Arquivos: • editar_comodo.php – recebe o status atual do periférico relacionado ao cômodo da residência que está armazenado no banco de dados e exibe as opções ativado, ligado, aberto, desativado, desligado, fechado e queimado para que possa ser alterado. Logo após a escolha dos novos status todo o processamento é enviado para o arquivo editar_comodo_db.php; • editar_comodo_db.php – responsável por receber os novos status dos periférico e enviar as informações para o banco de dados MySQL; • index.php – arquivo inicial do sistema que leva o usuário para o login de autenticação; • login.php – autenticação e validação do usuário no sistema; • logout.php – finaliza o sistema;
  • 26. 15 • painel.php – arquivo responsável por fazer a ligação (link) para exibição dos status de todos periféricos tanto geral como individual (visualizar_comodos.php) e para serem alterados (editar_comodos.php); • principal.php – é responsável por unir todas as partes da base operacional e compor a API WEB, disponibilizando as interfaces para que o usuário tenha acesso ao sistema; • visualizar_comodos.php – responsável por visualizar os status dos cômodos em grupos ou individuais. 2. img Esta pasta armazena todas as imagens a serem utilizadas no software. 3. include Arquivo: • config.php – Contêm os parâmetros de conexão com a base de dados MySQL. Como citado acima na definição do arquivo editar_comodo.php os status dos periféricos são divididos em: • Ligado/Aberto/Ativado; • Desligado/Fechado/Desativado; • Queimado. Quando o dispositivo queima é emitida automaticamente uma mensagem SMS para o usuário, dizendo qual dispositivo está queimado, o cômodo a qual pertence e à data e à hora. Para simular essa mensagem definimos em nosso sistema todos os status citados acima. 4.2.4.1.1 – INTERFACE VISUAL E SEU FUNCIONAMENTO Partindo para o próximo passo temos as interfaces do sistema mostrando passo a passo o uso do mesmo via WAP que foi simulada pelo Wapsilon (2008). Na figura 9 é mostrada a página inicial e a área de login do software.
  • 27. 16 Figura 9 – Apresentação do site e área de login. No login o usuário é validado e direcionado em caso de sucesso para a página principal, caso contrário será exibido uma mensagem de “Login Inválido“ (Figura 10). Figura 10 – Autenticação do usuário. Na figura 11 é mostrada a pagina principal ela é responsável por unir todas as partes da base operacional e compor a API WEB, disponibilizando as interfaces para que o usuário tenha acesso ao sistema alem disso fornece um menu para que o usuário interaja com o sistema.
  • 28. 17 Figura 11 – Página principal do sistema responsável por interligar as tarefas. O primeiro item apresentado na figura 12 exibe informações sobre o sistema desenvolvido para o acesso WAP. Já o segundo item é uma legenda com os possíveis status dos periféricos. Figura 12 – Apresentação do sistema e lista dos dispositivos.
  • 29. 18 Abaixo é apresentado detalhes do terceiro item do menu principal que tem como objetivo gerenciar o sistema (Figura 13). Figura 13 – Painel de Controle. Na figura 14 o item 3.1 referente à figura 13 é responsável por listar todos os cômodos e exibir-los separadamente. Figura 14 – Visualização dos cômodos/status.
  • 30. 19 O item 3.2 referente à figura 13 é responsável por fazer a alteração dos periféricos existentes na residência de forma simples, rápida e eficaz (Figura 15). Figura 15 – Alteração dos cômodos/status. Na figura 16 é mostrado o item 3.2.1 com a confirmação das alterações dos status realizadas pelo item anterior. Figura 16 – Confirmação dos status alterados.
  • 31. 20 Na figura 17 são apresentados em uma única página todos os cômodos e seus status, simplificando uma possível busca para o usuário. Figura 17 – Visualização de todos os cômodos/status,da residência. Caso o periférico seja definido com o status de queimado, a seguinte mensagem será exibida no celular (Figura 18). Figura 18 – Recebimento de mensagem SMS.
  • 32. 21 Abaixo é apresentado o quarto item do menu principal que é a tela de encerramento do sistema (Figura 19). Figura 19 – Saindo do sistema . Como visto acima todo o sistema encontra-se funcionando e já hospedado no domínio http://wap.br-automation.com.br. 4.2.4.2 – SOFTWARE PARA PCs Como no software para celulares, o primeiro passo é apresentar o detalhamento da estrutura dos arquivos contidos no servidor (Figura 20). Figura 20 – Estrutura dos diretórios e arquivos.
  • 33. 22 1. WEB No diretório WEB estão localizados todos os arquivos que serão utilizados para a implementação do software via PCs e detalhados logo abaixo: Arquivos: • contato.php – responsável por enviar e-mails via formulário para o administrador do sistema; • default.php – é responsável por unir todas as diferentes partes da base operacional e compor a API WEB, disponibilizando as interfaces para que o usuário tenha acesso ao sistema; • index.php – arquivo inicial do sistema que leva o usuário para o login de autenticação; • login.php – responsável pela autenticação e validação do usuário no sistema; • logout.php – finaliza o sistema; • perfil.php – exibe o perfil do usuário junto com estatísticas de acesso; • rodape.php – contém a imagem do rodapé utilizada em todas as página; • topo.php – transmissão de arquivos HTML além de enviar informações ao cabeçalho, neste arquivo são estabelecidas configurações que informam ao navegador como agir com estes arquivos (Por exemplo: tempo de expiração do cache); 2. css Este diretório armazena os arquivos de estilo, com formatação e coloração, que se aplicam às tags HTML. 3. img Esta pasta armazena todas as imagens a serem utilizadas no software. 4. includes Este diretório se destina às classes, sejam elas de terceiros ou de desenvolvimento próprio. As classes utilizadas para conectar ao banco de dados, gerenciam templates e os objetos do sistema.
  • 34. 23 5. js Arquivos de funções JavaScript são armazenados nesta pasta e invocados pelo browser quando o HTML é interpretado. 4.2.4.2.1 – INTERFACE VISUAL E SEU FUNCIONAMENTO A dificuldade de compreensão de um sistema pode ser uma grande desvantagem, por isso, um esforço maior foi dedicado a procurar formas de tornar as interfaces mais amigáveis. Uma navegação visual pode resolver este problema, ilustrando ao usuário claramente onde e o que está sendo controlado em cada cômodo. Esta solução possibilita que qualquer usuário possa utilizar o sistema sem necessidade de treinamento prévio ou conhecimentos aprofundados. Como o objetivo do projeto proposto era a comunicação com os periféricos da residência de qualquer localização, acessando o endereço http://www.br- automation.com.br, pode-se fazer o login para entrar no sistema como mostra a figura 21. Figura 21 – Área de login. Em seguida é apresentado o layout (tela) principal do software desenvolvido para PCs, utilizando o protocolo HTTP voltado para WEB (Figura 22).
  • 35. 24 Figura 22 – Layout principal do software para PCs. Nota-se pela tela principal do software que além de prever o controle dos periféricos da residência, também tem outras funcionalidades tais como gerenciador de tarefas, serviços, câmera online, gerenciador de logs, contato, link para acesso WAP, perfil, entre outros. Na figura 23 são apresentados todos os cômodos disponíveis e automatizados da residência.
  • 36. 25 Figura 23 – Cômodos disponíveis na residência. Ao passar o mouse sobre os cômodos, a imagem é alterada facilitando a interação com o usuário, para que o mesmo selecione o cômodo desejado e faça as devidas alterações dos status dos periféricos (Figura 24).
  • 37. 26 Figura 24 – Exibindo status da lâmpada atual. Ainda a critério de interação, ao passar o mouse sobre os periféricos contidos no cômodo, uma layer surge fazendo perguntas sugestivas do tipo: “Você deseja ligar a lâmpada?”. Caso haja alteração no periférico, imediatamente é enviada a atualização para a base de dados e alterada a imagem de exibição. Na figura 25 é mostrada a alteração através de um contorno vermelho na qual, status e a imagem foram alterados em relação à figura 24. Nota-se também que a pergunta do periférico também foi alterada para: “Você deseja desligar a lâmpada?”.
  • 38. 27 Figura 25 – Exibindo novo status da lâmpada. Com este software é possível alterar todos os periféricos disponíveis em cada cômodo de maneira fácil e rápida. O software também conta com um sistema de perfil, onde são armazenadas as informações do usuário junto com outras informações relevantes. Neste perfil, também é possível visualizar os relatórios de tarefas que foram e vão ser executadas e extrair logs do administrador, para que o mesmo tenha total controle de quem utilizou o sistema. Informações como nome, senha, e-mail, ultimo acesso também fazem parte do perfil (Figura 26).
  • 39. 28 Figura 26 – Informações relevantes sobre o usuário. Nos softwares desenvolvidos atualmente, uma das grandes dificuldades é manter contato com o suporte em caso de dúvidas ou problemas referente ao mesmo. Muitas vezes, o usuário acaba desistindo do atendimento por falta de paciência e até mesmo por ter tentado e não ter obtido sucesso. Atentando para isso, o software proposto conta com um suporte 24 horas através de um formulário de contato incluso no próprio sistema para quando houver qualquer tipo de problema, basta apenas preenchê-lo. Também está disponível o telefone e o e-mail do administrador responsável pela manutenção do software. Ainda para maior comodidade do usuário, diariamente é enviado um relatório de monitoramento para os desenvolvedores com uma analise de procedimentos executados junto com o desempenho obtido pelo mesmo, para quando houver qualquer irregularidade, o mesmo é submetido à manutenção e correção imediata (Figura 27).
  • 40. 29 Figura 27 – Suporte via formulário. A segurança através de câmeras online também foi adotada neste software. A solução aqui proposta foi simples, eficaz e principalmente acessível financeiramente. A cada minuto é extraída uma imagem da câmera e enviada para o servidor onde é exibida pelo navegador. Esse tempo de um minuto pode ser diminuído conforme a necessidade do usuário. Essas câmeras podem ser implantadas e monitoradas sem limites de meios físicos. Na figura 28 é apresentada uma imagem extraída da câmera juntamente com informações de dia e hora.
  • 41. 30 Figura 28 – Câmera Online. Para gerenciar as tarefas o software conta com dois tipos de gerenciadores. O primeiro executa tarefas diárias, facilitando o agendamento constante das mesmas. Este gerenciador está disponível na tela principal do software, onde pode-se adicionar tarefas para ativar ou desativar periféricos de qualquer cômodo automatizado da residência. Na figura 29 é apresentado o funcionamento do gerenciador de tarefas diárias, onde basta apenas inserir a hora e clicar no quadrado ao lado para checar o dispositivo desejado.
  • 42. 31 . Figura 29 – Gerenciador de tarefas diário. O segundo gerenciador pode tanto gerenciar tarefas diárias como também tarefas em longo prazo. Seu funcionamento é semelhante ao gerenciador de tarefas diário, porém nele é possível adicionar data e hora em que as tarefas serão executadas. Também é possível visualizar as tarefas e até mesmo excluí-las caso o usuário não deseje mais realizá-las. Com essa flexibilidade é possível programar a hora que as portas e janelas serão fechadas, que o motor da piscina será ligado ou até mesmo quando os alarmes externos da residência serão ativados ou desativados. Na figura 30 são exibidas de forma simples as tarefas a serem executas conforme foram programadas.
  • 43. 32 Figura 30 – Gerenciador de tarefas. Para maior praticidade o software conta com uma exibição rápida de todos os status dos periféricos disponíveis no momento (Figura 31).
  • 44. 33 Figura 31 – Status dos periféricos/cômodos.
  • 45. 34 4.2.3 – COMUNICAÇÃO VIA SERIAL COM O HARDWARE A comunicação com a porta serial será obtida pelo DELPHI, que é responsável por executar as tarefas em linha de comando que enviam e recebem dados pela porta serial. O hardware para a comunicação já estava pronto e foi obtido na própria UNICEP. O hardware terá um objetivo simples, ele será responsável por receber comandos da porta serial e enviar bits de resposta à mesma. A seguir, será detalhada a etapa de análise do hardware. 4.2.3.1 – ANÁLISE DO HARDWARE O hardware pode ser separado em duas partes que trabalham juntas para obter resultados. A primeira parte do hardware é denominada de módulo de endereçamento, responsável por determinar qual elemento deve ser controlado, e a segunda parte, denominada de periférico de controle, é responsável por guardar o estado do periférico e efetuar alterações. A conexão com o computador é realizada por meio da porta serial (Figura 32). Figura 32 – Estrutura do hardware proposto. O periférico de controle precisa de um componente capaz de atuar como uma memória, mantendo armazenado o estado atual dos elementos, para que, ao se manipular outros elementos, o primeiro não se apague e sim mantenha o estado atual. Além disso, ele deve ter o poder de alterar o estado do elemento ligado a ele, por exemplo, desligar uma lâmpada, através de um componente que entenda sinais altos e sinais baixos.
  • 46. 35 A estrutura do projeto implementa uma base operacional, na qual, diferentes tipos de periféricos podem ser conectados. Porém, será desenvolvido como exemplo apenas um controle para lâmpadas. A linguagem de comunicação utilizada para desenvolver o software usado no microcontrolador 8051 foi o assembly, que posteriormente foi convertido em binário. Sua lógica é simples e objetiva. Ao receber um determinado dado da porta serial, ele interpreta e executa o comando. Como citado acima, o Delphi é responsável pela comunicação entre o hardware através da porta serial e o servidor de dados online. Ele também funciona como um monitor de status para o servidor. Na figura 33 são mostrados os status atuais ativos (verdes) ou inativos (vermelhos) de todos os cômodos e seus periféricos contidos na residência através da interface Delphi. Figura 33 – Interface Delphi.
  • 47. 36 CAPÍTULO 5 – Conclusão O projeto proposto teve êxito em apresentar e implementar uma solução de automação residencial de pequeno e médio porte. Para esta solução foram utilizadas tecnologias de estado da arte em programação voltada à internet, procurando obter um resultado final de baixo custo e diminuir os requisitos de conhecimentos necessários ao usuário operante do sistema. A disciplina de Engenharia de Software forneceu base para a metodologia de implementação, estabelecendo o conhecimento básico para a separação em etapas e definindo itens a serem abordados em cada uma. As matérias voltadas à programação como Banco de Dados, juntamente com a experiência profissional obtida ao longo do curso, auxiliaram no desenvolvimento do software do projeto e do conhecimento de seus limites. As matérias da área de Elétrica e Eletrônica, como Circuitos Digital I e II, foram amplamente utilizadas e suas teorias postas à prova durante o projeto e a implementação do hardware utilizado. Dessa forma, conclui-se que o projeto estimulou o uso de maior parte dos conhecimentos obtidos durante a graduação e, com isso, firmou conceitos aprendidos e aplicados na prática, demonstrando sua importância à carreira profissional de engenheiro. 5.1 – IMPLEMENTAÇÕES FUTURAS Para possibilitar a aplicação comercial deste produto, as perspectivas de melhorias são: • Troca do meio de comunicação RS-232 para RS-485 • Servidor local com link de internet dedicado de no mínimo 8 Mbits/s • O desenvolvimento de novos periféricos de ação baseados na estrutura disponibilizada. Desta forma será possível controlar outros elementos como ar condicionado, banheira, microondas entre outros.
  • 48. 37 REFERÊNCIAS BIBLIOGRAFICAS: GONÇALVES, Edson. Dominando AJAX. Rio de Janeiro: Ciência Moderna, 2007. PHP.NET: Hypertext Preprocessor, 2001. Disponível em: http://www.php.net, Acessado novembro de 2007. OLIVEIRA, João de Deus. Requisitos para WEB, 2003. Disponível em: www.inf.furb.br/~egrahl/disciplinas/qualidade/material/POSWEB2/reqWEB.pdf, Acessado em julho de 2007. FALCÃO, Nara de Arruda. Armazenamento de Mídias e Objetos Virtuais Utilizando o Suporte Nativo a XML do Oracle 10g, 2004. Disponível em: http://www.cin.ufpe.br/~tg/2005-2/naf.pdf, Acessado em junho de 2007. VIVA O LINUX: Criando sites para celular com WML. Viva o linux, 2003. Disponível em: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=432, Acessado julho de 2007. MAUJOR: CSS FAQ - Dúvidas freqüentes de CSS, 2006. Disponível em: http://www.maujor.com/tutorial/faq.php, Acessado junho 2007. MYSQL. MySQL Database Server, 2007. Disponível em: http://www.mysql.com/products/mysql, Acessado em novembro 2007. ROGERCOM, Portas Paralelas, 2006. Disponível em: http://www.rogercom.com, Acessado em novembro 2007. MZEDITORA: Arquitetura 8051, 2002. Disponível em: http://www.mzeditora.com.br/artigos/mic_modernos.htm, Acessado em novembro 2007.
  • 49. 38 RAFAEL DOHMS: Disponível em: http://www.rafaeldohms.com.br, Acessado em março de 2008. SIMULADOR WAPSILON. Disponível em: http://www.wapsilon.com, Acessado em março de 2008. NETCRAFT: WEB Server Survey, 2006. Disponível em: http://news.netcraft.com/archives/WEB_server_survey.html, Acessado em novembro 2007. W3C: HTML 4.01 Specification, 2005. Disponível em: http://www.w3.org/TR/REC- html40/intro/intro.html#h-2.2 , Acessado em novembro de 2007.
  • 50. 39 APÊNDICE A – Comunicação serial com assembly
  • 51. 40 APÊNDICE B – Envio de mensagens textuais via SMS
  • 52. 41 APÊNDICE C – SQL de criação do banco padrão