AUTOMAÇÃO RESIDENCIAL COM WEB SERVER EMBARCADO EM UM MICROCONTROLADOR



Documentos relacionados
Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

IW10. Rev.: 02. Especificações Técnicas

1. CAPÍTULO COMPUTADORES

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Manual do Usuário Android Neocontrol

5 Entrada e Saída de Dados:

Desenvolvendo Websites com PHP

SISTEMAS OPERACIONAIS LIVRES GERENCIAMENTO DE SERVIÇOS NO WINDOWS. Professor Carlos Muniz

PROJETO E IMPLANTAÇÃO DE INTRANETS

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL RV1

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

PARANÁ GOVERNO DO ESTADO

4 Estrutura do Sistema Operacional Kernel

Relatorio do trabalho pratico 2

Curso de Aprendizado Industrial Desenvolvedor WEB

Tecnologia PCI express. Introdução. Tecnologia PCI Express

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Arquitetura de Rede de Computadores

Manual de utilização do módulo NSE METH-8RL/Exp

Componentes de um Sistema de Computador

Monitor de Rede Elétrica Som Maior Pro. Manual do Usuário Versão 3.9f

Alarme Automotivo com mensagem para móvel utilizando Arduino

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

3. Arquitetura Básica do Computador

Um Driver NDIS Para Interceptação de Datagramas IP

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Memórias Prof. Galvez Gonçalves

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Prof. Esp. Lucas Cruz

Placa Acessório Modem Impacta

2 Diagrama de Caso de Uso

Fundamentos em Informática

Como Utilizar Power over Ethernet para Reduzir o Consumo de Energia

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

1. Introdução. 2. Conteúdo da embalagem

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

CAPÍTULO 2. Este capítulo tratará :

Organização de Computadores 1

ARQUITETURA DE COMPUTADORES

Sistemas Distribuídos

Geral: Manual de Utilização do Software de Teste Gradual Windows

MANUAL DE CONFIGURAÇÃO

5 Mecanismo de seleção de componentes

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

ULA Sinais de Controle enviados pela UC

Sumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web

Curso Técnico de Nível Médio

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Instalando o WordPress em localhost

Fundamentos de Automação. Controladores

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E

ARDUINO UNO Guia do Usuário

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

SISTEMA DE MONITORAMENTO DIGITAL

:: Telefonia pela Internet

Informática I. Aula Aula 22-03/07/06 1

Rede de Computadores

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

ARQUITETURA DE COMPUTADORES

GUIA RÁPIDO. DARUMA Viva de um novo jeito

Nota de Aplicação. Utilizando os recursos de segurança dos controladores HI. HI Tecnologia. Documento de acesso público

A senha 001 de fábrica é

Introdução aos Computadores

Introdução. Em se tratando de computador, entendemos que memória são dispositivos que armazenam dados com os quais o processador trabalha.

Noções de. Microsoft SQL Server. Microsoft SQL Server

Conteúdo Programático de PHP

Orientação a Objetos

WHITEPAPER. Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital

Tecnologia e Infraestrutura. Conceitos de Redes

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Disciplina: Introdução à Informática Profª Érica Barcelos

Servidor, Proxy e Firewall. Professor Victor Sotero

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Comparativo entre câmeras analógicas e Câmeras IP.

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

Programação para Web Artefato 01. AT5 Conceitos da Internet

Diferentes modos para visualizar gravações no Software HMS Client

Transcrição:

AUTOMAÇÃO RESIDENCIAL COM WEB SERVER EMBARCADO EM UM MICROCONTROLADOR Diego Silva de Melo Rogério Mendes Massuchini Trabalho de Conclusão de Curso de Engenharia Elétrica, orientado pelo Professor Alessandro Correa Mendes. Universidade do Vale do Paraíba Jacareí 2013

AUTOMAÇÃO RESIDENCIAL COM WEB SERVER EMBARCADO EM UM MICROCONTROLADOR Diego Silva de Melo Rogério Mendes Massuchini Alessandro Correa Mendes Universidade do Vale do Paraíba Jacareí 2013

Quando atingimos o objetivo, convencemo-nos de que seguimos o bom caminho. Paul Valéry 3

