52
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

TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

Embed Size (px)

Citation preview

Page 1: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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

Page 2: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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

Page 3: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

III

_________________________

Orientador Prof. Emerson Carlos Pedrino

Page 4: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 5: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 6: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 7: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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

Page 8: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

VIII

LISTA DE TABELAS

Tabela 1 – Bancos suportados pelo PHP ....................................................................................... 6

Tabela 2 – Pinagem da porta serial ............................................................................................... 8

Page 9: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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

Page 10: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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

Page 11: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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

Page 12: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 13: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 14: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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).

Page 15: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 16: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 17: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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

Page 18: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 19: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 20: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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)

Page 21: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 22: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 23: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 24: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 25: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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;

Page 26: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 27: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 28: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 29: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 30: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 31: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 32: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 33: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 34: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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).

Page 35: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 36: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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).

Page 37: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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?”.

Page 38: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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).

Page 39: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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).

Page 40: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 41: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 42: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 43: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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).

Page 44: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

33

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

Page 45: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 46: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 47: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 48: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 49: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

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.

Page 50: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

39

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

Page 51: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

40

APÊNDICE B – Envio de mensagens textuais via SMS

Page 52: TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI

41

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