Trabalho apresentado ao Centro Universitrio de Braslia (UniCEUB) como pr-requisito para a obteno de Certificado de Concluso de Curso de Engenharia de Computao. Orientador: Prof. Jos Julim Bezerra Jnior
Braslia Dezembro, 2010
2
Este Trabalho foi julgado adequado para a obteno do Ttulo de Engenheiro de Computao, e aprovado em sua forma final pela Faculdade de Tecnologia e Cincias Sociais Aplicadas - FATECS.
____________________________ Prof. Abiezer Amarilia Fernandez Coordenador do Curso
Banca Examinadora: ________________________________________________ Prof. Jos Julim Bezerra - Mestre em Engenharia Eltrica. Instituto Militar de Engenharia - RJ Orientador
____________________________________________________ Prof. Joo Marcos Souza Costa. Mestre em Matemtica
_____________________________________ Prof. Giu Renato Ribeiro Gonalves. Doutor em Fsica
__________________________________________________ Prof. Antnio Barbosa Jnior. Especialista em Tecnologia da Informao
3
Dedico este trabalho ao meu pai Marcos Pessoa, minha me Maria Farias e ao meu irmo Marco Antnio, por sempre me ajudarem na vida, me ensinando e guiando sempre para os melhores caminhos.
4
AGRADECIMENTOS
Agradeo primeiro aos meus pais por terem me dado toda educao que tenho hoje. Aos meus amigos por sempre me acompanharem. Ao meu irmo, Marco Antnio, que me ajudou bastante e me ajudou no desenvolvimento do projeto. Ao meu professor orientador Jos Julim Bezerra Jnior. E a minha namorada, Luciana Fraga.
5
RESUMO
Este projeto apresenta uma proposta de um sistema de automao residencial para iluminao utilizando a tecnologia ZigBee. Para isso, um prottipo foi construdo com o objetivo de simular o acionamento de uma lmpada distncia. Os dispositivos CON- USBBEE e o RCON-HOMEBEE so os principais componentes do prottipo. A tecnologia ZigBee utilizada para a comunicao entre essas duas placas, via radio freqncia. O CON-USBBEE enviar atravs de um software de gerenciamento um comando para a placa RCON-HOMEBE, para acionar as lmpadas. O computador responsvel pelo controle e monitoramento do sistema.
Palavras Chave: comunicao por rdio freqncia, ZigBee.
6
ABSTRACT
This project presents a proposal for a home automation system for lighting using ZigBee technology. For this, a prototype was built to simulate the firing of a lamp from a distance. The devices CON- USBBEE and RCON-HOMEBEE are the main components of the prototype. The ZigBee technology is used for communication between these two boards, via radio frequency. The CON-USBBEE send through the software a command to a management board RCON-HOMEBE, to power the lamps. The computer is responsible for controlling and monitoring system.
Key-words: Radio frequency communication, ZigBee.
7
SUMRIO
LISTA DE FIGURAS....................................................................................................10 LISTA DE QUADROS..................................................................................................13 LISTA DE ABREVIATURAS E SIGLAS..................................................................14 CAPTULO 1 - INTRODUO..................................................................................15 1.1 Motivao..................................................................................................15 1.2 Viso Geral................................................................................................15 1.3 Objetivos do Trabalho..............................................................................16 1.4 Estrutura da Monografia.........................................................................16 CAPTULO 2 REFERENCIAL TERICO E TECNOLGICO.........................17 2.1 Comunicao ZigBee................................................................................17 2.1.1 Introduo...................................................................................17 2.1.2 Comparao com outras tecnologias........................................18 2.1.3 ZigBee Aliance............................................................................19 2.1.4 Faixa de Freqncia...................................................................19 2.1.5 Estrutura.....................................................................................20 2.1.6 Caractersticas do Padro.........................................................21 2.1.7 Camadas de Protocolos .............................................................21 2.1.8 Dispositivos ZigBee....................................................................23 2.1.9 Topologia ZigBee........................................................................24 2.1.10 Vantagens e Aplicaes............................................................25 8
2.1.11 Mdulos XBee & XBee-Pro.....................................................27 2.2 Placa CON-USBBEE................................................................................28 2.2.1 Introduo...................................................................................28 2.2.2 Caracterstica.............................................................................29 2.3 Placa RCON-HOMEBEE........................................................................30 2.3.1 Introduo...................................................................................30 2.3.2 Hardware....................................................................................31 2.3.3 Caracterstica.............................................................................36 2.4 Linguagem de Programao....................................................................37 2.4.1 Conceito.......................................................................................37 2.4.2 C# (CSharp) ..............................................................................37 2.4.3 Caractersticas............................................................................38 2.5 Banco de Dados Access.............................................................................39 2.5.1 Microsoft Access.........................................................................39 2.5.2 Caractersticas............................................................................41 CAPTULO 3 DESENVOLVIMENTO DO PROJETO.........................................44 3.1 - Desenvolvimento do Projeto.....................................................................44 3.1.1 Estrutura Geral do Projeto ......................................................45 3.1.2 Funcionamento Bsico do Projeto............................................46 3.2 Dispositivos Eletrnicos do Projeto.........................................................46 3.2.1 Especificaes dos Dispositivos Utilizados...............................47 3.2.1.1 Mdulo XBee-Pro........................................................47 3.2.1.2 Placa CON-USBBEE...............................................48 9
3.2.1.3 Placa RCON-HOMEBEE........................................49 3.2.1.4 Demais dispositivos.....................................................51 3.3 Software.....................................................................................................51 3.3.1 Funes Principais Utilizadas no Programa............................52 3.4 Testes e Resultados...................................................................................55 3.5 Simulao...................................................................................................59 CAPTULO 4 CONCLUSO....................................................................................66 4.1 Concluses.................................................................................................66 4.2 Sugestes para trabalhos futuros............................................................66 REFERNCIAS BIBLIOGRFICAS........................................................................68 ANEXO A PROGRAMA PRINCIPAL....................................................................70
10
LISTA DE FIGURAS
Figura 1.1 Posicionamento e comunicao de dispositivos.........................................15 Figura 2.1 - Aplicaes do ZigBee..................................................................................17 Figura 2.2 - Bandas de operao do ZigBee....................................................................19 Figura 2.3 - Topologias para redes ZigBee.....................................................................20 Figura 2.4 - Camadas de protocolos ZigBee...................................................................22 Figura 2.5 - Tipos de dispositivos e suas Funes..........................................................24 Figura 2.6 Modelo de rede Zigbee................................................................................25 Figura 2.7 Placa CON-USBBEE..................................................................................28 Figura 2.8 - Boto Reset e LEDs indicadores da placa CON-USBBEE.........................28 Figura 2.9 - Placa CON-USBBEE (viso inferior) .........................................................29 Figura 2.10 Placa RCON-HOMEBEE ........................................................................31 Figura 2.11 Entradas E1 e E2 ......................................................................................32 Figura 2.12 Interfaces Seriais.......................................................................................32 Figura 2.13 Jumps, J1 e J2............................................................................................33 Figura 2.14 Configurao de Jumps.............................................................................33 Figura 2.15 Configurao de Jumps.............................................................................34 Figura 2.16 Configurao de Jumps.............................................................................34 Figura 2.17 Sada a Rels.............................................................................................35 Figura 2.18 Sadas TTL................................................................................................36 11
Figura 3.1 Etapas do desenvolvimento do projeto.......................................................44 Figura 3.2 Comunicao entre Software e hardware....................................................45 Figura 3.3 Funcionamento do projeto...........................................................................46 Figura 3.4 CON-USBBEE............................................................................................47 Figura 3.5 RCON-HOMEBEE.....................................................................................47 Figura 3.6 Software X-CTU.........................................................................................48 Figura 3.7 Configurao CON-USBBE.......................................................................49 Figura 3.8 Configurao RCON-HOMEBEE..............................................................50 Figura 3.9 Rel aceso. ..................................................................................................50 Figura 3.10 Mapa de bits..............................................................................................51 Figura 3.11 Conectar Porta COMx. .............................................................................52 Figura 3.12 Ligar Rel 1. .............................................................................................53 Figura 3.13 Desligar Rel 1. ........................................................................................53 Figura 3.14 Ligar Rel 2. .............................................................................................54 Figura 3.15 Desligar Rel 2..........................................................................................54 Figura 3.16 Ligar Rels 1 e 2. .....................................................................................55 Figura 3.17 Desconectar Porta COMx. .......................................................................55 Figura 3.18 RS232HomeBee........................................................................................56 Figura 3.19 selecionando rel 1....................................................................................56 Figura 3.20 LED 1 aceso..............................................................................................57 Figura 3.21 selecionando rel 2....................................................................................57 Figura 3.22 LED 2 aceso..............................................................................................58 Figura 3.23 Lmpadas prontas. ....................................................................................58 12
Figura 3.24 Lmpadas acesas.......................................................................................59 Figura 3.25 Interface do software.................................................................................59 Figura 3.26 Porta conectada. .......................................................................................60 Figura 3.27 Ligar lmpada 1. .......................................................................................60 Figura 3.28 Lmpada 1 acesa. .....................................................................................61 Figura 3.29 Desligar lmpada 1. ..................................................................................61 Figura 3.30 Ligar lmpada 2. .......................................................................................62 Figura 3.31 Lmpada 2 acesa. .....................................................................................62 Figura 3.32 Desligar lmpada 2. ..................................................................................63 Figura 3.33 Ligar lmpadas 1 e 2. ...............................................................................63 Figura 3.34 Lmpadas 1 e 2 acesas. ............................................................................64 Figura 3.35 Desligar lmpadas 1 e 2............................................................................64 Figura 3.36 Log do Sistema..........................................................................................65
13
LISTA DE QUADROS
Quadro 2.1 Comparao com outras tecnologias.........................................................18 Quadro 2.2 - Tabela de funcionalidades dos dispositivos ZigBee..................................21 Quadro 3.1 Pacote de dados para envio de comando..................................................51
14
LISTA DE ABREVIATURAS E SIGLAS
IEEE - Instituto de Engenheiros Eletricistas e Eletrnicos WPAN - Wireless Personal Area Network RF Rdio Freqncia RFD - Reduced Function Device FFD - Full Function Device PHY Camada fsica MAC Media Access Control ZC ZigBee Coordenator ZR ZigBee Router ZED ZigBee End Device USB - Universal Serial Bus RSSI - received signal strength indicator
15
CAPTULO 1 - INTRODUO 1.1 Motivao O principal fator motivacional para a realizao desde projeto foi o crescente aumento no consumo de energia do pas. No Brasil, o consumo de energia tem aumentado visivelmente, tendo uma pequena diminuio quando so tomadas algumas atitudes foradas, como o racionamento de energia. Em 2008, um estudo realizado pelo IBGE, mostra que, entre 1995 e 2006, o consumo de energia cresceu em 37,37%. Esse nmero foi superior ao crescimento do PIB, 31,46%. Um dos motivos para esse grande consumo de energia pode ser a falha humana, que sempre esquecem uma luz acesa durante longo tempo. (Estado, 2008) Tendo em vista esses dados e a conscincia do enorme consumo no pas, e com intuito de reduzir esse elevado consumo de energia, esse projeto tem como objetivo, atravs de um prottipo, criar um sistema de automao residencial para iluminao. Nesse sistema, o usurio poder acender e apagar lmpadas de sua residncia pelo computador, com um simples clique. Alm disso, o usurio ter um arquivo com hora e data de todas as aes executadas no sistema. 1.2 Viso Geral A Figura 1.1 ilustra o posicionamento dos dispositivos eletrnicos que sero controlados por um sistema de gerenciamento, sendo esquematizada a comunicao entre eles.
Figura 1.1 Posicionamento e comunicao de dispositivos 16
Na Figura 1.1 pode-se ver a placa COON-USBBEE (2) ligada ao computador (1). Ele enviar o comando para a placa RCON-HOMEBEE (3), via ZigBee (A). Com o comando as lmpadas (4) sero acionadas para ligar/desligarem. E depois ser enviada uma confirmao(B) de que a ao foi executada. 1.3 Objetivos do Trabalho A finalidade do trabalho apresentar um sistema de automao residencial para iluminao utilizando tecnologia de comunicao ZigBee. O sistema trabalhar com a funo de ligar e desligar remotamente lmpadas de uma residncia. Para isso ser executada algumas etapas, como: A) Conectar as partes fsicas do Sistema; - Computador; - Placa CON-USBBEE; - Placa RCON-HOMEBEE; - 2 Lmpadas. B) Criar um software para se comunicar com os hardwares; C) Criar uma interface moderna, porm simples para o Sistema. - Ser implementado em C#(CSharp). D) Executar testes no projeto. - Fazer testes para garantir total xito na apresentao. 1.3 Estruturas da Monografia Alm deste captulo introdutrio, esta monografia est estruturada em mais trs captulos e organizada da seguinte maneira: No captulo 2 apresentado o referencial terico e tecnolgico, que embasa o projeto. Primeiramente trata de detalhes sobre automao residencial. Em seguida apresenta detalhes sobre a tecnologia ZigBee utilizada no projeto. O captulo 3, captulo do desenvolvimento do projeto, possui a viso e a topologia do projeto. Alm de especificar os hardwares e softwares utilizados no prottipo. Esse captulo tambm mostra os testes realizados e a simulao do projeto. O captulo 4, concluso, marca o final da monografia concluindo-a e apresentando propostas para futuros trabalhos. 17
CAPTULO 2 REFERENCIAL TERICO E TECNOLGICO 2.1 - Comunicao ZigBee 2.1.1 - Introduo Atualmente o foco das redes wireless comerciais se encontra no contexto das redes locais (WLANs), tanto em solues proprietrias como nos padres desenvolvidos pelo IEEE, por exemplo. Com a evoluo natural das tecnologias das redes sem fio, estas passaram a atender no s as aplicaes corporativas mais sofisticadas como tambm aquelas envolvendo pequenos volumes de dados que exigem baixas taxas de transmisso como, por exemplo, o controle de equipamentos eletroeletrnicos. Alm disso, outras tecnologias sem fio tm sido utilizadas tambm com o objetivo de proporcionar a comunicao pessoal e o controle de dispositivos diversos, so as chamadas redes pessoais (WPANs). (Passarela, 2006) Basicamente, essas tecnologias tm o propsito de permitir o controle remoto de equipamentos domsticos (TVs, videocassetes, geladeiras, etc) e perifricos (teclados, mouse, impressoras, etc), eliminando os cabos e tornando mais prtica a operao desses equipamentos pelos usurios. Uma das tecnologias mais recentes dentro desse grupo de redes para aplicaes pessoais e que permite o gerenciamento e controle desses dispositivos o padro ZigBee, tambm conhecido como HomeRF Lite e que corresponde ao IEEE 802.15.4, homologado em maio de 2003. A Figura 2.1 apresenta algumas aplicaes do padro ZigBee, em automao residencial.
Figura 2.1 - Aplicaes do ZigBee Fonte: (Pinheiro, 2006) 18
O padro ZigBee foi desenvolvido para se tornar uma alternativa de comunicao em redes que no necessitem de solues mais complexas para seu controle, barateando assim os custos com a aquisio, instalao de equipamentos, manuteno e mo de obra. Trata-se de uma tecnologia relativamente simples, que utiliza um protocolo de pacotes de dados com caractersticas especficas, sendo projetado para oferecer flexibilidade quanto aos tipos de dispositivos que pode controlar. 2.1.2 - Comparao com outras tecnologias O Quadro 2.1 relaciona alguns dados das tecnologias sem fio (wireless), Bluetooth e ZigBee onde possvel observar como definir as melhores aplicaes para cada tipo de dispositivo sem fio. O padro ZigBee est como lder absoluto na transmisso de textos. Quadro 2.1 Comparao com outras tecnologias Caracterstica IEEE 802.11B Bluetooth ZigBee Bateria Horas Dias Anos Complexidade Muito complexo Complexo Simples Dispositivos 32 7 64000 Distncia 100 metros 10 metros 70-300 metros Taxa Tranferncia 11 Mbps 1 Mbps 250 Kbps Fonte: (Pinheiro, 2006) A denominao ZigBee mais comummente utilizada para controles remoto, produtos a bateria e sensores em geral. J as tecnologias bluetooth e WI-FI so utilizadas para porta USB sem fio e fone de ouvido e transferncia de arquivos, redes de computadores e navegao internet respectivamente.
19
2.1.3 - ZigBee Alliance A ZigBee Alliance, que desenvolve o padro ZigBee junto ao IEEE, uma associao que conta com mais de 45 empresas, que trabalham em conjunto para desenvolver um padro capaz de possibilitar um controle seguro, de baixo custo e de baixa potncia em redes sem fio para o controle de diversos equipamentos, incluindo solues para a automao predial, aplicaes em telemedicina e entretenimento (jogos). 2.1.4 - Faixa de Frequncia Os dispositivos baseados na tecnologia ZigBee operam na faixa ISM que no requer licena para funcionamento, incluindo as faixas de 2,4GHz (Global), 915Mhz (Amrica) e 868Mhz (Europa) e com taxas de transferncia de dados de 250kbps em 2,4GHz, 40kbps em 915Mhz e 20kbps em 868Mhz. A figura 2.2. ilustra as bandas de operao do ZigBee. (Pinheiro, 2006)
Figura 2.2 - Bandas de operao do ZigBee Fonte: (Pinheiro, 2006) O padro oferece atualmente interfaces com velocidades de conexo compreendidas entre 115kbps e 250kbps e com um alcance de transmisso entre 70m e 300m, dependendo diretamente da potncia dos equipamentos e de caractersticas ambientais (obstculos fsicos, interferncia eletromagntica, etc). 20
Quanto ao problema de alimentao dos dispositivos, os mdulos de controle dotados com esta nova tecnologia podem ser alimentados at mesmo por baterias (pilhas) comuns, sendo que sua vida til est relacionada diretamente com a capacidade da bateria e a aplicao a que se destina. Nesse aspecto, o protocolo ZigBee foi projetado para suportar aplicaes com o mnimo de consumo (com pilhas comuns, um dispositivo pode funcionar at 6 meses). 2.1.5 - Estrutura Podemos identificar dois tipos de dispositivos em uma rede ZigBee, definidos pelo IEEE: - Full Function Device (FFD) - pode funcionar em toda a topologia do padro, desempenhando a funo de coordenador da rede e conseqentemente ter acesso a todos os outros dispositivos. Trata-se de dispositivos de construo mais complexa; - Reduced Function Device (RFD) limitado a uma configurao com topologia em estrela, no podendo atuar como um coordenador da rede. Pode comunicar-se apenas com um coordenador de rede. So dispositivos de construo mais simples. Devemos observar que em topologias com configurao estrela, uma rede ZigBee requer pelo menos um dispositivo FFD atuando como coordenador da rede e os demais dispositivos podem ser do tipo RFD para reduzir o custo do sistema. Para topologias ponto-a-ponto (Peer-to-Peer) e em rvore, todos os dispositivos devem ser FFD. (Pinheiro, 2006) A Figura 2.3 mostra as trs topologias de redes para ZigBee, a topologia de Estrela, rvore e ponto ponto.
Figura 2.3 - Topologias para redes ZigBee 21
Fonte: (Pinheiro, 2006) O Quadro 2.2 apresenta uma comparao entre os dispositivos de uma rede ZigBee com suas principais caractersticas: Quadro 2.2 - Tabela de funcionalidades dos dispositivos ZigBee Coordenador da Rede FFD N da Rede RFD Ajustes de parmetros da rede Funo passiva na rede Transmite informaes pela rede Efetua buscas por redes disponveis Gerencia os ns da rede Transferncia de dados da aplicao Armazena informaes dos ns de rede Determina o status dos dados Distribui mensagens entre ns de rede Solicitam dados ao coordenador da rede Opera tipicamente no estado "active" Pode permanecer no estado "sleep" por longos perodos
2.1.6 - Caractersticas do Padro O padro ZigBee (IEEE 802.15.4) foi projetado objetivando apresentar algumas caractersticas.O consumo de potncia baixo e implementao simples, com interfaces de baixo custo. Possui dois estados principais de funcionamento: "active" para transmisso e recepo e "sleep", quando no est transmitindo. A simplicidade de configurao e redundncia de dispositivos (operao segura), tambm uma caracterstica do padro. Assim como a densidade elevada dos ns por a rede. As camadas PHY e MAC permitem que as redes funcionem com grande nmero de dispositivos ativos. Este atributo crtico para aplicaes com sensores e redes de controle. (Pinheiro, 2006) 2.1.7 - Camadas de Protocolos A publicao do padro IEEE 802.15.4, definiu interfaces com baixas taxas de transmisso (menores que 250Kbps) e estabeleceu uma estrutura de rede que incorpora 22
os conceitos de redes ad hoc, caractersticas de conexo em malha e em multi-hop (mltiplos saltos). Adicionalmente, novos algoritmos de segurana e perfis de aplicao foram definidos objetivando garantir a segurana e a perfeita interao entre os diversos equipamentos. Abaixo, na Figura 2.4, temos as camadas de protocolos do Zigbee. (Pinheiro, 2006)
Figura 2.4 - Camadas de protocolos ZigBee Fonte: (Pinheiro, 2006) A camada fsica (PHY) foi projetada para acomodar as necessidades de interfaces de baixo custo, permitindo nveis elevados de integrao. O uso da tcnica de transmisso de Seqncia Direta (DSS) permite que os equipamentos sejam muito simples, possibilitando implementaes mais baratas. A camada do Media Access Control (MAC) foi projetada para permitir topologias mltiplas com baixa complexidade, onde o gerenciamento de energia, por exemplo, no requer modos de operao complexos. O MAC tambm permite que um dispositivo com funcionalidade reduzida (RFD) opere na rede sem a necessidade de grandes quantidades de memria disponveis, podendo controlar tambm um grande nmero de dispositivos sem a necessidade de coloc-los "em espera", como ocorre em algumas tecnologias sem fio. A camada de rede foi projetada para possibilitar o crescimento da rede sem a necessidade de equipamentos de transmisso de potncia mais elevada. A camada de 23
rede tambm pode operar quantidades grandes de ns de rede com latncias relativamente baixas. A camada NWK utiliza um algoritmo que permite implementaes da pilha de protocolos visando balancear os custos das unidades em aplicaes especficas, o consumo das baterias, buscando produzir solues com o perfil especfico de custo- desempenho para a aplicao. (Pinheiro, 2006) 2.1.8 - Dispositivos ZigBee A especificao ZigBee define trs tipos diferentes de dispositivos, com funes variadas, que so o ZigBee Coordinator, Router e o End Device, que so especificados na Figura 2.5. O ZigBee coordinator (Coordenador ZigBee - ZC) existe em cada rede. Este dispositivo agrega o maior nmero de funes, por exemplo, o coordenador capaz de criar uma rede tornando-se a raiz da rvore dessa rede, sendo, portanto, o nico dispositivo capaz de comutar dados entre redes. O ZigBee Router (Roteador ZigBee - ZR) age como um roteador intermedirio, roteando dados para outros dispositivos. O ZigBee End Device (Dispositivo final ZigBee - ZED) contm funes apenas para trocar informaes com seu n pai (ou um roteador ou um coordenador); no podendo encaminhar dados para outros dispositivos. Como requer menos memria, pois no precisa armazenar informaes de roteamento, mais barato que um roteador ou um coordenador ZigBee. (Azevedo, 2006) 24
Figura 2.5 - Tipos de dispositivos e suas Funes Fonte: (Azevedo, 2006)
2.1.9 - Topologia ZigBee O protocolo define uma estrutura de rede que incorpora os conceitos de redes ad hoc, as caractersticas de conexo em malha e multi-hop. As topologias que podemos encontrar em uma rede Zigbee so a topologia em estrela (star), em rvore (tree) e em malha (mesh). Os principais componentes integrantes dessa rede so o coordenador (coordinator), os roteadores (routers) e os clientes. (ZigBee, 2009) A topologia Estrela a mais simples, onde tem um coordenador e os elementos clientes. Ela indicada para ambientes que ofeream poucos obstculos para a transmisso dos sinais. Sua principal vantagem a facilidade de implementao e coordenao. A desvantagem est na presena de um nico coordenador, o que gera a dependncia de todos os clientes para este e o alcance do sinal de RF que nesse tipo de rede no muito grande. A topologia rvore formada por sub-redes que se comunicam entre si atravs de elementos roteadores. Aqui temos mais de um elemento coordenador, cada um gerenciando uma rede diferente. Sua aplicao principal est na comunicao de 25
dispositivos situados em andares diferentes e ou entre salas distantes entre si, separadas por paredes. O alcance do sinal de RF deste tipo de rede maior, tendo em vista que um coordenador pode controlar um cliente ligado em outra rede atravs de uma solicitao ao outro coordenador. J a topologia Malha permite que, com a entrada de novos dispositivos, a rede se ajuste automaticamente durante sua inicializao, otimizando o trfego de dados. Com essa topologia possvel construir redes mais extensas e de maior complexidade, possibilitando o controle e monitorao de grandes reas. (Pinheiro, 2006) A Figura 2.6 exemplifica um modelo de rede ZigBee. Pode-se observar dois tipos de rede na imagem, o tipo malha e o tipo estrela.
Figura 2.6 Modelo de rede Zigbee Fonte: (Pinheiro, 2006) 2.1.10- Vantagens e aplicaes do ZigBee O protocolo ZigBee foi projetado para transmitir dados mesmo em ambientes hostis rdio freqncia, normalmente encontrados em aplicaes industriais e comerciais. (McBride, 2008) O protocolo ZigBee oferece: Ciclo do Standby configurvel - Aumenta a vida til da bateria; 26
Baixa latncia; Suporte para mltiplas topologias de rede: esttica, dinmica, estrela e mesh; Modulao DSSS (Direct Sequence Spread Spectrum); At 65.000 unidades na mesma rede; Criptografia AES de 128-bit para assegurar um canal seguro entre os dispositivos; Reduo na coliso de pacotes; Indicador da qualidade do link; O protocolo ZigBee oferece conjunto de ferramentas de segurana para garantir redes seguras e confiveis. Lista de controle de acesso, temporizadores de pacotes e criptografia AES (Advanced Encryption Standard) certificado pelo Instituto Nacional de Padres e Tecnologia dos Estados Unidos (NIST National Institute of Standard and Tecnology) auxiliam na proteo dos dados transmitidos. (McBride, 2008) Com o ZigBee possvel implantar amplas solues de redes sem fio com baixo custo e baixo consumo de energia. Ele capaz de funcionar durante anos com baterias comuns em diversas aplicaes de monitoramento como controle de iluminao, medidores, sensores de fumaa ou gs carbnico, telemetria sem fio, controle de aquecedores, ventiladores e condicionadores de ar (HVAC), controle de aquecedores de fludos, segurana domstica, controle de permetro, controle de cortinas e claridade e etc. So quatro horas da manh em uma fazenda do interior. Sensores distribudos pela plantao informam a quantidade de gua presente no solo e a umidade do ar. Os funcionrios da fazenda analisam os dados para decidir onde e quando irrigar para otimizar a produo. A informao tambm pode ser til como um sistema de alarme para situaes adversas como a condensao da gua. A produtividade aumenta e recursos preciosos so utilizados de forma mais eficiente. Os sensores distribudos pela lavoura esto interconectados em uma rede mesh. Se algum ficar indisponvel a rede reparada automaticamente, cada unidade 27
capaz de conectar-se com outra dinamicamente para encontrar uma nova rota e assim restabelecer conexo de rede. Um componente chave para protocolo ZigBee a capacidade de suportar redes do tipo mesh. Em uma rede mesh, os pontos esto interconectados com outros de forma que pelo menos dois caminhos conectam cada um deles a rede. Conexes entre os pontos so atualizadas dinamicamente e otimizada em condies adversas. Em alguns casos, pontos conectados a apenas um, so utilizados para restabelecer uma rede mesh parcialmente funcionando. Redes mesh so descentralizadas por natureza, cada ponto auto roteavel a capaz de conectar-se a outros pontos conforme a necessidade. As caractersticas de uma topologia mesh e roteamento ad-hoc fornecem maior estabilidade em condies instveis ou falhas em um ponto nico. 2.1.11 - Mdulos XBee & XBee-Pro Digi um membro da ZigBee Alliance e tem desenvolvido solues baseadas na arquitetura ZigBee. Os mdulos XBee e XBee-PRO oferecem uma soluo simples de implementar e um grande impulso tanto em variedade quanto em confiabilidade para empresas interessadas em oferecer ZigBee. Tais mdulos tm as seguintes caractersticas: Compacto; Pronto para conectar e comunicar sem fio; Otimizado para aplicaes de baixo custo e baixa taxa de transferncia; Bateria com tempo de vida estendido; Segurana robusta; Alta confiabilidade na transmisso de dados; Compatvel pino-a-pino com outros mdulos; O alcance dos mdulos XBee-PRO 2 a 3 vezes maior do que um mdulo ZigBee comum. 28
2.2 - Placa CON-USBBEE 2.2.1 - Introduo A ROGERCOM desenvolveu a CON-USBBEE, com facilidade de conexo estilo PENDRIVE, para facilitar a conexo do mdulo base XBEE/XBEE-PRO ao computador, seja para atualizao de firmware ou mesmo para fazer coleta de dados ou controle. A Figura 2.7 ilustra a placa CON-USBBEE. (RogerCom, 2008)
Figura 2.7 Placa CON-USBBEE Fonte: (RogerCom, 2008) A placa CON-USBEE aceita tanto o mdulo XBee como o XBee-Pro, como so totalmente compatveis, Redes ZigBee podem ser construdas com ambos os mdulos, simultaneamente. A placa CON-USBBE usa um chip conversor USB/Serial; regulador de tenso LDO (baixa queda de tenso), comparador de tenso conectado aos LEDs (RSSI) que simulam a fora do sinal de RF; LEDs indicadores de TX, RX, mdulo ligado (ASS), e um micro-boto para "resetar" o mdulo XBee/XBee-Pro, como mostrado na Figura 2.8.
Figura 2.8 - Boto Reset e LEDs indicadores da placa CON-USBBEE Fonte: (RogerCom, 2008) 29
Quando instalamos no computador o driver USB para (Windows 98, ME, 2000, XP,Vista, x64 e tambm para Linux e Mac) que acompanha a placa, criada uma porta COMx virtual quando a placa CON-USBBEE plugada. Assim, possvel atravs de um programa (escrito em C/C++Builder, Delphi, VB, Java, C#, etc), se comunicar com a placa como se fosse uma comunicao serial padro RS232. Tambm possvel acessar a placa atravs de uma DLL, que oferece mais recursos na programao. A Figura 2.9 ilustra a placa CON-USBBEE numa viso inferior.
Figura 2.9 - Placa CON-USBBEE (viso inferior) Fonte: (RogerCom, 2008) 2.2.2 - Caracterstica Abaixo seguem as principais caractersticas do CON-USBBEE: A) Converte a interface Serial 3.3v do mdulo XBee/XBee-Pro para USB; B) No precisa fonte de alimentao, a corrente fornecida pelo prprio Bus USB; C) Tem a mesma facilidade de conexo que um Pendrive; D) LEDs indicadores de transmisso (TX), recepo (RX), Ligado e sinal RSSI; E) Freqncia de operao: ISM 2.4 GHz; F) Taxa de dados de RF: 250.000 bps; G) Taxa de dados da Interface (Data Rate): 115.200 bps; H) Alcance em reas internas ou urbanas: 90m/100m; I) Alcance em linha de viso (em campo aberto): 1,6Km; J) Encriptao de 128-bit AES; 30
K) Comanda todos os mdulos remotos XBee/XBee-Pro que estejam na Rede; L) Troca de dados entre PCs e laptops; M) Ideal para automao residencial, industrial, etc; N) Totalmente compatvel com o aplicativo X-CTU da DIGI para configurao de parmetros e atualizao do firmware nos mdulos XBee/XBee-Pro. (RogerCom, 2008) 2.3 - Placa RCON-HOMEBEE 2.3.1 - Introduo A funo da placa HOMEBEE a de automatizar determinados ambientes numa residncia, escritrio ou empresa. Ela pode trabalhar com ou sem fio para se comunicar com um computador ou outro dispositivo como CLP, microcontrolador, etc. Com fio opcionalmente a comunicao pode ser feita via RS232/TTL ou a partir de um conversor USB/Serial. Usando transmisso serial ou ZigBee no modo transparente, o controle da placa HOMEBEE feita atravs do envio de 2 bytes, sendo o primeiro o identificador e o segundo o comando. Sem fio, a comunicao se faz atravs do protocolo ZigBee/IEEE 802.15.4, usando dois mdulos transceivers Xbee ou Xbee-Pro. possvel usar encriptao AES de 128 bits, endereamento de 16 bits, definir numero do canal e rede, entre outras possibilidades. (RogerCom, 2008) A Placa HOMEBEE possui duas sadas a rels, que podem ser usadas para ligar ou desligar dispositivos com tenso at 220v e corrente de 10A; duas sadas TTL 5v, duas entradas digitais para conectar interruptores ou sensores de contato seco. No PC, atravs da criao de um software especifico pelo usurio, possvel gerenciar uma rede de placas HOMEBEE controladas por uma nica placa CON- USBBEE.
31
2.3.2 - Hardware A Figura 2.10 traz o componentes da placa numerados, para serem explicados em seguida.
Figura 2.10 Placa RCON-HOMEBEE Fonte: (RogerCom, 2008) 1 Alimentao: A placa HOMEBEE deve ser alimentada por uma fonte externa capaz de fornecer entre 12-24v/600mA. 2 e 3 Entradas Digitais E1 e E2: As entradas Digitiais E1 e E2, como ilustradas na Figura 2.11, so entradas de contato seco. Um simples curto entre seus terminais, gera um pulso que detectado pela placa, e enviado pela Serial ou via mdulo XBee/XBee-Pro, conforme as configuraes dos Jumps. Atravs de um software de configurao da placa possvel associar as entradas E1 e E2 aos rels R1 e R2. 32
Figura 2.11 Entradas E1 e E2 Fonte: (RogerCom, 2008) 4,5 e 6 Interfaces Seriais RS232, TTL5v e TTL3v3: A placa HOMEBEE dispe de trs opes para comunicao serial via cabo (RS232, TTL5v, TTL3v3), como pode-se ver na Figura 2.12. Aps a escolha atravs dos jumps, somente um canal estar disponvel.
Figura 2.12 Interfaces Seriais Fonte: (RogerCom, 2008)
33
7 Microcontrolador; Controla todas as funes da placa HOMEBEE. O microcontrolador usado o PIC16F688 com tecnologia nanowatt alimentado com 3v3v. 8 e 9 Configurao de Jumps: A Figura 2.13 ilustra os Jumps, J1 e J2, que so configurados seguindo as informaes citadas a seguir.
Figura 2.13 Jumps, J1 e J2 Fonte: (RogerCom, 2008) Configurao 1: XBee/XBee-Pro PIC
Figura 2.14 Configurao de Jumps Fonte: (RogerCom, 2008)
34
Configurao 2: PIC RS232, TTL5v, TTL3v3
Figura 2.15 Configurao de Jumps Fonte: (RogerCom, 2008) Configurao 3: XBee/XBee-Pro RS232, TTL5v, TTL3v3
Figura 2.16 Configurao de Jumps Fonte: (RogerCom, 2008)
10 Conector para modulo XBee/XBee-Pro: Para que a placa HOMEBEE estabelea comunicao sem fio, necessrio incluir um mdulo Xbee ou XBee-Pro. 11 e 12 LEDs verdes L1 e L2: Quando esto ligados indicam que o rel 1 e/ou 2 esto ligados. Quando apagados os rels 1 e/ou 2 esto desligados.
35
13 e 14 Saidas a Rels (R1 e R2): Atraves das sadas a rels, mostradas na Figura 2.17, possvel ligas/desligar dispositivos conectados a rede eletrica 110 ou 220v, ou mesmo aqueles alimentados com corrente continua.
Figura 2.17 Sada a Rels Fonte: (RogerCom, 2008) 15 LED vermelho (Ass): Quando aceso/piscando, indica que o modulo XBee/XBee-Pro da placa est ligado/operando. Quando aceso sem piscar, indica que ele est dormindo. 16 LED laranja (TX): Quando aceso/piscando, indica que o modulo XBee/XBee-Pro da placa est transmitindo dados. 17 LED amarelo (RX): Quando aceso/piscando, indica que o modulo XBee/XBee-Pro da placa est recebendo dados.
36
18 Saidas TTL digitais (D0 e D1): So sadas TTL 5v, que pode ser usadas para controlar um driver de rels externo, ou mesmo, enviar sinais para um microcontrolador. Veja a Figura 2.18.
Figura 2.18 Sadas TTL Fonte: (RogerCom, 2008) 2.3.3 - Caractersticas Compatvel com mdulos XBee e XBee-Pro ZB ou IEEE 802.15.4. Placa para ligar/desligar lmpadas, aparelhos eletro-eletrnicos, fechaduras eltricas, irrigao de jardins, abrir/fechar portas, portes, cancelas, etc; Dimenses: 9,0 cm x 6,5 cm. Caractersticas: Segurana com encriptao de 128-bit AES (nos XBee/XBee-Pro ZB ou IEEE 802.15.4); 2 Sadas tipo contato seco a Rels 110/220v / 10A; 2 Entradas digitais contato seco; 2 Sadas TTL 5v; Fonte de alimentao 12v/500mA (no inclusa); Interface serial opcional: - RS232 (TX, RX, GND); - TTL 5v (TX, RX, GND); - 3,3v (TX, RX, GND); (RogerCom, 2008) 37
2.4 - Linguagem de Programao 2.4.1 - Conceito Podemos imaginar o computador como uma super calculadora, capaz de fazer clculos muito mais rpido que ns, mas para isso devemos dizer para o computador o que deve ser calculado e como deve ser calculado. A funo das linguagens de programao exatamente essa, ou seja, servir de um meio de comunicao entre computadores e humanos. (Andrade, 2007) Existem dois tipos de linguagens de programao: as de baixo nvel e as de alto nvel. Os computadores interpretam tudo como nmeros em base binria, ou seja, s entendem zero e um. As linguagens de baixo nvel so interpretadas diretamente pelo computador, tendo um resultado rpido, porm muito difcil e incmodo se trabalhar com elas. Exemplos de linguagens de baixo nvel so a linguagem binria e a linguagem Assembly. J as linguagens de alto nvel so mais fceis de trabalhar e de entender, as aes so representadas por palavras de ordem (exemplo faa, imprima, etc) geralmente em ingls, foram feitos assim para facilitar a memorizao e a lgica. Elas no so interpretadas diretamente pelo computador, sendo necessrio traduz-las para linguagem binria utilizando-se de um programa chamado compilador. 2.4.2 C#(Csharp) C# (CSharp) uma linguagem de programao orientada a objetos criada pela Microsoft, faz parte da sua plataforma .Net. A companhia baseou C# na linguagem C++ e Java. (Frana, 2007) A linguagem C# foi criada junto com a arquitetura .NET. Embora existam vrias outras linguagens que suportam essa tecnologia (como VB.NET, C++, J#), C# considerada a linguagem smbolo do .NET por trs motivos. Foi criada praticamente do zero para funcionar na nova plataforma, sem preocupaes de compatibilidade com cdigo de legado. O compilador C# foi o primeiro a ser desenvolvido. A maior parte das classes do .NET Framework foram desenvolvidas em C#. A criao da linguagem, embora tenha sido feita por vrios desenvolvedores, atribuda principalmente a Anders Hejlsberg, hoje um Distinguished Engineer na 38
Microsoft. Anders Hejlsberg era desenvolvedor de compiladores na Borland, e entre suas criaes mais conhecidas esto o Turbo Pascal e o Delphi. 2.4.3. Caractersticas C# (CSharp) , de certa forma, a linguagem de programao que mais diretamente reflete a plataforma .NET sobre a qual todos os programas .NET executam. C# est de tal forma ligado a esta plataforma que no existe o conceito de cdigo no- gerenciado (unmanaged code) em C#. Suas estruturas de dados primitivas so objetos que correspondem a tipos em .NET. A desalocao automtica de memria por garbage colletor alm de vrias de suas abstraes tais como classes, interfaces, delegados e excees so nada mais que a exposio explicita recursos do ambiente .NET. Quando comparada com C e C++, a linguagem restrita e melhorada de vrias formas. Os ponteiros e aritmtica sem checagem s podem ser utilizados em uma modalidade especial chamada modo inseguro (unsafe mode). Normalmente os acessos a objetos so realizados atravs de referncias seguras, as quais no podem ser invalidadas e normalmente as operaes aritmticas so checadas contra sobrecarga (overflow). Os objetos no so liberados explicitamente, mas atravs de um processo de coleta de lixo (garbage collector) quando no h referncias aos mesmos, previnindo assim referncias invlidas. Os destrutores no existem. O equivalente mais prximo a interface Disposable, que juntamente com a construo using block permitem que recursos alocados por um objeto sejam liberados prontamente. Tambm existem finalizadores, mas como em Java sua execuo no imediata. Como no Java, no permitida herana mltipla, mas uma classe pode implementar vrias interfaces abstratas. O objetivo principal simplificar a implementao do ambiente de execuo. O C# mais seguro com tipos que C++. As nicas converses implcitas por default so converses seguras, tais como ampliao de inteiros e converses de um tipo derivado para um tipo base. No existem converses implcitas entre inteiros e variveis lgicas ou enumeraes. No existem ponteiros nulos (void pointers) (apesar de referncias para Object serem parecidas). E qualquer converso implcita definida pelo usurio deve ser marcada explicitamente, diferentemente dos construtores de cpia de C++. A sintaxe para a declarao de vetores diferente ("int[] a = new int[5]" ao invs de "int a[5]"). Membros de enumerao so colocados em seu prprio espao de nomes (namespace). O C# no possui modelos (templates), mas o C# 2.0 possui genricos (generics). 39
Propriedades esto disponveis, as quais permitem que mtodos sejam chamados com a mesma sintaxe de acesso a membros de dados. E Recursos de reflexo completos esto disponveis. Apesar de C# ser freqentemente tido como similar a Java, existem uma srie de diferenas importantes. O Java no implementa propriedades nem sobrecarga de operadores. Ele no implementa um modo inseguro que permita a manipulao de ponteiros e aritmtica sem checagem. Possui excees checadas, enquanto excees em C# so no checadas como em C++. Java no implementa o goto como estrutura de controle, mas C# sim. Java utiliza-se de comentrios Javadoc para gerar documentao automtica a partir de arquivos fonte. C# utiliza comentrios baseados em XML para este propsito. E o C# suporta indexadores e delegados. 2.5 Banco de Dados 2.5.1 Microsoft Access O Microsoft Access (nome completo Microsoft Office Access), tambm conhecido por MSAccess, um Sistema de gerenciamento de banco de dados da Microsoft, includo no pacote do Microsoft Office Professional, que combina o Microsoft Jet Database Engine com uma interface grfica do utilizador (graphical user interface). Ele permite o desenvolvimento rpido de aplicaes que envolvem tanto a modelagem e estrutura de dados como tambm a interface a ser utilizada pelos usurios. Microsoft Access capaz de usar dados guardados em Access/Jet, Microsoft SQL Server, Oracle, ou qualquer recipiente de dados compatvel com ODBC. O desenvolvimento da estrutura de dados se d de forma muito intuitiva, bastando que o desenvolvedor possua conhecimetos bsicos em modelagem de dados e lgica de programao. (Microsoft, 2008) Programadores relativamente inexperientes e usurios determinados podem us- lo para construir aplicaes simples, sem a necessidade de utilizar ferramentas desconhecidas. Primeiramente foi o nome de um programa de comunicao da Microsoft, destinado competir com ProComm e outros programas. Esse produto fracassou e foi 40
abandonado. No segundo semestre de 1992 a Microsoft lanou seu primeiro Sistema de Gerenciamento de Banco de Dados e reusou o nome: o Microsoft Access (MS Access). Para a Microsoft havia uma grande vantagem quanto ao mercado, como era a dominadora do seu prprio mercado, foi a primeira a lanar um software executvel em plataforma Windows, enquanto que os outros programas deste segmento, liderados pela dBa-se, eram voltados para o ambiente DOS. Ao ser lanado por um preo bastante atrativo o MS Access 1.0 para Windows foi logo tomando conta do seu espao. Um dos fatores que muito contribuiu pra isto foi o seu preo de apenas noventa e nove dlares e tambm contamos com os investimentos que os administradores da Microsoft fizeram como a compra da Fox Software por cento e setenta milhes de dlares. Embora as vantagens de lanamentos, faltava de um pacote de ferramenta para desenvolvedores, o que foi princpio para muitas reclamaes, assim como a limitao do software de 128MB de memria. J em 1993 lanado no mercado MS Access 1.1 com a ampliao para 1GB de memria e junto a ele veio Distribution Kit e os incentivos da para que os desenvolvedores criassem seus aplicativos e os vendessem sem a necessidade do cliente ter uma verso do Access em seu computador, bastava apenas utilizar o Access Runtime. No entanto o programa ainda precisava de reajustes e dois anos depois modificaes apareceram com a verso 2.0. Agora era possvel trabalhar com 254 tabelas ao mesmo tempo e no mesmo arquivo de dados. O novo ambiente de programao dava facilidades ao desenvolvedor e agora tambm no era mais necessrio digitar imensas linhas de cdigos. Neste mesmo ano chega ao Brasil a verso em portugus do Access. A nova verso do MS Access , em 1995, pulou para 7.0 acompanhando o pacote de programas Microsoft Office 7.0. Introduzida na era de 32 bits a nova verso do Access vinha acompanhada com a linguagem Visual Basic for Applications (VBA), com o seu prprio ambiente de programao. Alm do recurso de replicar banco de dados, dando a possibilidade de trabalhar off-line em cpias de banco de dados, podendo ser sincronizada com a base central. 41
Em maro de 1997 foi lanada a verso 8.0, preparada para internet, capaz de gravar hiperlinks e salvar arquivos em formato HTML. E em 1999 lana a verso 9.0, tambm conhecido como MS Access 2000, com suporte a OLE DB e um produto independente at hoje. Com isso, em 2002, a nova verso com suporte a uma linguagem mais comum, o XML (Extensible Markup Language), que uma linguagem de marcao de dados e tambm d uma maior integralidade com o browser, podendo criar pginas em formato HTML de acesso as dados do banco. O Access 2003 na sua verso 11 traz maior integrao com browser, alm da linguagem VBA, marcao em XML e incorporao da linguagem SQL nas consultas de tabelas do banco. 2.5.2 Caractersticas Um dos benefcios do Access do ponto de vista do programador sua relativa compatibilidade com o SQL buscas podem ser visualizadas e editadas como sendo indicaes de SQL, e estes por sua parte podem ser usados diretamente em Macros e Mdulos VBA para manipular tabelas do prprio Access. Usurios podem misturar e usar ao mesmo tempo VBA e Macros para formulrios de programao e lgica, alm de serem oferecidos possibilidades com tcnicas de orientao-objeto. (FunctionX, 2007) O escritor de relatrios do Access, mesmo sendo capaz da criao sofisticada de relatrios, no to potente quanto outro escritor de relatrios de dados Crystal Reports. MSDE (Microsoft SQL Server Desktop Engine) 2000, a mini-verso do MS SQL Server 2000, includo com a edio de desenvolvedor do Office XP e pode ser usado ao lado do Access como uma alternativa ao Jet Database Engine. Verses anteriores do MSDE e do Microsoft Exchange Server de fato usam o motor do Jet para lidar com volumes elevados de dados e inserir uma camada de aplicao "falsa" para as aplicaes que se encontram acima dela. A falta de conhecimento a respeito deste fato tm contribudo uma desmerecida falta de respeito quanto famlia de produtos Access/Jet, particularmente quando se diz respeito a projetos de "grande porte".) 42
A funo "cortar e colar"(cut and paste) do Access pode torn-lo uma ferramenta til para a conexo entre diversos bancos de dados (por exemplo, entre o Oracle e o Microsoft SQL Server durante converses de dados ou bancos de dados). Access disponibiliza vrias funes de exportao e importao (import and export), que permitem a integrao entre o Windows e outras aplicaes de plataforma, muitas das quais podem ser executadas dentro das prprias aplicaes ou manualmente pelo usurio. Serve, como exemplo, o bastante compacto formato SNP para a compartilhao de relatrios perfeitamente formatados entre usurios que no dispem de uma verso completa do Access. Diferentemente dos RDBMS completos, o motor de banco de dados Jet da Microsoft no dispe de gatilhos de bancos de dados e procedimentos armazenados (stored procedures). A partir do MS Access 2000 (Jet 4.0), h um sintaxe que permite a criao de pedidos de busca com parmetros, semelhante criao de procedimentos armazenados, porm tais procedimentos so limitados uma declarao por procedimento. O Microsoft Access permite que formulrios contenham cdigos que so ativados medida que mudanas so feitas uma tabela subjacente (contanto que as modificaes so feitas apenas com aquele formulrio), e comum usar buscas "pass- through" e outras tcnicas no Access para ativar procedimentos armazenados em RDBMSs que suportam este tipo de sistema. Em arquivos de projeto de banco de dados do Access ADP (suportado em MS Access 2000 e adiante), as ferramentas relacionadas aos bancos de dados so completamente diferentes, uma vez que este tipo de arquivo conectado ao MSDE ou ao Microsoft SQL Server, ao invs de usar o motor Jet. Deste modo, ele suporta a criao de quase qualquer objeto no servidor subjacente (tabelas com restries e gatilhos, visualizaes, procedimentos armazenados e UDF's). Contudo apenas formulrios, relatrios, macros e mdulos so armazenados no arquivo ADP (outros objetos so armazenados no banco de dados "back end").
43
44
CAPTULO 3 DESENVOLVIMENTO DO PROJETO Neste captulo sero apresentados a implementao, os testes e os resultados obtidos no desenvolvimento do projeto e, tambm, a simulao do funcionamento do prottipo. No item 3.1 ser abordado o entendimento geral do projeto. O item 3.2 mostra a descrio dos dispositivos eletrnicos utilizados. O item 3.3 apresenta o software responsvel pelo funcionamento do prottipo. No item 3.4 so mostrados testes e resultados, e por ltimo mostrada a simulao do prottipo, no item 3.5. 3.1 - Desenvolvimento do projeto O projeto foi dividido em quatro etapas. A primeira etapa foi o planejamento geral do projeto, pensando no que fazer e por que fazer. J na segunda etapa, a mais extensa, foi feito a redao da monografia, o seu estudo bibliogrfico e a compra de materiais para o prottipo. Na terceira etapa foi executada a montagem do prottipo e a realizao de testes, para verificar onde havia problemas e como resolv-los. Na ltima etapa foi realizada a ltima verificao da monografia, atento a alguns erros que podiam existir. Na Figura 3.1 podemos ver as quatro etapas.
Figura 3.1 Etapas do desenvolvimento do projeto 45
3.1.1 - Estrutura Geral do Projeto Este projeto apresenta um prottipo de um sistema de automao residencial para iluminao. O objetivo desse sistema de automao promover uma economia no gasto de energia e, tambm, comodidade ao usurio. Neste prottipo encontram-se os seguintes dispositivos eletrnicos: -Placa CON-USBBEE com mdulo XBee-Pro; -Placa RCON-HOMEBEE com mdulo XBee-Pro. Esses dispositivos so monitorados e controlados por um sistema de gerenciamento implementado em C# (CSharp). Quando for executado algum comando, a placa receber uma conifrmao. Com isso, o usurio poder fazer consultas dos horrios em que alguma ao foi efetuada. A comunicao entre o software e o hardware feita via Zigbee - radiofreqncia. A Figura 3.2 ilustra a comunicao entre o software e o dispositivo.
Figura 3.2 Comunicao entre Software e hardware 46
O objetivo do projeto ligar e desligar lmpadas remotamente, atravs do computador. Para isso sero utilizadas as placas citadas acima. 3.1.2 Funcionamento Bsico do Projeto O funcionamento bsico do projeto explicado na Figura 3.3.
Figura 3.3 Funcionamento do projeto Os nmeros na Figura 3.3 servem para seqenciar as etapas do funcionamento do projeto. Primeiramente o sistema reconhecer a porta (1) onde est conectada a placa CON-USBBEE, se no encontr-la ele exibir uma mensagem avisando que no foi encontrada nenhuma porta (7). Se encontrar a porta, basta conect-la (2) e a placa j fica ativa. Depois de conectada o usurio escolher o que deseja fazer, ligar ou desligar (3) as lmpadas. Com a ao escolhida, o rel ser acionado (4) e a lmpada ser acesa ou apagada (5). Ento o sistema mostrar uma mensagem avisando o que foi executado (6). Depois o software trabalhar em um loop, entre as etapas (3), (4), (5) e (6), at a porta ser desconectada. 3.2 - Dispositivos Eletrnicos do Projeto Os dispositivos eletrnicos utilizados no projeto foram os seguintes: Mdulo XBee-Pro; 47
Placa CON-USBBEE; Placa RCON-HOMEBEE; Dispositivos complementares. 3.2.1 - Especificaes dos Dispositivos Utilizados 3.2.1.1 - Mdulo XBee-Pro Para a comunicao ZigBee foi utilizado o mdulo XBee-Pro. No projeto sero utilizados dois mdulos XBee-Pro, sendo um para a placa CON-USBBEE e um para a placa RCON-HOMEBEE, como mostrado nas Figuras 3.4 e 3.5.
Figura 3.4 CON-USBBEE Fonte: (RogerCom, 2008)
Figura 3.5 RCON-HOMEBEE Fonte: (RogerCom, 2008) 48
Os dois mdulos sero configurados pelo software X-CTU. Esse software desenvolvido pela MaxStream e utilizado para configurao dos mdulos XBee-Pro, como mostra a figura 3.6.
Figura 3.6 Software X-CTU 3.2.1.2 - Placa CON-USBBEE A placa CON-USBBEE tem a funo de comunicar um dos mdulos XBee-Pro com o computador atravs de uma porta USB. Atravs dessa placa que sero enviados os comandos para os rels.Ela tambm receber uma confirmao de que a ao foi executada. Para utilizar a placa basta instalar o driver CDM 2.02.04. Com isso, ser criada uma porta COMx para a placa, automaticamente. Na USBBEE, o mdulo XBee- Pro ser configurado com os seguintes padres: Endereo (DL): 5000 Endereo (MY): 5001 AP: 0 49
Figura 3.7 Configurao CON-USBBE 3.2.1.3 - Placa RCON-HOMEBEE A placa RCON-HOMEBEE receber os comandos, enviados pelo software de gerenciamento, atravs do mdulo XBee-Pro. Esses comandos acionaram os Rels 1 e/ou 2 para ligar/desligar. E enviar, tambm, a confirmao de que foi ligada ou desligada a lmpada. A placa alimentada por uma fonte externa capaz de fornecer 12- 24 v/600mA. Ela vai controlar dois rels com lmpadas de 220 v. Na HOMEBEE, o mdulo XBee-Pro ser configurado com os seguintes padres: Endereo (MY): 5001 50
Endereo (DL): 5000 AP: 0
Figura 3.8 Configurao RCON-HOMEBEE Quando Algum rel acionado, o seu LED aceso.
Figura 3.9 Rel aceso. 51
3.2.1.4 - Demais dispositivos Sero utilizados tambm um computador, uma fonte de 18v e 2 lmpadas. O computador ser responsvel pela execuo dos comandos do software de gerenciamento e onde ficar o banco de dados com as informaes para pesquisa. A fonte alimentar a placa RCON-HOMEBEE, lembrando que a placa CON-USBBEE alimentada com a corrente fornecida pelo prprio Bus USB. J as lmpadas sero utilizadas para os testes do prottipo. 3.3 Software Para a comunicao entre os dispositivos foi criado um software de gerenciamento, que foi implementado em C# (CSharp). Toda informao enviada ou recebida pela placa em forma de pacotes. A Fig ura 3.10 mostra o mapa de bits do byte de controle de escrita na placa.
Figura 3.10 Mapa de bits Fonte: (RogerCom, 2008) O Quadro 3.1 mostra o formato de um pacote XBee-pro para enviar dados de controle para a placa HOMEBEE. Quadro 3.1 Pacote de dados para envio de comando Bytes Descrio 1 Delimitador Inicial. 7E 2 Tamanho dos bytes. 00 07 1 Identificador da API. 01 1 API Frame ID. 01 2 Parte baixa do endereo destino (DL). 50 01 52
1 Byte de opo. 7B 2 Pacote de dados. 01 1 Checksum. 30 Fonte: RogerCom, 2008 Exemplo de um pacote para ligar o rel 1; 7E 00 07 01 01 50 01 00 7B 01 30 3.3.1 Funes principais do software O software ter uma interface muito fcil de ser utilizada. Para isso, ele possuir algumas funes como, conectar e desconectar a porta, ligar e desligar os rels 1 e 2 separadamente e os dois rels ao mesmo tempo. Para reconhecer e conectar a porta COMx, sero utilizadas as seguintes linhas de cdigo exibidas na Figura 3.11.
Figura 3.11 Conectar Porta COMx. Para ligar os rels 1 e 2, separadamente, e depois deslig-los um por vez, foram utilizadas as linhas de cdigo exibidas nas Figuras 3.12, 3.13, 3.14 e 3.15. No comando foi utilizada a funo Write. 53
Figura 3.12 Ligar Rel 1.
Figura 3.13 Desligar Rel 1. 54
Figura 3.14 Ligar Rel 2.
Figura 3.15 Desligar Rel 2 Para ligar os dois rels ao mesmo tempo foram utilizadas as linhas de cdigo mostradas na Figura 3.16, utilizando tambm a funo Write. 55
Figura 3.16 Ligar Rels 1 e 2. Quando a porta no for mais utilizada, basta desconect-la. As linhas de cdigo utilizadas para essa funo ento exibidas na Figura 3.17.
Figura 3.17 Desconectar Porta COMx. 3.4 - Testes e resultados Para testar a placa HOMEBEE sero executados alguns testes com o software RS232HomeBee. Selecionamos a porta onde est conectada a CON-USBBEE, escolhemos a velocidade, Bit de dados, a paridade e o bit de parada. A Figura 3.18 mostra a interface do software e quais as configuraes para o teste. 56
Figura 3.18 RS232HomeBee Para testar a HOMEBEE sero executadas algumas aes, que so passadas a seguir. Conecte a porta e selecione qual rel quer testar.
Figura 3.19 selecionando rel 1 57
Feito isso, o LED correspondente ao rel 1 ser aceso.
Figura 3.20 LED 1 aceso Faa o mesmo para o rel 2.
Figura 3.21 selecionando rel 2 58
Figura 3.22 LED 2 aceso Pronto, a placa HOMEBEE est funcionando. Com a placa funcionando, pode-se montar o restante do prottipo, que so as lmpadas e os fios que as ligaram na carga. As imagens abaixo mostram as lmpadas prontas.
Figura 3.23 Lmpadas prontas. Depois de prontas, pode-se test-las. Para isso usaremos novamente o software RS232HomeBee. As imagens abaixo mostram que foi executado com xito. 59
Figura 3.24 Lmpadas acesas. 3.5 - Simulao A simulao do projeto com um prottipo real. No prottipo, tudo que foi testado ser aplicado. Depois da fase de testes e com todos os dispositivos funcionando, pode-se simular o funcionamento do prottipo. A Figura 3.25 ilustra a interface do software.
Figura 3.25 Interface do software Agora utilizando o software, sero executadas as funes do prottipo. Com o programa em execuo selecione a porta onde est conectada a placa CON-USBBEE. Quando feito isso, receber uma mensagem de confirmao da ao. 60
Figura 3.26 Porta conectada. Depois de conectar a porta, selecione a ao que deseja executar. O primeiro teste ser ligar a lmpada 1 e deslig-la posteriormente.
Figura 3.27 Ligar lmpada 1. Na Figura 3.28 ilustrada a lmpada 1 acesa. O comando foi enviado pelo software de gerenciamento, como se pode ver na Figura 3.27. 61
Figura 3.28 Lmpada 1 acesa.
Figura 3.29 Desligar lmpada 1.. As Figuras 3.30 e 3.31 ilustram, respectivamente, a ao executada para acender a lmpada 2 e a lmpada acesa. 62
Figura 3.30 Ligar lmpada 2.
Figura 3.31 Lmpada 2 acesa. 63
Figura 3.32 Desligar lmpada 2. O prximo teste foi ligar as 2 lmpadas juntas. As figuras 3.33 e 3.34 ilustram essa ao.
Figura 3.33 Ligar lmpadas 1 e 2. 64
Figura 3.34 Lmpadas 1 e 2 acesas.
Figura 3.35 Desligar lmpadas 1 e 2.
65
Com os testes executados, pode-se ver o Log do sistema, com as informaes das aes executadas, na Figura 3.36.
Figura 3.36 Log do Sistema Aps a simulao, o prottipo est pronto. Foi testado o software juntamente com as placas e as lmpadas. Todos funcionam perfeitamente
66
CAPTULO 4 CONCLUSO 4.1 - Concluses Este projeto apresenta uma proposta de automao residencial para iluminao utilizando a tecnologia ZigBee. Para isso foi construdo um prottipo para simular o seu funcionamento. O objetivo geral do projeto auxiliar em uma reduo do excessivo consumo de energia no pas. Tendo em vista que s existe uma reduo desse ndice quando so tomadas medidas mais pesadas, como o racionamento de energia. E sabe-se tambm, que uma parte grande desse consumo desperdiada. Com isso, o projeto visa dar ao usurio uma comodidade de acender ou apagar uma lmpada a distncia, evitando um pouco de desperdcio. Todas as tarefas propostas para a realizao do trabalho foram executar com sucesso. Primeiro a configurao e os testes das placas USBBEE e HOMEBEE, foi realizado com xito. A porta foi conectada no software com sucesso, podendo assim executar as funes do prottipo. Por fim, os comandos de ligar e desligar as lmpadas funcionou perfeitamente. Os resultados obtidos com o prottipo foram satisfatrios para os objetivos iniciais. A principal vantagem deste proposto evitar o desperdcio de energia e trazer comodidade a usurio. Porm este trabalho se limita a isto no considerando assim outros aspectos, como por exemplo, o controle de outros dispositivos. O modelo proposto neste trabalho trs varias vantagens e no tem um custo alto. A comunicao ZigBee poder ser incrementado no futuro trazendo novas solues sem que para isso precise mudar de tecnologia ou aparelho. Outra vantagem que podem ser somados novos dispositivos ao prottipo, fazendo apenas algumas configuraes. Mostrando assim que seu custo/benefcio considervel valendo o investimento. 4.2 - Sugestes de Trabalhos Futuros Com os estudos e pesquisas realizados para a execuo do projeto, surgiram novas idias para trabalhos futuros. A comunicao ZigBee est comeando a ser bastante estudada e utilizada, tendo em vista as suas vantagens em relao as outras. 67
Utilizando a comunicao ZigBee, pode-se sugerir alguns trabalhos futuros citados a seguir: Utilizar o ZigBee para controlar cortinas, persianas e toldos; Utilizar o ZigBee para controle de presena atravs de sensores; Implantar o software de gerenciamento em uma tela de LCD; Colocar login e senha para logar no software de gerenciamento, e melhorar sua interface.
68
REFERNCIAS BIBLIOGRFICAS
INSTITUTO DE INGENIERA ELCTRICA (IIE), Automao residencial Em: iie.fing.edu.uy Acesso em: 17/08/2010 DEPARTAMENTO DE CINCIA DA COMPUTAO - UnB, ZigBee Em: www.cic.unb.br/~bordim/TD/Arquivos/G15_Monografia.pdf Acesso em: 05/09/2010 PASSARELA, Lucas. ZigBee. Universidade de Braslia, 2006. INFOESCOLA, Linguagens de Programao Em: http://www.infoescola.com/informatica/o-que-sao-linguagens-de-programacao/ Acesso em: 27/09/2010 OFICINA DA NET, C# (CSharp) Em: http://www.oficinadanet.com.br/artigo/526/c_sharp_csharp_o_que_e_esta_linguagem Acesso em: 03/10/2010 FRANA, Lucas Luiz, CSharp, O que esta linguagem. Oficina Da Net, 2007. ROGERCOM, ZigBee Em: http://www.rogercom.com/ZigBee/ZigBee.htm Acesso em: 15/09/2010 MCBRIDE, Jan. Padro ZigBee de comunicao sem fio. DIGI, 2008.
AZEVEDO, Tiago. Roteamento ZigBee. Universidade Federal do Rio de Janeiro, 2006.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO.Ports; using System.Data.OleDb; namespace xBeeTeste { public partial class frmPrincipal : Form { private OleDbConnection _conexao = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ Application.StartupPath + @"\log.accdb;Persist Security Info=False;"); private SerialPort portaCom = new SerialPort(); private StringBuilder query = new StringBuilder("INSERT INTO LOG_SISTEMA(DATALOG, ACAO) VALUES(#{0}#, '{1}')"); private OleDbCommand comando = new OleDbCommand(); public frmPrincipal() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { try { gravarLog("TENTANDO ESTABELECER CONEXO COM O ZEGBEE"); if (cmbPortas.Text != "") { portaCom = new SerialPort(cmbPortas.SelectedItem.ToString(), 9600, Parity.None, 8, StopBits.One);