AGRADECIMENTOS Agradecemos a todos os Docentes da FEAU e em particular o Professor Alessandro, pela compreensão e ajuda a nós, por se tratar de dois alunos que além dos afazeres escolares, temos nossas responsabilidades diárias nos nossos empregos e das nossas famílias. Eu, Rogério agradeço e dedico este momento a minha família e principalmente minha esposa Deusileni e minhas duas razões de viver, que são meus filhos, Arthur de 5 anos e o recém chegado Heitor de 2 meses, pois através deles consigo obter força para ultrapassar os obstáculos do dia a dia. Eu, Diego agradeço antes de tudo a Deus por mais essa conquista e a minha família que sempre esteve ao meu lado nesta longa jornada que se encerra. 4

RESUMO A área de Automação Residencial vem se expandindo no Brasil. Fatores como o crescimento do mercado imobiliário, especialmente dos condomínios de alto padrão, estão funcionando como catalisadores do interesse do público em adotar novas soluções de conforto, segurança e melhorando o estilo de vida. Possui um controle unificado de sistemas residenciais, que visa unir os controles de todos os sistemas dentro da residência. Este trabalho apresenta uma solução de controle residencial centralizado por meio de um sistema com acesso via internet, capaz de controlar o sistema de iluminação e de equipamentos. Toda a estrutura física da solução é feita sobre um microcontrolador com um hardware que permite a construção ágil de circuitos. Para controlar o sistema remotamente foi desenvolvido um com sistema servidor web para hospedar a página web desenvolvida nas linguagens de programação PHP e HTML. A página criada possui uma interface simples e intuitiva permitindo o usuário efetuar comandos para ligar e desligar dispositivos remotamente. A comunicação entre os dispositivos é realiza através de uma rede interna onde trafegam as informações e comandos enviados do sistema de controle ao microcontrolador. Palavras Chave: Automação residencial; Microcontroladores; Web server. 5

ABSTRACT The area of Home Automation is expanding in Brazil. Factors such as the growth of the real estate market, especially the upscale condominiums, are working as catalysts in the public interest to adopt new solutions for comfort, safety and improving lifestyle. It has a unified control of home systems, which aims to unite the controls of all systems within the residence. This work presents a solution for home control through a centralized system with free internet, able to control the lighting system and equipment. All the physical structure of the solution is made on a microcontroller with hardware that allows the flexible circuit construction. The control system remotely was developed with web server hosting the web page developed in programming languages PHP and HTML. The created page has a simple and intuitive interface allowing the user to turn on and off commands to devices remotely. The communication between devices is performed through an internal network where information and commands are sent from the control system to the microcontroller. Keywords: Automação residencial; Microcontroladores; Web server. 6

SUMÁRIO Pág. LISTA DE FIGURAS... 9 LISTA DE TABELAS... 10 GLOSSÁRIO... 11 1 INTRODUÇÃO... 12 2 OBJETIVOS... 13 2.1 OBJETIVO GERAL... 13 2.2 OBJETIVOS ESPECÍFICOS... 13 3 AUTOMAÇÃO RESIDENCIAL... 14 3.1 CONCEITOS E HISTÓRIAS... 14 3.2 DOMÓTICA... 15 3.3 FORMAS DE CONTROLE... 16 3.4 MEIOS DE COMUNICAÇÃO... 16 3.5 CONTROLE RESIDENCIAL... 17 3.5.1 VISÃO GERAL... 17 3.5.2 SISTEMA DE ENERGIA ELÉTRICA... 17 3.5.3 SISTEMA DE ILUMINAÇÃO... 17 3.5.4 SISTEMA DE SEGURANÇA... 18 4 MATERIAIS E MÉTODOS... 20 4.1 O QUE É UMA REDE E ETAPAS DE DESENVOLVIMENTO... 20 4.1.1 CONFIGURAÇÕES DE REDE... 20 4.1.2 ENDEREÇOS IP... 21 4.2 MICROCONTROLADORES... 21 4.2.1 CARACTERÍSTICAS... 22 4.2.2 O HARDWARE DO PROJETO... 23 7

4.2.3 IDE DO MICROCONTROLADOR... 25 4.2.4 PLACA ETHERNET SHIELD... 26 4.3 ARQUITETURA DO PROJETO... 27 4.4 WEB SERVER... 28 4.4.1 CARACTERÍSTICAS DO WEB SERVER... 28 4.5 WEB SERVER XAMPP... 29 4.5.1 CARACTERÍSTICAS E REQUERIMENTOS... 29 4.5.2 APLICAÇÕES... 29 4.6 INTERFACES COM O USUÁRIO... 29 4.6.1 O QUE É PHP... 29 4.6.2 HISTÓRIA... 30 4.6.3 VANTAGENS DO PHP... 30 4.6.4 CONFIGURAÇÕES BÁSICAS UTILIZADAS NO PROJETO... 31 4.6.5 REFERÊNCIA DAS PORTAS DOS MICROCONTROLADORES COM PHP... 32 5 RESULTADOS... 33 6 CONCLUSÃO... 35 REFERÊNCIAS... 36 8

LISTA DE FIGURAS Pág. Figura 2.1 Exemplo de domótica.... 15 Figura 3.1 Rede de computadores.... 20 Figura 3.2 Arduino Uno e placa Ethernet Shield.... 24 Figura 3.3 Interface do IDE versão 1.0.1.... 25 Figura 3.4 Arquitetura do projeto... 27 Figura 3.5 Utilização do PHP.... 30 9

LISTA DE TABELAS Tabela 3.1 Portas do microcontrolador... 31 Tabela 3.2 Referências dos comandos... 31 Pág. 10

GLOSSÁRIO Web server Servidor Web. IHM Interface Homem Máquina. House Code Código de Casa. Unit Code Unidade de Código. ABESE Associação Brasileira das Empresas de Sistemas Eletrônicos de segurança. AURESIDE Associação Brasileira de Automação Residencial. PWM Modulação por largura de pulso. Timers - Temporizadores. UC unidade de controle. ULA unidade lógica e aritmética. CPU Unidade central de processamento. carregador de boot responsável pelas rotinas de inicialização. Rx e Tx Receptor e Transmissor IDE Ambiente Integrado de Desenvolvimento open-source - código fonte disponível para download. Sketchs arquivos de código fonte gerado pelo IDE. Upload envio dos dados do computador para o microcontrolador..2 Interface do IDE WEB XAMPP - O nome provem da abreviação de X (para qualquer dos diferentes sistemas operativos), Apache, MySQL, PHP, Perl. 11

1 INTRODUÇÃO A Automação Residencial nos últimos tempos está passando de um item do futuro para a realidade, muitas residências já possuem algum tipo de automação como, por exemplo, na área de iluminação, entretenimento, segurança, telecomunicação, controle e mensuração de temperatura, entre outros, possibilitando obter um sistema único de controle. Atualmente há vários dispositivos capazes de realizar a interface homem máquina (IHM), o diferencial e o desafio está em possuir a mesma capacidade de controle com um custo menor. Focado neste desafio, este trabalho irá desenvolver uma Automação Residencial com interface a um computador para que possa ser possível ter um controle na parte da automação residencial via Webserver embarcado em microcontrolador. Dentro deste trabalhoenvolvem-se vários elementos, como por exemplo; CI (circuitos integrados), circuitos de iluminação, sistemas embarcados, comunicação de rede sem fio, etc.. No decorrer dos capítulos tem-se uma abordagem dos conceitos e aplicação de uma Automação Residencial. Depois são apresentados os fundamentos e características da plataforma Arduino. E para finalizar o projeto, vem o desenvolvimento e detalhamento da parte computacional e eletrônica do projeto. 12

2 OBJETIVOS 2.1 OBJETIVO GERAL Criar um sistema automatizado para controle de dispositivos residenciais. 2.2 OBJETIVOS ESPECÍFICOS Desenvolver um sistema automatizado para residências. Criar um sistema via Web para controle dos dispositivos. Implementar acesso ao sistema via internet, permitindo o controle através de dispositivos, e/ou computadores remotos. 13

3 AUTOMAÇÃO RESIDENCIAL 3.1 CONCEITOS E HISTÓRIAS O principal objetivo da Automação Residencial é facilitar as tarefas diárias em uma residência tanto as mais simples, como por exemplo, o acender uma lâmpada, quanto as mais complexas, como uma programação para irrigar jardins com sensores de umidade instalados no solo. A história da Automação Residencial começa por volta dos anos 70 com os primeiros controles para eletroeletrônicos. Em 1975 foram criados os X-10 que é chamado de pioneiro da Domótica e desenvolvido pela Pico Electronics. O X-10 foi o primeiro protocolo a transmitir dados através da linha elétrica, controlando à distância operações como ligar ou desligar equipamentos. Segundo Fernandes (2000) os endereços X-10 são constituídos por duas partes de quatro bits cada: código de casa (House Code) e código de unidade (Unit Code). Normalmente, dentro de uma única casa é atribuído o mesmo código aos controladores e aos módulos, sendo o código de unidade, utilizado para selecionar cada um desses módulos em particular. O código de casa é utilizado para separar módulos que podem estar instalados em casas ou apartamentos vizinhos, mas que dividem o uso da mesma rede elétrica. Com o passar dos anos varias empresas começaram a desenvolver produtos para Automação Residencial, a fim de tentarem baixar o custo final do produto. Como exemplo, a americana Echelon Corporation, criou o LonWorks, protocolo de controle residencial e predial. No Brasil somente em meados de 2000, foi criado a AURESIDE que é a Associação Brasileira de Automação Residencial, possui sede em São Paulo, e tem como objetivo divulgar conceitos e tecnologia, homologar serviços e produtos bem como capacitar profissionais. 14

3.2 DOMÓTICA A palavra Domótica vem da junção da palavra latina Domus (casa) com Robótica (automação), tem como principal objetivo simplificar a vida das pessoas a fim de realizar algumas tarefas, como controlar alguns dispositivos a distâncias. Segundo Roque (2008), domótica é a utilização simultânea da eletricidade, da eletrônica e da tecnologia da informação no ambiente residencial, permitindo realizar a sua gestão, local ou remota, e oferecer diversas aplicações integradas nas áreas da segurança, conforto, comunicação e gestão de energia. Hoje a Domótica é chamada de ciência da Automação Residencial, extremamente nova, que além de completar a Automação Residencial, agrega outras ciências, como Engenharia Elétrica, Arquitetura, Engenharia da Computação, Sociologia entre outras, com intuito de suprir as necessidade e tentar eliminar o máximo de contato com dispositivo dentro da residências. Figura 2.1 Exemplo de domótica. (Fonte: site gngimports) De acordo com Bolzani (2007) como não há uma padronização de desenvolvimento para projetos, uma boa prática de implementação da Domótica é dividir o processo em três grandes setores: controle, dados e multimídia. 15

3.3 FORMAS DE CONTROLE As formas de controle da automação residencial são divididas em duas partes, que são os controles centralizados, como o próprio nome diz centraliza um conjunto de dispositivos em uma única central e os controles descentralizados, usados em projetos mais complexos. Conforme Casadomo (2013) utilizando-se a arquitetura centralizada, o controlador envia as informações para os atuadores e interfaces. Já o recebimento das informações se torna possível devido à presença de sensores, sistemas interconectados e as ações do usuário. Uma vantagem da arquitetura centralizada é o custo em relação à descentralizada, mas por outro lado é grande a quantidade de fiação utilizada nos projetos. Casado (2013) fala que na arquitetura descentralizada existem diversos controladores interconectados por um bus que possibilitam o envio de informações entre eles. Já os atuadores, as interfaces e os sensores não necessariamente comunicam-se com mais de um controlador diretamente, ou seja, a proposta é dividir o sistema para suprir necessidades complexas. A maior vantagem desta arquitetura e tornar o sistema mais robusto, fácil instalação e facilidade de uso, já a desvantagem fica por conta do custo elevado dependendo do projeto. 3.4 MEIOS DE COMUNICAÇÃO Conforme Teruel (2008) quanto à forma de comunicação entre os dispositivos, às soluções propostas pela domótica geralmente são cabeadas ou por radiofrequência. Dentro das soluções cabeadas, podem ser utilizados cabos de dados ou a rede elétrica. Segundo Teruel (2008) nos sistemas com transmissão de dados por radiofrequência, o sistema de ligação é muito parecido com o sistema que usa cabeamento de dados. Tendo como principal diferença a presença de pequenos módulos de automação que são embutidos nas paredes, aos quais, é necessária a ligação do neutro. 16

3.5 CONTROLE RESIDENCIAL 3.5.1 VISÃO GERAL A automação residencial possui diversos aspectos importantes e que contribuem de maneira benéfica no nosso dia a dia. A possibilidade de se controlar equipamentos e dispositivos como eletrodomésticos ou iluminação melhora o controle dos mesmos e permite a medição do consumo de energia a fim de reduzir gastos. Além disso, trás uma grande comodidade visto que o sistema pode ser controlado por meio de um computador ou dispositivos móveis. Segundo Bolsani (2004) existem no mercado outros tipos de controle residencial, baseados nos sistemas domóticos, que ajudam a ter um maior controle geral da residência. Abaixo alguns exemplos de sistemas residenciais: Sistema de energia elétrica; Sistema de redes de computadores; Sistema de controle de iluminação; Sistema de telefonia; Sistema de áudio e vídeo; Sistema de segurança patrimonial. 3.5.2 SISTEMA DE ENERGIA ELÉTRICA O controle residencial ajuda a reduzir o consumo de energia elétrica por meio de softwares que realizam cálculos dos gastos energéticos mensais. As facilidades para aquisição de equipamentos contribuem para o aumento no consumo de energia elétrica, em contra partida com um gerenciamento dedicado podemos criar critérios que possibilitem a redução no consumo. 3.5.3 SISTEMA DE ILUMINAÇÃO Com a automação residencial controla-se toda a parte de iluminação de uma residência por meio de dispositivos móveis, como smart fones. Esse tipo de controle foi o pioneiro na era das casas inteligentes, sendo que hoje encontramos dispositivos mais completos e de fácil 17

instalação para que o usuário possa gerir melhor sua residência. A economia fica basicamente através dos sensores, que conseguem visualizar o ambiente e fazer uma regulagem inteligente da iluminação. 3.5.4 SISTEMA DE SEGURANÇA Sem dúvida alguma é o sistema que mais cresce no que se diz respeito a automação residencial, segundo a ABESE (Associação Brasileira das Empresas de Sistemas Eletrônicos de segurança) estudos recentes apontam um crescimento de 15% ao ano. Segundo Bolsani (2004) possui alguns pontos importantes a serem cumpridos dentro do sistema de segurança, esses pontos são: Prevenção ou dissuasão: o sistema deve inibir e promover a desistência do invasor; Detecção e alarmes: o sistema deve comunicar com todos os sensores para identificar uma possível invasão e acionar os alertas; Reconhecimento ou identificação: o sistema deve ser capaz de identificar se a pessoa é o usuário ou não e tomar as devidas decisões; Retardo: o sistema analisa as condições de todos os sensores e câmeras antes de tomar uma decisão ou aguarda uma ordem do usuário para evitar falsos alarmes; Reação: o sistema deve disparar os alertas programados assim que houver uma invasão, a fim de cancelá-la. Bolsani (2004) define o sistema de segurança em cinco subsistemas: Detecção perimetral: se baseiam sensores e barreiras que monitoram o perímetro da residência detectando possíveis invasões; Sensoriamento interno: consiste em sensores que monitoram o interior da residência; Circuito Fechado de Televisão (CFTV): associado ao Sistema de Sensoriamento Interno, CFTV consiste em câmeras colocadas em locais críticos da residência (como a entrada ou áreas de acesso restrito) adaptadas 18

para cada tipo de local, enviando as gravações para um servidor que armazena as imagens; Controle de Acessos: também associado ao Sistema de Sensoriamento Interno, controla o acesso das pessoas a determinados pontos da residência através de crachás, cartões, sistemas biométricos ou outros meios de identificação; Controle de Rondas: consiste em controlar a movimentação do pessoal responsável pela segurança para evitar brechas para uma invasão, este se aplica em casos onde existe segurança feita por pessoas. 19

4 MATERIAIS E MÉTODOS 4.1 O QUE É UMA REDE E ETAPAS DE DESENVOLVIMENTO Segundo Rob Scrimger (2002) uma rede são dois ou mais computadores que compartilham informações, variam em tamanho de apenas alguns até milhões de clientes. Um cliente é um requisitante, pode ser um computador ou outro dispositivo que solicita o tráfego de rede. Por exemplo, acessar em um site. O cliente envia uma solicitação de sincronização para o servidor (www.uol.com.br). O servidor envia ao cliente uma solicitação de sincronização juntamente com a confirmação da sincronização enviada anteriormente pelo cliente. O cliente então envia ao servidor uma última mensagem, juntamente com a confirmação da solicitação de sincronização enviada anteriormente pelo servidor, estabelecendo assim a conexão com o servidor e este permitindo o acesso ao site. O servidor (site UOL) também é um cliente. Figura 3.1 Rede de computadores. (Fonte: site gngimports) 4.1.1 CONFIGURAÇÕES DE REDE Os sistemas de redes podem existir de diferentes formas e tamanhos, porém todos possuem certas características que são comuns. Cada dispositivo em uma rede, sendo ele referido como uma estação ou nó tem que possuir uma interface apropriada. Todas as estações 20

ligadas ao sistema transmitem dados de uma estação para a outra, por um meio físico que tanto pode ser pares trançados, cabos coaxiais, cabos de fibra ótica ou rede sem fio. Para a manipulação correta da transferência de arquivos através do sistema, acessos às estações, validação dos dados etc, são necessários softwares que desempenhem tais funções. 4.1.2 ENDEREÇOS IP Conforme Teixeira Júnior (1999) um "número IP" ou simplesmente "IP", é um código composto de números separados por três pontos que identificam um computador em particular na rede. Cada computador, seja um servidor Web ou o computador que utilizamos no dia a dia, precisa de um endereço IP para se conectar, por exemplo, à Internet. Endereços IP consistem em quatro conjuntos de números de 0 a 255, separados por três pontos. Por exemplo, "66.72.98.236" ou "216.239.115.148". O Provedor de internet (Internet Service Provider-ISP), irá lhe atribuir um endereço IP estático (não muda) ou um endereço IP dinâmico (que muda toda vez que você efetuar logon). A primeira parte do endereço identifica uma rede específica, a segunda parte identifica um endereço de um computador dentro desta rede. Em uma arquitetura Internet TCP/IP é através do endereço IP que os hosts conseguem enviar e receber mensagens pela rede. No projeto, a comunicação com o microcontrolador é realizada através de um IP dentro da rede 192.168.0.255, gateway 192.168.0.1 e máscara de rede 255.255.0.0. A porta de comunicação utilizada é 8081. O endereço IP configurado no microcontrolador é o 192.168.0.10. A máquina que roda o servidor web esta configurada com o IP 192.168.0.20. Dessa forma, através dos endereçamentos apresentados estabeleceremos o link de comunicação entre o servidor Web e o microcontrolador, além disso, permitindo que mais dispositivos possam se comunicar, bastando apenas estar nessa rede. 4.2 MICROCONTROLADORES Segundo Souza (2000) a ideia de um controlador caracteriza um dispositivo que controla algum parâmetro, inicialmente, eram dispositivos grandes fisicamente, inviabilizando para alguns tipos de aplicações, porém, com o avanço de sua tecnologia, foram reduzindo seu 21

tamanho e, atualmente, utilizam circuitos microprocessados, sendo assim chamados de Microcontroladores. Conforme Souza (2000) Em poucas palavras, poderíamos definir o microcontrolador como um pequeno componente eletrônico, dotado de uma inteligência programável, utilizado no controle de processos lógicos. De um modo geral, Microcontroladores são chips que possuem um processador, pinos de entrada/saída, memória e outros periféricos como conversores ADC, PWM, timers entre outros. Existem vários modelos de microcontroladores com diversas marcas. O que os difere são suas características como número de pinos, tamanho de memória, clock, conjunto de instruções e arquitetura interna. Existem ainda os microprocessadores, que são diferentes dos microcontroladores por possuírem uma arquitetura mais simples, tendo apenas uma unidade de controle (UC), que é dividida em duas partes uma parte de decodificação de instruções e outra de execução uma unidade lógica e aritmética (ULA), que são responsáveis pelas operações básicas, como soma, AND, OR e NOT e um conjunto de registradores internos. Para que possa funcionar os microprocessadores necessitam de periféricos conectados a ele como uma unidade de memória, conversores analógico/digital e digital/analógico e unidades de E/S de dados. Já no Microcontroladores esses periféricos estão embutidos no seu interior. 4.2.1 CARACTERÍSTICAS Segundo Souza (2000) a maior característica de um microcontrolador é possuir diversos periféricos em seu interior como uma CPU, memória, unidades de entrada/saída, conversores ADC e temporizadores. Cada um destes periféricos varia de acordo com o modelo do microcontrolador. A CPU é responsável pela inteligência da máquina e denominada unidade central de um microcontrolador. Ela obtém as informações a serem analisadas, através de um dispositivo de entrada, pelo processamento lógico das informações e pela resposta pela qual foi projetado o sistema a realizar, através de um dispositivo de saída. A CPU possui basicamente duas funções: leitura e interpretação do programa alocado na memória. Um conjunto de bits é utilizado para representar cada instrução que é lida e interpretada segundo um número finito de instruções que a CPU pode executar. 22

As CPU s possuem duas partes: memória de armazenamento de programa e memória de dados. A memória de armazenamento de programa e responsável por gravar a seqüência de instruções a ser executada pela CPU. A memória de armazenamento de programa deve ser não-volátil, ou seja, se for retirada a alimentação do sistema, o programa armazenado em memória deve ser preservado. As memórias utilizadas em um microcontrolador são as memórias ROM, PROM, EPROM, EEPROM e a Flash. A local onde são armazenadas as informações a serem utilizados nas operações é a memória de dados. Diferente da memória de armazenamento, essa permiti a leitura e escrita. Quando é realizada uma leitura de um dado externo, este é primeiramente armazenado na memória de dados e só depois se for necessário, será buscado pela CPU para ser interpretada e utilizada conforme a instrução. Uma característica destas memórias é a volatilidade; quando o dispositivo é desenergizado, as informações contidas neste são perdidas. Os dispositivos responsáveis pela ligação dos microcontrolador e a parte externa são as unidades de E/S ou I/O (Input/Output). Estas recebem e enviam dados analógicos e digitais, porém quando os dados forem analógicos terão que ser convertidos para digitais. Para se comunicarem (CPU, memórias e unidades de E/S) utilizam barramentos na parte interna do microcontrolador. Estes barramentos são compostos por conjuntos de trilhas metálicas nas quais as informações circulam em paralelo. Existem três tipos de barramentos: a) O barramento de endereços, que é utilizado para indicar o endereço da memória de armazenamento do programa; b) O barramento de temporização e controle é utilizado para definir o controle de fluxo e tempo das informações durante as operações de leitura e escrita; c) O barramento de dados é utilizado para o recebimento de dados pela CPU provenientes da memória e dos dispositivos de entrada e para envio de informações para estes. 4.2.2 O HARDWARE DO PROJETO O hardware baseia-se na utilização da parte física da Plataforma Arduino. Baseia-se em uma placa de circuito contendo um microcontrolador e outros componentes complementares (chip de conversão serial, cristal de frequência, etc.). O microcontrolador 23

contém um carregador de boot gravado que é responsável por executar os programas quando o circuito é ligado. As placas Arduino oficiais utilizam os microcontroladores Atmel AVR, família mega AVR13 (serie ATmega) (Arduino, 2011). Para fazer a captura de informações, o Arduin dispõe de portas (ou pinos) digitais e analógicas. As portas digitais podem ser utilizadas como entrada ou saída de dados, conforme o que o programador definir no código do programa. Servem para a leitura de dados simples, que enviam apenas um pulso de energia como um botão e para a escrita de dados. Dentre as portas digitais, duas são dedicadas à comunicação serial, ligadasparalelamente às portas Rx e Tx do microcontrolador, o que possibilita a troca de sinais com outro microcontrolador ou um computador. Segundo Banzi (2008) as portas de entrada analógica são responsáveis por leitura de dados analógicos (como a tensão de um sensor). O microcontrolador lê o valor destas portas e converte em um valor entre 0 e 1023. As portas de saída analógica são algumas das portas digitais que podem ser programadas para enviarem sinais analógicos. Essas portas possuem PWM, o que permite que se controle a intensidade do sinal enviado. Nesse projeto utilizamos a plataforma arduino UNO (14 entras digitais e 6 analógicas), junto com ela utilizamos a placa Ethernet Shield (Figura 3.2), responsável pela comunicação através da ethernet (rede interna). Os demais dispositivos são placas de circuito, fonte, relés e cabeamento de rede. Figura 3.2 Arduino Uno e placa Ethernet Shield. (Fonte: Autor) 24

4.2.3 IDE DO MICROCONTROLADOR O IDE (Integrated Development Environment) é o software que permite o desenvolvimento dos programas que serão executados pelo microcontrolador. Desenvolvida pela mesma equipe que mantém o hardware, o IDE segue o mesmo princípio open-source, todo o código fonte (desenvolvido em linguagem Java) está disponível para download no site oficial. A versão para o desenvolvimento deste trabalho é a versão 1.0.1, disponível para os três principais sistemas operacionais. Apesar de estar na versão alpha, o software está disponível no site oficial para qualquer pessoa fazer o download. Dentro do IDE existe um compilador que realiza as análises (léxica, sintática e semântica) no código digitado e sinaliza os possíveis erros. Esses arquivos de códigos fonte gerados são chamados sketchs. De dentro do próprio IDE o desenvolvedor faz o upload dos sketchs para o microcontrolador. Durante o upload o compilador converte os sketchs em arquivos assembly e transfere para a placa via porta serial. Figura 3.3 Interface do IDE versão 1.0.1. (Fonte: Autor) 25

4.2.4 PLACA ETHERNET SHIELD A placa Ethernet Shield permite que uma placa Arduino se conecte à internet. Ele baseia-se no chip de ethernet Wiznetchip W5100. O Wiznet W5100 fornece uma pilha capaz de suportar TCP e UDP de rede (IP). Ele suporta até quatro conexões de soquete simultâneos. A placa tem uma conexão Ethernet padrão RJ-45, com um transformador de linha integrado e Power over Ethernet habilitado. O Shield também inclui um controlador de reset, para garantir que o módulo Ethernet W5100 está devidamente reiniciado. O placa atual tem um módulo Power over Ethernet (PoE) projetado para extrair energia a partir de um par de cabo Categoria 5 Ethernet convencional: IEEE802 0,3 e compatível Baixa ondulação de saída e ruído (100mVpp) Tensão de entrada de 36V a 57V Proteção contra sobrecarga e curto-circuito Output 9V Alta eficiência conversor DC / DC: tip de 75% a 50% da carga 1500V isolamento (entrada para a saída) O Ethernet Shield contém uma série de LEDs informativos: PWR: indica que as placas estão alimentadas LINK: indica a presença de um link de rede e pisca quando o escudo transmite ou recebe dados. FULLD: indica que a conexão de rede é full duplex 100M: indica a presença de uma ligação de rede 100 Mb / s (em vez de 10 Mb / s) RX: pisca quando recebe dados TX: pisca quando envia dados COLL: pisca quando são detectadas colisões de rede 26

O jumper de solda marcado "INT" pode ser conectado a permitir que a placa Arduino para receber a notificação de interrupção de eventos do W5100, mas isso não é suportado pela biblioteca Ethernet. A ponte liga o pino INT do W5100 ao pino digital 2 do Arduino. 4.3 ARQUITETURA DO PROJETO A figura 3.4 apresenta a arquitetura do projeto, nela podemos observar como se dá a conexão entre o microcontrolador, web server e a página php. Figura 3.4 Arquitetura do projeto (Fonte: Autor) Para o acesso a internet ou mesmo comunicação via rede interna, o arduino precisa ser acoplado à placa ethernet shield. Por meio da placa ethernet shild foi configurado no microcontrolador e código PHP o IP 192.168.0.10:8081. Como podemos observar todo acesso pela página PHP será direcionado para porta 8081 que é o link de comunicação entre a página e o microcontrolador. 27

Para o acesso a página hospedada no servidor web há outro direcionamento esse pela porta 8888. Em resumo acessamos a página PHP pelo navegador através da porta 8888, exibida a página, ao executarmos algum comando, a comunicação com o arduino será através da rede interna na porta 8081. 4.4 WEB SERVER Segundo site Wikipédia (2012) a expressão servidor web pode significar duas coisas: Um programa de computador responsável por aceitar pedidos HTTP de clientes, geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente dados, que geralmente são páginas web, tais como documentos HTML com objetos embutidos (imagens, etc.), ou um computador que executa um programa que provê a funcionalidade descrita acima. 4.4.1 CARACTERÍSTICAS DO WEB SERVER Os pedidos http que se referem habitualmente a páginas HTML são normalmente feitos através de browsers. O processo se inicia com a conexão entre o computador onde está instalado o servidor web e o computador do cliente; como na web não é possível prever a que hora se dará essa conexão, os servidores web precisam estar disponíveis dia e noite. A partir daí é processado o pedido do cliente, e conforme as restrições de segurança e a existência da informação solicitada, o servidor devolve os dados. Atualmente há cada vez mais programas que fazem pedidos HTTP (leitores de RSS e outros) e quase desde o inicio da web que os ficheiros servidos pelo webserver vão para além dos ficheiros HTML, incluindo imagens, ficheiros de som, pdfs, etc. Genericamente tudo o que se enquadre no conceito de ficheiro pode ser enviado como resultado de um pedido http. Finalmente, os servidores web também podem executar programas e scripts, interagindo mais com o usuário. 28