Você está na página 1de 66

UNIVERSIDADE POTIGUAR UnP PR-REITORIA DE GRADUAO DEPARTAMENTO DE ENGENHARIA E CINCIAS EXATAS

HRICO SIQUEIRA DE ARAUJO OTAVIO HENRIQUE ARAUJO DE MARIA

IMPLEMENTAO EXPERIMENTAL DE UMA REDE ZIGBEE EM SISTEMAS EMBARCADOS

NATAL 2008

HRICO SIQUEIRA DE ARAUJO OTAVIO HENRIQUE ARAUJO DE MARIA

IMPLEMENTAO EXPERIMENTAL DE UMA REDE ZIGBEE EM SISTEMAS EMBARCADOS

Monografia apresentada no Departamento de Engenharia e Cincias Exatas da Universidade Potiguar para a obteno do ttulo de Engenheiro de Computao ORIENTADOR: Prof. Esp. Glaucus Brelaz

NATAL 2008

A663i

Araujo, Herico Siqueira de. Implementao experimental de uma rede zigbee em sistemas embarcados / Hrico Siqueira de Araujo, Otavio Henrique Araujo de Maria. Natal, 2008. 53f. TCC Projeto (Graduao em Engenharia da Computao) Universidade Potiguar. Pr-Reitoria de Graduao. Bibliografia f. 48-49 1. Engenharia da Computao Projeto. 2. Sistemas Embarcados. 3. Rede Zigbee. I. Maria, Otvio Henrique Araujo de. II. Ttulo.

RN/UnP/BCNC

CDU: 004(043)

HRICO SIQUEIRA DE ARAUJO OTAVIO HENRIQUE ARAUJO DE MARIA

IMPLEMENTAO EXPERIMENTAL DE UMA REDE ZIGBEE EM SISTEMAS EMBARCADOS

Monografia apresentada no Departamento de Engenharia e Cincias Exatas da Universidade Potiguar para a obteno do ttulo de Engenheiro de Computao

Aprovado em: ____/____/______

BANCA EXAMINADORA

____________________________ Prof. Esp. Glaucus Brelaz Orientador Universidade Potiguar UnP

_______________________________ Prof. Rodrigo Siqueira Martins Universidade Potiguar UnP

_________________________________ Prof. Lincoln Machado de Arajo Universidade Potiguar - UnP

Nenhum homem realmente produtivo pensa como se estivesse escrevendo uma dissertao. Albert Einstein

RESUMO

Esta monografia apresenta um estudo sobre a implementao de redes para dispositivos de controle e sensoriamento remoto composta por ns, constitudos por dispositivos dedicados baseados em microcontroladores (sistemas embarcados). Estes dispositivos normalmente utilizam sistemas proprietrios, desenvolvidos para atender redes especficas, como as redes de automao industrial, por exemplo, onde aplicaes com sensores (de temperatura, de umidade, gases, etc.) e dispositivos de controle (chaves, rels, etc.) no necessitam de uma largura de banda elevada para funcionarem, mas necessitam de uma latncia baixa e consumo de energia igualmente baixo para preservar a vida til das baterias. Para atender a esses requisitos foi criado o protocolo Zigbee, em 27 de junho de 2005, que um protocolo orientado para uma comunicao wireless sob o binmio baixo consumo / baixo custo, suportado sobre a normativa IEEE 802.15.4 e surgindo como responsabilidade da ZigBee Alliance. Com essa nova tecnologia surgindo no mercado, veio a motivao do desenvolvimento deste trabalho, cujo objetivo foi de avaliar este protocolo atravs de uma aplicao de sensores remotos utilizando um kit de desenvolvimento da Texas Instruments. A rede utilizada consiste em dois ns, que possuem um sensor de temperatura e um sensor de luminosidade (LDR) e que se comunicam via Zigbee com um n que pode ser conectado a um PC via USB, informando em tempos pr-definidos as leituras desses sensores.

Palavras-chave: Zigbee, Microcontroladores, Sistemas Embarcados, Rede de Sensores sem fio.

ii

ABSTRACT

This monograph presents a study about an implementation of a devicescontrol network and remote sensing composed by nodes, consisting of dedicated devices based on microcontrollers (embedded systems). These devices typically use proprietary systems, designed to use in specific networks, such as networks of industrial automation for example, where applications with sensors (temperature, humidity, gases, etc.) and control devices (switches, relays, etc.) not require highs transfers rate to run properly, but need a low latency and low power consumption to preserve the life of the battery. To meet these requirements was created the Zigbee protocol on June 27, 2005, which is a protocol oriented to a wireless communication under the binomial low consumption / low cost, and supported by normative IEEE 802.15.4 and emerging, by ZigBee Alliance's responsibility. With this new technology in the emerging market, has the motivation of the development of this work, whose objective was to evaluate the protocol through an application of remote sensing using a kit for development of Texas Instruments. The network used consists of two nodes, which have a sensor for temperature and luminosity (LDR) and that communicate via ZigBee with a node that can be connected to a PC via USB, letting in pre-defined time the readings of these sensors.

Key Word: Zigbee, Microcontrollers, Embedded Systems, Wireless Sensor Networks

iii

LISTA DE FIGURA

Figura 2.1 Figura 2.2 Figura 3.1 Figura 3.2 Figura 4.1 Figura 4.2 Figura 4.3 Figura 4.4 Figura 4.5 Figura 5.1

Tecnologias de Transmisso Modelo de Referncia OSI Exemplos de Sensores Exemplo de uma Rede de Sensores Sem Fio Espao de Sinal do O-QPSK Topologias Bsicas de Redes Zigbee Camadas Implementadas no Zigbee Camadas Zigbee Formato da Mensagem Zigbee Kit de demonstrao da Texas Instruments eZ430RF2480

04 07 12 14 20 22 23 23 25 26

Figura 5.2 Figura 5.3 Figura 6.1 Figura 7.1 Figura 8.1 Figura 8.2

Topologia Estrela utilizando o kit eZ430-RF2480 Diagrama de comunicao do projeto Arquitetura do MSP430 Integrao MSP430 com CC2480 por meio do SPI Fluxograma de implementao de um n FFD Fluxograma de implementao de um n RFD em modo econmico

27 28 29 32 42 43

Figura 8.3

Coordenador Conectado, mas captura ainda no inicializada

44

Figura 8.4 Figura 8.5 Figura 8.6

Captura da COM4 iniciada, apenas um n conectado Programa recebendo dados dos dois dispositivos finais Z-Tool

44 45 46

iv

LISTA DE TABELAS

Tabela 2.1 Tabela 2.2 Tabela 4.1 Tabela 6.1 Tabela 6.2 Tabela 7.1

Camadas do Modelo OSI Caractersticas Wi-fi, Bluetooth e Zigbee Diferentes Tipos de Dispositivos Lgicos Mapa de Memria Modos de operao do MSP430 Tabela de Endereos de Broadcast

06 09 20 30 31 34

LISTA DE SIGLAS

ACLK (Auxiliary clock) Clock Auxiliar do Sistema AES ( Advanced Encryption Standart) Padro de Criptografia Avanado AF (Application Framework) - Framework de Aplicaes API (Application Programming Interface) Interface de Aplicao Programvel APS (Support Sublayer) Suporte Subcamadas BSL (Bootstrap Loader) Rotina de partida CSMA-CA ( Carrier Sense Multiple Acess with Collision Avoidance) Sensor de Portadora de Mltiplo Acesso com Preveno de Coliso DCO (Digitally-controlled oscillator) Controlador do Oscilador Digital EPROM (Erasable Programmable Read Only Memory) Memria Somente de Leitura Programavel Apagavel FFD (Full Function Device) N com Funes Completas GHz Giga Hertz = 1.000.000.000 Hertz IDE (Integrated Development Environment) Ambiente de Desenvolvimento Integrado IEEE (Institute of Electrical and Electronics Engineers) Instituto de Engenheiros Eltricos e Eletrnicos IR (Infrared) Infra Vermelho ISM (Industrial, Scientifical and Medical) Industrial, Cientfico e Medico ISO (International Standards Organization) Organizao de Padres

Internacionais LAN (Local rea Network) Rede de rea Local LDR (Light Dependent Resistor) Resistor Varivel Conforme Incidncia de Luz MAC - Media Access Control MHz ( Mega Hertz ) - 1.000.000 Hertz MCLK (Main clock) - Clock do Sistema usado pela CPU OSI (Open Systems Interconnection) Padro de Interconexo de Sistema Abertos PHY Camada Fsica RF (Radio Frequency) Frequencia de Rdio RFD (Reduced Function Device) N com Funes Reduzidas

vi

RSSF Rede de Sensores Sem Fio SAP (Service Access Point) - Ponto de Acesso ao Servio SMCLK (Sub-main clock) Clock usado pelos Mdulos Perifricos SPI (Serial Peripheral Interface) Interface de Perifricos Seriais UART (Universal Asynchronous receiver/transmitter) Transmissor/Receptor Assncrono Universal USB ( universal Serial Bus) Barramento Serial universal Wi-FI (Wireless Fidelity) Rede sem fio entre Computadores WLAN (Wireless Local Area Network) Rede de rea Local Sem Fio WMAN (Wireless Metropolitan Area Network) Rede de rea Hurbana Sem Fio WPAN (Wireless Personal Area Network) Rede de rea Pessoal Sem Fio WWAN (Wireless Wide Area Network) Rede de rea Global Sem Fio ZDO (Zigbee Device Object) Ns de uma Rede Zigbee Zigbee Stack Pilha do Zigbee

vii

SUMRIO

1 2 2.1 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 3 3.1 3.1.1 3.2 3.2.1 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 5 6 6.1 6.2 6.3 7 7.1 7.2

INTRODUO........................................................................................ REDES....................................................................................................

01 03

REDES LOCAIS...................................................................................... 04 SOFTWARE DE REDE........................................................................... 05

Hierarquia de Protocolo........................................................................ 05 Modelo de Referncia OSI.................................................................... REDES SEM FIO.................................................................................... 06 08

Grupos de Redes Wireless................................................................... 08 Comparao de diferentes Tecnologias Sem Fios............................ 09

SISTEMAS EMBARCADOS................................................................... 11 SENSORES............................................................................................ Uso de Sensores em Rede................................................................... 12 13

REDE DE SENSORES SEM FIO............................................................ 14 Redes Ad-hoc........................................................................................ ZIGBEE................................................................................................... 15 16

DETALHES TCNICOS.......................................................................... 18 MODOS DE OPERAO DA REDE...................................................... 18

SEGURANA.......................................................................................... 19 MODULAO......................................................................................... CARACTERSTICAS DOS DIFERENTES TIPOS DE NS................... TOPOLOGIA DA REDE.......................................................................... ARQUITETURA DO PROTOCOLO ZIGBEE.......................................... 19 20 21 22

SELEO DE HARDWARE................................................................... 26 MICROCONTROLADOR MSP430......................................................... REGISTRADORES................................................................................. MODOS DE OPERAO....................................................................... 29 30 31

PORTAS DE E/S..................................................................................... 31 PROCESSADOR DE COMUNICAES ZIGBEE CC2480.................. PERFIL DE PILHA.................................................................................. ENDEREAMENTO............................................................................... 33 33 33

viii

7.2.1 7.2.2 7.3 7.3.1 7.4 7.4.1 7.5 7.5.1 7.6 7.6.1 7.7 7.7.1 7.7.2 8 9

Tipos de Endereamento..................................................................... Endereando Dispositivos com o CC2480......................................... COMISSIONAMENTO DE REDE...........................................................

33 33 34

Opes de Configurao...................................................................... 34 DISPOSITIVO PORTTIL....................................................................... 35 Opes de Configurao...................................................................... 36 RECONHECIMENTO END-TO-END...................................................... 36

Opes de Configurao...................................................................... 37 LIGAO................................................................................................ 37

Utilizao................................................................................................ 38 SEGURANA.......................................................................................... 39 Opes de Configurao...................................................................... 39 Chave...................................................................................................... 40 DESENVOLVIMENTO DO TRABALHO................................................. 41 CONCLUSES DE DESENVOLVIMENTOS FUTUROS....................... 47

REFERNCIAS....................................................................................... 48 APNDICES........................................................................................... ANEXOS................................................................................................. 50 53

1 INTRODUO

A tecnologia avana e a necessidade da mesma naturalmente desejada pela sociedade. Cabe as empresas, se adequar aos novos lanamentos e pesquisarem novos modos para facilitar a vida dos consumidores. A grande necessidade de estar sempre comunicvel, a possibilidade de antes da chegada casa j ter ativado o sistema de ar condicionado ou uma fotografia qualquer atravessar os cinco continentes em apenas alguns segundos, tudo utilizando tecnologia sem fio, que h algum tempo atrs poderia ter sido somente cenrio de fico cientifica, esto hoje num plano totalmente real. No decorrer dos ltimos anos tem-se assistido a uma enorme expanso de dispositivos de comunicao via rdio, que surgem nas mais diversas reas, fazendo penetrar cada vez mais este tipo de tecnologia no quotidiano de pessoas e empresas. A ausncia de uma ligao por cabo e uma conseqente versatilidade em termos de instalao ou posio dos dispositivos intervenientes, a vantagem mais evidente das redes que se apiam sobre este tipo de comunicao, a somar possibilidade dos prprios emissores ou receptores poderem estar em movimento durante a comunicao. Neste trabalho ser apresentado o protocolo Zigbee, um padro de comunicao para redes de sensores, desenvolvido pela Zigbee Alliance junto ao IEEE, que foi projetado para permitir comunicao sem fio confivel e com baixo consumo de energia baixas taxas de transmisso. Para a implementao, foi adquirido o kit de desenvolvimento eZ430-RF2480, composto por 3 dispositivos embarcados com microcontroladores MSP430 srie F2274 e transmissores CC2480, ambos fabricados pela Texas Instruments, que se comunicam entre si, utilizando o protocolo Zigbee. A programao foi feita atravs do programa Kickstart IAR Embedded Workbench fornecido junto ao kit. E como o ambiente integrado de desenvolvimento (IDE) foi utilizado o Z-Tool tambm fornecido pela Texas junto aos kits. Um aplicativo foi criado, que captura os dados da porta serial e os mostra de forma grfica para melhor visualizao do usurio. A abordagem iniciada no capitulo 2, a partir de conceitos de redes como topologia, protocolo, modelo em camadas e modelo OSI. No sub-tpico sobre redes

sem fio ser explicado porque foi escolhido o protocolo Zigbee como base deste estudo. O capitulo 3 mostra como funciona um sistema microprocessado (embarcado) e suas utilizaes em diversas reas, redes de sensores sem fio e redes ad-hoc. Depois disso, no capitulo 4, examinado o protocolo Zigbee, suas vantagens, seus modos de operao, detalhes tcnicos, as topologias que ele pode exercer e sua arquitetura. No quinto capitulo esclarece como foi feita a seleo do Hardware utilizado no projeto, o porque de utilizar o produto da Texas Instruments e uma breve apresentao deste Hardware. No sexto e stimo capitulo, so apresentados mais profundamente o Hardware, o MSP430 que o microcontrolador e o Transmissor CC2480 utilizados na placa. No oitavo captulo mostrado como foi feito a programao e os recursos utilizados para visualizar os dados vindos dos sensores. No ltimo capitulo so apresentadas as concluses do trabalho.

2 REDES

H dois tipos de tecnologia de transmisso: Redes de difuso e redes pontoa-ponto. As redes de difuso tm apenas um canal de comunicao, compartilhado por todas as mquinas. As mensagens curtas, que em determinados contextos so chamadas de pacotes, enviadas por uma das mquinas so recebidas por todas as outras. Um campo de endereo dentro do pacote especifica seu destinatrio. Quando recebe um pacote, uma mquina analisa o campo de endereo. Se o pacote tiver sido endereado prpria mquina, ela o processar, se for destinado outra mquina, o pacote ser ignorado. Em geral, os sistemas de difuso tambm oferecem a possibilidade de endereamento de um pacote a todos os destinos por meio de um cdigo especial contido no campo de endereo. Quando um pacote com esse cdigo transmitido, ele recebido e processado por todas as mquinas da rede. Esse modo de operao chamado de difuso (broadcasting). Alguns sistemas de difuso tambm suportam transmisso para um subconjunto das mquinas, conhecido como multidifuso (multicasting). Por outro lado, as redes ponto-a-ponto consistem em muitas conexes entre pares individuais de mquinas. Para ir da origem ao destino, talvez um pacote desse tipo de rede tenha de visitar uma ou mais mquinas intermedirias. Como em geral possvel ter diferentes rotas com diferentes tamanhos, os algoritmos de roteamento desempenham um importante papel nas redes ponto-a-ponto. Embora haja algumas excees, geralmente as redes menores tendem a usar os sistemas de difuso e as maiores, os sistemas os sistemas ponto-a-ponto. [TANENBAUM, 2003] Na figura 2.1a mostrada a topologia por difuso, em que um dispositivo emite para um conjunto de dispositivos receptores e somente o destinatrio processa a mensagem. Na figura 2.1b, um exemplo de transmisso ponto-a-ponto visto em que as mensagens so transmitidas de um ponto emissor para outro ponto receptor, ou seja, deste modo o primeiro computador pelo qual passa o sinal digital pode no ser o destinatrio, mas sim um ponto de passagem sendo a mensagem reenviada para o prximo n da rede, ate que o destinatrio seja encontrado.

Figura 2.1: Tecnologias de Transmisso

2.1 REDES LOCAIS

As redes locais, muitas vezes chamadas de LANs, so redes privadas contidas em um prdio ou em instalaes que tem no mximo alguns quilmetros de extenso. Elas so amplamente usadas para conectar computadores pessoais e estaes de trabalho em escritrios e instalaes industriais, permitindo o compartilhamento de arquivos e recursos (por exemplo, impressoras) e a troca de informaes. As redes locais tm trs caractersticas que as diferenciam das demais: tamanho, tecnologia de transmisso e topologia. As LANs tm um tamanho restrito, o que significa que o pior tempo de transmisso limitado e conhecido com a devida antecedncia, o conhecimento desse limite permite a utilizao de determinados tipos de projetos que em outras circunstncias seriam inviveis, alm de simplificar o gerenciamento da rede. A tecnologia de transmisso das LANs quase sempre consiste em um cabo a qual todas as mquinas so conectadas, como acontece com as extenses telefnicas que j foram usadas nas reas rurais. As LANs de difuso aceitam diversas topologias. Em uma rede de barramento (figura 2.1a), a qualquer momento uma mquina desempenha o papel de mestre e pode realizar uma transmisso. Nesse momento, as outras mquinas sero impedidas de enviar algum tipo de mensagem. Ser preciso, ento, criar um

mecanismo de arbtrio para resolver conflitos quando duas ou mais mquinas quiserem fazer uma transmisso simultaneamente. Esse mecanismo pode ser centralizado ou distribudo. Um segundo tipo de sistema de difuso o anel, em que cada bit propagado de modo independente, sem esperar o restante do pacote ao qual ele pertence. Geralmente, cada bit percorre todo o anel no intervalo de tempo em que alguns bits so enviados, freqentemente antes do pacote ter sido todo transmitido. Assim como todos ou outros sistemas de difuso, existe a necessidade de se definir uma regra para controlar os acessos simultneos ao anel. [TANENBAUM, 2003]

2.2 SOFTWARE DE REDE

No projeto das primeiras redes de computadores, o hardware foi colocado como prioridade e o software, em segundo plano. Essa estratgia foi deixada para trs. Atualmente, o software da rede est altamente estruturado.

2.2.1 Hierarquias de Protocolo Protocolo um conjunto de regras sobre o modo como se dar a comunicao entre as partes envolvidas. Para reduzir a complexidade do projeto, a maioria das redes foi organizada como uma srie de camadas ou nveis, que so colocados um em cima do outro. O nmero, o nome, o contedo e a funo de cada camada diferem de uma rede para outra. Em todas as redes, no entanto, o objetivo de cada camada oferecer determinados servios para as camadas superiores, ocultando detalhes da implementao desses recursos. A camada n de uma mquina se comunica com a camada n da outra mquina. Coletivamente, as regras e convenes usadas nesse dilogo so chamadas de protocolo da camada n. Na realidade, os dados no so diretamente transferidos da camada n de uma mquina para a camada n da outra. Cada camada transfere os dados e as informaes de controle para a camada imediatamente abaixo dela, at a ltima camada ser alcanada. Entre cada par de camadas adjacentes, h uma interface. A interface define as operaes e servios que a camada inferior tem a oferecer para a camada

superior a ela. Um conjunto de camadas de protocolos chamado de arquitetura de rede. [TANENBAUM, 2003]

2.2.2 Modelo de Referncia OSI Esse modelo baseado em uma proposta desenvolvida pela ISO (International Standards Organization) como um primeiro passo na direo da padronizao internacional dos protocolos usados nas diversas camadas (Day e Zimmermann, 1983). O modelo ISO - OSI (open Systems Interconnection), trata da interconexo de sistemas abertos. O modelo em si no uma arquitetura de rede, pois no especifica os servios e os protocolos que devem ser usados em cada camada. Ele apenas informa o que cada camada deve fazer. No entanto, o ISO produziu padres para todas as camadas, embora eles no pertenam ao modelo de referncia propriamente dito. [TANENBAUM, 2003] O modelo OSI dividido em 7 camadas:
Tabela 2.1 Camadas do Modelo OSI

Aplicao Apresentao

Prov aplicaes de rede Lida com a sintaxe e a semntica das informaes Permite que os usurios de diferentes mquinas estabeleam sesses entre eles e gerencia o controle de trfego

Sesso Transporte Enlace de Dados

Prov servio fim-a-fim Entrega ordenada livre de erros Entrega sem garantia de ordenao

Camada de Rede

Roteamento Controle de congestionamento Controle de acesso a um meio compartilhado, montagem de dados em quadros, endereamento e deteco de erros

Prov servios de comunicao de quadros com controle de fluxo e controle de erros Prov servios de transmisso e recepo de

bits Fsica Define as interfaces eltricas e mecnicas, as caractersticas de sincronizao e a especificao do meio de transmisso

Figura 2.2 Modelo de Referencia OSI

A figura 2.3 mostra como realizada a comunicao entre o usurio A e o usurio B, passando pelas 7 camadas do modelo OSI at chegar na camada fsica, onde realmente se far a comunicao com o outro usurio. Neste ponto a informao ser processada pelas camadas, porm em ordem contrria, at chegar aplicao do usurio B.

2.3 REDES SEM FIO

O grande problema em utilizar cabos para a criao de redes que o custo do cabeamento cresce exponencialmente junto com o nmero de dispositivos e a distncia entre eles. Alm disso, oferece pouca flexibilidade, precisando alterar o cabeamento quando mudar o equipamento de lugar. Uma conexo para transmisso de informao sem a utilizao de fios conhecida como conexo wireless, feita por meio de equipamentos que usam radiofreqncia ou comunicao infravermelho. Pela fcil instalao, uso e a criao

de novas tecnologias como: Wi-fi e Bluetooth, as redes sem fio esto sendo cada vez mais utilizadas. A troca de informaes em redes industriais requer tecnologias que atendam a requisitos de tempo real e imunidade interferncia, pois so realizadas em ambiente de alto rudo com um objetivo comum: supervisionar e controlar a operao do processo produtivo e facilitar o seu controle.

2.3.1 Grupos de Redes Wireless O grupo de trabalho do IEEE (Institute of Electrical and Electronics Engineers), responsvel pelo padro IEEE 802.11, abrange quatro sub-grupos: WPAN (Wireless Personal Area Network): Onde esto as tecnologias sem fio de pequeno alcance (entre 10 e 100 metros). um padro para redes locais, definido pelo IEEE 802.15, para endereamento de redes sem fio que utilizam dispositivos portteis ou mveis tais como PCs, PDAs, perifricos, celulares, pagers, etc. O Low rate WPAN, que tenta reunir uma baixa taxa de transferncia, baixa complexidade e oferecer um reduzido consumo energtico, faz parte integrante deste campo e sobre ele que foi desenvolvido o ZigBee, conjunto de especificaes do padro IEEE 802.15.4. WLAN (Wireless Local Area Network): Tecnologias que se destinam a redes sem fio com alcance situado entre os 100 e 300 metros, frequentemente como extenso ou alternativa a redes de cabeamento convencional (cabo coaxial ou fibra ptica). WMAN (Wireless Metropolitan Area Network): Neste campo o objetivo relativo a acessos de banda larga em redes de mbito metropolitano, com alcance em torno de 6 km. WWAN (Wireless Wide Area Network): o grupo mais amplo em termos de alcance, orientado para servios de telecomunicaes, atendendo aos servios de voz e dados. [PINHEIRO, 04]

2.3.2 Comparao de Diferentes Tecnologias sem fios


Tabela 2.2: Caractersticas Wi-fi, Bluetooth e Zigbee

Especificao

Taxa de Transferncia Consumo

54 Mbps >400mA TX, 20mA standby 1MB + 30 1-100 Elevada Taxa de Transferncia Internet, Transferncias de Arquivos, Vdeo/udio

1 Mbps >400mA TX, 0.2mA standby 250KB 7 1-10+ Interoperabilidade, substituio de cabos

250 kbps 30mA TX, 0.20A standby 32KB 255/65.000+ 1-75+ Consumo, Latncia, N. de Ns, Confiabilidade, Preo Controle Remoto, Sensores, Dispositivos alimentados por bateria

Pilha Protocolar Nmero de Ns Distancia (metros) Vantagens

Aplicaes

Perifricos de PC e Celulares, PDAs

A tabela 2.2 apresenta um comparativo entre as tecnologias wireless mais utilizadas em sistemas embarcados. O Wi-Fi, baseado sobre as normas da famlia IEEE 802.11, um protocolo orientado para aplicaes que requeiram uma elevada taxa de transferncia, tais como envio de arquivos ou o acesso Internet e a contedos multimdia. Por outro lado, dado os objetivos deste protocolo, o suporte sua pilha protocolar, em termos de hardware, bem mais exigente (podendo assumir a mesma um tamanho consideravelmente elevado). O seu consumo energtico, especialmente quando em standby, tambm claramente superior ao das outras tecnologias que aqui se comparam. Por ambos apresentarem taxa de transferncias mais reduzidas em relao ao Wi-Fi, uma dvida frequentemente surgida se o Bluetooth e ZigBee so efetivamente protocolos concorrentes. Segundo a prpria ZigBee Alliance, o ZigBee foi desenvolvido para servir aplicaes bastante distintas das do Bluetooth e, em especial, procurando dar uma

10

otimizao mxima ao consumo energtico. Conforme se constata, efetivamente o protocolo ZigBee apresenta um consumo muito reduzido quando comparado com o Wi-Fi ou Bluetooth, especialmente nos perodos de inatividade o seu consumo ser, nesta fase, cerca de 100 vezes inferior ao do Bluetooth.

11

3 SISTEMAS EMBARCADOS

Sistema embarcado o termo em portugus que traduz o termo original Embedded System. O termo original traduzido gramaticalmente, significa que o sistema est impregnado pelo controle digital. Segundo AXELSON,
Theyre called embedded systems because the program code is an integral part of, or embedded in, the devices. [AXELSON, 2003]

Um sistema embarcado um dispositivo que tem inteligncia computacional e dedicado execuo de uma tarefa especifica ou um grupo de tarefas relacionadas. Sistemas embarcados geralmente executam tarefas de monitoramento e controle, como ler e reportar leituras de sensores, controlar motores e comandos. J que o sistema dedicado a tarefas especficas, atravs de engenharia pode-se otimizar o projeto reduzindo tamanho, recursos computacionais e custo do produto. Ao contrrio de um PC, que pode executar os mais diversos programas e alternar entre eles, desempenhando as mais diversas funes, os sistemas embarcados so dispositivos "invisveis", que se fundem no nosso cotidiano, de forma que muitas vezes sequer percebemos que eles esto l. Os microcontroladores so formados fundamentalmente pelos mesmos componentes de um PC: processador, memria, algum dispositivo de armazenamento, interfaces e assim por diante. A principal diferena que, ao contrrio de um PC, eles se limitam a executar bem uma nica tarefa, de maneira contnua e, na maioria das vezes, sem travamentos e panes. Normalmente, voc roda as ferramentas de desenvolvimento num PC e transfere o software para o sistema que est desenvolvendo apenas nos estgios finais do desenvolvimento. Em alguns casos isso feito atravs da porta USB (ou de uma porta serial), mas em outros necessrio gravar um chip de EPROM ou memria flash com a ajuda do gravador apropriado e transferir o chip para o sistema embarcado para poder testar o software Existem no mercado os mais diversos tipos de microcontroladores, cada um com um conjunto prprio de perifricos e funes. Ao invs de desenvolver e fabricar seus prprios chips, as empresas passaram a cada vez mais utilizar componentes disponveis no mercado, que so fabricados em massa e vendidos a preos baixos. A maior parte do custo de um processador ou chip qualquer est em seu

12

desenvolvimento. Mesmo um microcontrolador relativamente simples pode consumir vrios milhes para ser desenvolvido. Entretanto, o custo de produo relativamente baixo, de forma que os chips mais vendidos acabam tendo o custo inicial amortizado e passam a ser cada vez mais baratos. Muitos microcontroladores podem ser conectados a dispositivos analgicos, permitindo o uso de sensores diversos. Isso permite a criao de dispositivos simples, que monitoram temperatura, umidade, intensidade da luz, acelerao, campos magnticos e assim por diante, executando aes pr-definidas em caso de mudanas, como ligar o ar condicionado, abrir ou fechar as persianas, ou mesmo disparar o air-bag do seu carro em caso de coliso. E sobre esses tipos de sistemas embarcados conectados a sensores que ser falado a seguir.

3.1 SENSORES

Sensores so dispositivos que recebem e respondem sinais ou estmulos. Eles podem ser usados para medir quantidades fsicas, como temperatura e presso, e converter os dados obtidos em sinais eletrnicos. A Figura 3.1 mostra alguns tipos de sensores.

Figura 3.1: Exemplos de Sensores

Seu uso hoje em dia est difundido por diversos setores. Eles podem ser usados em aplicaes industriais (txtil, espacial), na agricultura (informaes clima local), na segurana (deteco de intruso, aeroportos, automveis), etc.

13

3.1.1 Uso de Sensores em Rede Enquanto que o ato de gerar dados pelo sensor bem compreendido, transmitir dados de um sensor para um sistema da monitorao um desafio, devido ao alto custo e complexidade de redes de comunicaes. Os sistemas cabeados funcionam basicamente assim: sensores ligados via cabos at centrais de coleta de dados (datalogs), e esses dados so acessados por uma central de controle. Dependendo da distncia entre os datalogs e o centro de controle, o cabeamento entre eles se torna impraticvel, e os dados chegam a ser coletados localmente semanalmente ou em intervalos de tempos maiores. Em relao s redes sem fio, a falta de padres da indstria complicou o processo da integrao de sensores, atrasando a distribuio em grande escala. Assim, enquanto os sensores continuam a ganhar inteligncia, eles permanecem incapazes de comunicar seus dados aos sistemas remotos. A maioria de sensores ligada por fio aos sistemas de monitorao e controle, devido, em parte, falta de solues sem fio apropriadas a redes com necessidade de existncia de vrios ns. Os padres wireless, Wi-Fi, Bluetooth, e ZigBee, emergiram para fornecer maior flexibilidade do que os sistemas cabeados e para reduzir o risco de integrar comunicaes wireless proprietrias. Com o Wi-Fi e o Bluetooth produzindo milhes das unidades anualmente, os custos caram dramaticamente. A tecnologia ZigBee, o primeiro padro wireless projetado especificamente para a monitorao remota e controle, pode melhorar significativamente o alcance e a confiabilidade de redes de sensores sem fio. Existem ainda os protocolos de comunicaes das redes cabeadas, como o ModBus, LonTalk, ou DeviceNet, que fazem um bom trabalho integrando os sensores aos seus ambientes e fornecem altos nveis de confiabilidade e da segurana. As redes cabeadas so apropriadas sempre que os dados forem do tipo tempo-crtico ou misso-crtico. [JOHNSON, 08]

14

3.2 REDE DE SENSORES SEM FIO

Uma rede de sensores sem fio (RSSF) pode ser caracterizada pelo uso de uma quantidade grande de ns-sensores com a capacidade de se comunicar. Esses ns podem ser colocados dentro do fenmeno a ser analisado ou prximo a ele, diferentemente das redes de sensores tradicionais. As posies de cada n no so pr-determinadas ou pr-calculadas, so aleatrias, visto que a implantao de redes de sensores (temperatura, umidade, etc.) em locais de difcil acesso pode ocorrer pelo uso de helicptero, apenas "soltando" os ns sobre a regio a ser analisada. A comunicao entre estes ns feita atravs de uma rede ad-hoc sem fio, um n transmitindo a outro n prximo os valores do sensoriamento. Este prximo n deve se encarregar de passar os dados para o prximo n, e assim por diante. A idia tirar proveito de dispositivos to pequenos e baratos que possam ser usados em larga escala.

Figura 3.2: Exemplo de uma Rede de Sensores Sem Fio

As RSSF tm caractersticas que as diferem bastante das redes mais comuns. Uma caracterstica das RSSF que so centradas em dados, diferente das redes tradicionais centradas em endereo. Assim, um n difunde (ou pede) informaes baseadas em atributos. Alm disso, os ns-sensores devem atender a requisitos especficos da aplicao, muito comumente os ns focam-se em apenas um atributo, ou um pequeno conjunto de atributos, necessitando ento de

15

processamento no interior da rede. As restries impostas rede de sensores sem fio implicam em uma srie de requisitos para os protocolos de comunicao nunca antes encontrados em tal escala. Como conseqncia de suas caractersticas, os protocolos de comunicao e gerenciamento da rede devem ter capacidades de auto-organizao. [JOHNSON, 08]

3.2.1 Redes Ad-hoc A expresso latina ad-hoc significa literalmente para isto, por exemplo, um instrumento ad-hoc uma ferramenta elaborada especificamente para uma determinada ocasio ou situao. Num senso amplo, poderia traduzir ad-hoc como especfico ou especificamente. No caso de redes ad-hoc, a utilizao da rede ad-hoc est associada a cenrios onde exista uma necessidade de se instalar rapidamente uma rede de comunicao. Normalmente, so situaes onde no h uma infraestrutura de rede previamente instalada Nas redes ad-hoc no h topologia predeterminada, e nem controle centralizado. Redes ad-hoc no requerem uma infra-estrutura tal como backbones, ou pontos de acesso configurados antecipadamente. Os ns numa rede ad-hoc se comunicam sem conexo fsica entre eles, criando uma rede no ar, na qual alguns dos dispositivos da rede fazem parte da rede de fato apenas durante a durao da sesso de comunicao, ou, no caso de dispositivos mveis ou portteis, por enquanto que esto a uma certa proximidade do restante da rede. Uma rede ad-hoc mvel, MANET (Mobile Ad-hoc NETwork), um conjunto de ns mveis MNs (Mobile Nodes) formando redes dinmicas autnomas independentes de qualquer infra-estrutura, uma vez que os ns so mveis, a topologia da rede pode mudar rapidamente e de forma inesperada de uma hora para outra. MNs se comunicam uns com os outros sem a interveno de uma estao base ou ponto de acesso centralizado. Devido ao raio de transmisso das redes sem fio, mltiplos saltos (hops) podem ser necessrios para efetuar a troca de dados entre os ns da rede, da o termo rede multi-hop. Nessa rede, cada n atua tanto como roteador quanto como um host. Dessa forma, todos os MN participam da descoberta e manuteno de rotas para outros ns.

16

4 ZIGBEE

No sentido de satisfazer as necessidades crescentes da sociedade de informao, o mercado das comunicaes tem sofrido nos ltimos anos uma grande evoluo. De fato, no contexto das redes sem fios (wireless) existem mltiplas alternativas, cada uma delas orientada a aplicaes distintas. O Zigbee, sendo uma tecnologia recente, teve a sua primeira verso apresentada ao pblico em 27 de Julho de 2005 (embora tenha efetivamente surgido em Dezembro de 2004) e a entidade que se apresenta responsvel por este protocolo intitula-se ZigBee Alliance. A ZigBee Alliance uma aliana constituda por mais de 200 empresas, oriundas de mais de 20 pases distintos, na qual se integram tambm especialistas da rea de telecomunicaes e semicondutores, incluindo membros do IEEE. [LABIOD, 2007] At data de apresentao do ZigBee no se encontrava no mercado nenhuma norma de redes sem fios globalmente aceita no mbito de sensores e dispositivos de controle. O ZigBee pretende associar a transmisso de dados sem fios a um reduzido consumo energtico e com elevada confiabilidade. Assim, um objetivo desta norma tambm uma tentativa de uniformizar o desenvolvimento de aplicaes e dispositivos nesta rea, abandonando-se sistemas proprietrios distintos para dar lugar a um padro, que, ao ser aceito, proporciona a capacidade de um sistema se comunicar de forma transparente com outros sistema(semelhante ou no), que a interoperabilidade. Com uma vasta rea de aplicao, desde o controle industrial automao de residncias (domtica), o protocolo ZigBee possui ento determinadas caractersticas que o tornam absolutamente distinto dos restantes, sustentando os motivos que levaram sua criao: Reduzido consumo de energia low power; Pilha protocolar de implementao simplificada (cdigo de tamanho menor que um quarto da do Bluetooth, por exemplo), conduzindo a interfaces de baixo custo low cost;

17

Possibilidade de suportar uma elevada densidade de ns por rede (num mximo de 65535 dispositivos por cada ZigBee Coordinator, valor manifestamente superior aos 8 do Bluetooth ou 30 do Wi-Fi);

Admite diferentes topologias da rede: estrela (star), malha (mesh) ou rvore (cluster tree), permitindo o estabelecimento de redes de ns ad-hoc. Possui um tempo de ligao rede menor que os outros protocolos e apresenta maior rapidez na passagem do modo standby a ativo, o ZigBee apresenta tambm uma baixa latncia, ou seja, precisa permanecer no modo ativo somente enquanto faz alguma transmisso, diminuindo assim o consumo de bateria;

Dois estados de operao: active, quando do envio ou recepo de dados, e sleep (contrastando, por exemplo, com o Bluetooth, que apresenta inmeros modos e estados de latncia e potncia) a aplicao no ter de se preocupar em selecionar o modo mais adequado;

Dois modos de operao da rede: beaconing e non-beaconing Captulo 4.2 Modos de operao da Rede; Elevada segurana, com um algoritmo AES de 128 bits de criptografia; Elevada confiabilidade; Suporte para duas classes de dispositivos fsicos (definidos na norma IEEE 802.15.4), podendo ambos coexistir numa mesma rede: * Dispositivo de funo completa (FFD) pode funcionar em qualquer que seja a topologia da rede, desempenhando a funo de coordenador ou roteador da rede e consequentemente tendo acesso a mais de um dispositivo. Assim, trata-se de dispositivos de construo mais complexa; * Dispositivo de funo reduzida (RFD) limitado a ao de controle ou monitoramento, no podendo atuar como coordenador da rede. Pode apenas comunicar-se com um coordenador ou roteador de rede. So dispositivos de construo mais simples;

s duas classes anteriores de dispositivos fsicos correspondem trs tipos de dispositivos lgicos: Coordinator, Router e Endpoint que ser explicado melhor no capitulo 4.5 (Caractersticas dos diferentes tipos de Ns).

18

4.1 DETALHES TCNICOS

O ZigBee opera em trs bandas de rdio conhecidas como ISM (Industrial, Scientifical and Medical), as quais esto isentas de licenciamento. Globalmente, corresponde banda de 2.4 Ghz e ainda s bandas de 915Mhz (Estados Unidos) e 868Mhz (Europa). Consoante a banda, varia a taxa de transmisso possvel: em 2.4 Ghz podem ser obtidas taxas de transmisso de 250Kbps, com 16 canais disponveis; a 915Mhz, est disponvel uma taxa de transmisso de 40Kbps e 10 canais de comunicao; no caso de 868Mhz, possibilita 1 canal e uma taxa de transmisso de 20Kbps. Em termos de modulao, utilizado O-QPSK (Offset quadrature phaseshift keying) para a banda dos 2.4 Ghz e BPSK (binary phase shift keying) para os 915 ou 868Mhz. [SILVA, 07]

4.2 MODOS DE OPERAO DA REDE

No modo beaconing, os ns ZigBee Routers transmitem periodicamente sinalizao (beacons) a confirmar a sua presena aos outros ns da mesma rede, sendo que os restantes ns s necessitam de estar ativos no momento da sinalizao. Tal permite mant-los no modo sleep entre sinalizaes, com evidente vantagem em termos de consumo energtico (diminuem o seu ciclo ativo, aumentando o ciclo inativo, conseqentemente, prolongam a autonomia da bateria a que possam estar ligados). O intervalo entre beacons pode variar entre os 15.36 ms e os 251.65s, para uma taxa de transmisso de 250kbit/s. No entanto, deve ser levado em conta que a operao com duty cycle reduzido (associada a intervalos prolongados entre beacons) requer uma temporizao de elevada preciso, o que pode colidir com o interesse em produzir um dispositivo de baixo custo. No modo non-beaconing sucede que a maioria dos dispositivos mantm os seus receptores permanentemente ativos, sendo o consumo energtico mais significativo (podendo tornar necessrias fontes de alimentao mais robustas). [SILVA, 07]

19

4.3 SEGURANA AES 128-bits Encryption

Em termos de Segurana, o protocolo Zigbee utiliza o Advanced Encryption Standard (AES, em portugus, Padro de Criptografia Avanado), bastante parecido com o Rijndael, um algoritmo de processamento de dados em blocos de 128 bits. Na verdade um dgito binrio em oposio a um dgito decimal. Sob a influncia de uma chave, um bloco de 128 bits codificado transformando-o em uma via nica para um novo bloco de mesmo tamanho. Sendo a mesma chave utilizada tanto para criptografia quanto para a descriptogafia. Em uma estimativa agressiva sobre a taxa de progresso computacional, a de assumir que a velocidade computacional ir dobrar a cada ano em um custo inalterado. Se correto, chaves de 128 bits ainda poderiam ser usadas dentro de 30 anos com uma relativa segurana. Uma ilustrao do atual estado do AES dado pelo seguinte exemplo, um atacante com uma mquina que atinja uma taxa de um bilho de chaves por segundo, levar cerca de 1022 anos para experimentar todas as chaves possveis.

4.4 MODULAO O-QPSK (Offset Quadrature Phaseshift Keyin)

Neste trabalho ser utilizado o padro global de 2.4 GHz, que utilizada a modulao O-QPSK, por isso no ser falado sobre a modulao para o padro Americano e Europeu. Modulao em quadratura com offset (O-QPSK) um sinal digital binrio agrupado em conjuntos de dois bits, e tem como objetivo a reduo das transies de fase do sinal modulado, limitando-as a um mximo de 90, diferente da QPSK que possibilitavam mudanas de 180. E possibilitando assim a sua utilizao com amplificadores no-lineares. Sendo muito atraente para comunicaes mveis, onde limitaes de banda e uso de amplificadores no-lineares eficientes, para o baixo consumo de energia so crticos.

20

Figura 4.1: Espao de Sinal do O-QPSK, no existe passagem pelo zero

4.5 CARACTERISTICAS DOS DIFERENTES TIPOS DE NS

Em termos de dispositivos fsicos, os quais esto associados norma IEEE 802.15.4, encontramos os FFD e os RFD, sobre estes, o protocolo ZigBee efetua ainda a distino entre trs tipos de dispositivos lgicos que concretizam a rede de comunicao: [LABIOD, 07]
Tabela 4.1: Diferentes Tipos de Dispositivos Lgicos

Tipo de dispositivo Dispositivo Coordenador (Coordinator) Roteador (Router) FFD fsico associado (IEEE 802.15.4) FFD Forma a rede, atribui endereos, suporta binding table. Existe apenas um por rede. Permite que mais ns se juntem rede, ao aumentar o seu alcance fsico. Pode tambm efetuar funes de controle ou monitoramento. opcional. End Point RFD ou FFD Efetua ao de controle ou monitoramento atravs de dispositivos que lhe esteja associado atuador). (sensor, controlador, A sua existncia Funo

21

4.6 TOPOLOGIA DA REDE

Uma vez que este padro perspectiva a rede de uma forma ad-hoc, no existe uma topologia predeterminada nem um controle obrigatoriamente centralizado. Note-se, no entanto, que apesar desta caracterstica dinmica de configurao da rede, que em qualquer uma das topologias o coordenador da rede o dispositivo responsvel por iniciar a rede. Em seguida apresenta-se uma representao grfica e sucinta abordagem do conceito inerente a cada topologia, podendo cada uma delas coexistir dentro de uma mesma rede: ESTRELA (Star): ao coordenador da rede que cabe todo o controle da rede, assumindo este um papel central e de comunicao direta com todos os dispositivos Endpoint , portanto o coordenador que inicia e mantm os dispositivos na rede. Toda a informao em circulao na rede passa por esse n. MALHA (Mesh): Numa topologia em malha os dispositivos do tipo FFD (Coordenador ou Roteador) so livres de comunicar com outro dispositivo FFD. Isto permite, quando necessria, a expanso fsica da rede (maior alcance). O coordenador registra toda a entrada e sada de dispositivos, mas no assume um papel to preponderante em termos de fluxo de informao como na configurao anterior. RVORE (Cluster Tree): Apresentando semelhanas rede em malha, tambm so usados dispositivos roteadores. No entanto, nesta topologia efetua-se a distribuio de dados e mensagens de controle numa estrutura hierrquica, onde o coordenador assume o papel de n nuclear da rede. [SILVA, 07]

22

Figura 4.2: Topologias Bsicas de Redes Zigbee

4.7 ARQUITETURA DO PROTOCOLO ZIGBEE

A arquitetura do Zigbee foi desenvolvida em blocos ou camadas. Cada camada executa servios especficos para servir a camada acima: a entidade de dados prov dados para o servio de transmisso e a entidade de gerncia fornece informao para todos os outros servios. Cada entidade de servio expe uma interface para a camada superior atravs do ponto de acesso ao servio (SAP) e cada SAP suporta um nmero de primitivas de servio para ativar a funcionalidade solicitada. A arquitetura do Zigbee, observada na figura 4.2, baseada no modelo OSI (Open Systems Interconnection) de sete camadas, mas define apenas as camadas relevantes para obter a funcionalidade desejada. O padro IEEE 802.15.4-2003 define as duas camadas mais baixas: a camada fsica (PHY) e a sub-camada de controle de acesso ao meio (MAC). A Zigbee Alliance desenvolve sobre essas camadas para provisionar a camada de rede (NWK) e o framework para a camada de aplicao, que inclui a camada de aplicao para suporte s sub-camadas (APS), os objetos de dispositivo Zigbee (ZDO) e os objetos de aplicao definidos pelo fornecedor (Application Object).

23

Figura 4.3: Camadas implementadas no Zigbee

Figura 4.4: Camadas Zigbee, mostrado mais detalhadamente.

A figura 4.4 mostra as camadas e como elas se comunicam entre si. PHY - O padro IEEE 802.15.4-2003 define duas camadas PHY que operam em duas faixas de freqncia distintas: 868/915 MHz e 2.4 GHz. A freqncia mais baixa cobre tanto a banda europia de 868 MHz e a banda usada nos EUA e Austrlia de 915 MHz. A freqncia mais alta da camada PHY utilizada virtualmente no mundo inteiro. MAC - A sub-camada IEEE 802.15.4-2003 MAC controla o acesso ao canal de rdio usando o mecanismo CSMA-CA. Sua responsabilidade inclui transmitir frames, sincronizao e prover um mecanismo confivel de transmisso.

24

NWK - A camada NWK inclui mecanismos usados na conexo e desconexo

de dispositivos numa rede, de aplicao de segurana aos frames e roteamento para seus destinos. Adicionalmente, a camada de rede inclui a descoberta e manuteno de rotas entre dispositivos envolvidos na rede NWK. A descoberta e armazenamento da informao da vizinhana pertinente tambm so feitos na camada NWK. O coordenador da camada NWK responsvel por iniciar uma nova rede, sempre que apropriado e assinalar endereos para os novos dispositivos associados. AP - A camada de aplicao do Zigbee composta pelo APS, pelo framework de aplicaes (AF), pelo ZDO e pelos objetos de aplicao definidos pelos fornecedores. A responsabilidade da sub-camada APS inclui a manuteno das tabelas para binding, que a habilidade de combinar dois dispositivos baseado em seus servios e suas necessidades, enviando mensagens entre os dispositivos combinados. O ZDO executa a funo de definir a regra para o dispositivo na rede (coordenador Zigbee ou dispositivo), iniciando e/ou respondendo s requisies de binding e estabelecendo uma conexo segura na rede. O ZDO tambm responsvel pela descoberta de dispositivos na rede e pela determinao de que tipos de servios estes dispositivos provm. Existem dois tipos de mensagem, as do tipo KVP (Key-Value Pair), onde cada n conhece o endereo do n destino, e a do tipo MSG (Message Service Tipe), onde necessrio que seja feita e armazenada uma ligao entre dois end-points. Na figura 4.5, temos como montada a mensagem Zigbee.

25

Figura 4.5: Formato da Mensagem Zigbee

26

5 SELEO DE HARDWARE

Z-Accel um conceito criado pela Texas Instruments para criao de um novo produto wireless ou a adio da tecnologia wireless mais facilmente em algum produto j existente. Dispositivos com a funo Z-Accel em um processador de rede ZigBee, so encapsulado com toda a complexidade de uma rede wireless em uma caixa preta. O processador master executando a aplicao simplesmente se comunica com o dispositivo Z-Accel atravs de uma simples interface serial e define a API. Z-Accel facilmente separa a aplicao dos componentes de rede para facilidade de projeto e integrao do sistema. O CC2480, primeiro produto da Texas Instruments da familia do Z-Accel, proporciona o desenvolvimento ZigBee de uma maneira simples. O CC2480 cria uma rede totalmente nos padres ZigBee-2006, e possui um endereo nico IEEE em cada dispositivo. Isso inclui total capacidade de desempenhar papel de Coordenador, Roteador ou Dispositivo Final na rede, segurana, modo de espera, comunicao confivel, interoperabilidade, e outras funcionalidades. O kit de demonstrao eZ430-RF2480 utiliza o IAR Embedded Workbench IDE para programar, e fazer a gravao no MSP430.

Figura 5.1: Kit de demonstrao da Texas Instruments eZ430-RF2480

27

A figura 5.1a mostra uma target board composta por um microcontrolador MSP430F2274, um transmissor CC2480, um pushbutton, 2 leds e uma antena, e um modulo com 2 baterias AAA que alimentam o sistema. Na figura 5.1b mostra a mesma target board com a interface UART para ligar na USB do computador, ela simula uma porta COM virtual para fazer a comunicao com as outras target board que esto espalhadas e alimentadas pelo modulo de bateria.

Figura 5.2: Topologia Estrela utilizando o kit EZ430-RF2480

O eZ430-RF2480 da Texas foi o escolhido para este trabalho por ser o kit de desenvolvimento com o menor custo, pela segurana de trabalhar com uma empresa bem conceituada no mercado eletrnico mundial, por ter distribuidor no Brasil e por dispor de farta documentao tcnica. Neste trabalho foi implementado uma comunicao que em tempos prdefinidos informa a temperatura, quantidade de Luz e tenso da bateria utilizando o conversor ADC de 10 bits do microcontrolador MSP430. Para visualizar essas medies, foi utilizado um programa que acessar os dados vindo da porta USB, informados pelo coordenador da rede Zigbee. No coordenador, a comunicao recebido dos outros componentes da rede pelo CC2480 transferida para o MSP430 por meio da comunicao SPI (Interface de Perifricos Seriais). O MSP430

28

por sua vez trabalha em modo escravo em relao ao PC comportando-se como um perifrico ligado uma comunicao USB.

Figura 5.3: Diagrama de Comunicao do Projeto

29

6 MICROCONTROLADOR MSP430

O MSP430 fabricado pela Texas Instruments, e trata-se de um microcontrolador de baixo consumo de 16 bits. Todas as operaes, com excesso das instrues de fluxo de programa, so realizadas com os registradores de operaes em conjunto com sete modos de endereamento na fonte e quatro para o destino. Possui interface JTAG que possibilita a gravao e depurao diretamente na placa de aplicao, arquitetura RISC com 27 instrues fsicas (op-codes) e mais 24 emuladas ( variaes das 27 instrues que utilizam os geradores de constantes), resultando em um conjunto de 51 instrues. O microcontrolador conta com um conjunto bastante extenso de perifricos internos, com nfase especial para conversores A/D de at 10 bits, conversores D/A, comparador analgico, amplificador operacional programvel, controladores DMA, timers com diversos modos de funcionamento e interface de comunicao serial universal com suporte a UART.

Figura 6.1: Arquitetura do MSP430

30

6.1 REGISTRADORES

A CPU integrada com 16 registradores que fornecem um reduzido tempo de execuo de instruo. O tempo de execuo da operao de registrador para registrador de um ciclo de clock. Sendo 12 registradores para propsito geral e quatro, R0 a R3, so registradores de funo especial: R0 Contador de Programa (PC) que possui a finalidade de apontar a prxima instruo a ser lida da memria e executada pela CPU. Aps o reset do sistema, o endereo apontado corresponde a localizao da primeira instruo do programa do usurio. R1 Apontador de Pilha (SP), utilizado para indicar CPU a localizao do topo da pilha de memria, onde so armazenados os endereos de retorno nas chamadas de sub-rotinas e tratamento de interrupes. A estrutura da pilha LIFO (last in first out), sendo assim o primeiro objeto inserido na pilha o ltimo a ser removido. R2 Registrador de Status (SR) pode funcionar como registrator de estado da CPU ou como gerador de constantes. R3 Gerador de constantes (CG), gera constantes usualmente utilizadas, sem que seja necessrio recorrer a uma palavra adicional de 16 bits no cdigo do programa. Memria Flash A memria flash pode ser programada pela porta JTAG, BSL ou pela CPU. A memria flash possui n segmentos de 512 bytes cada e quatro de memria de informao (A a D) de 64 bytes cada. A CPU pode escrever em bytes ou palavras na memria.
Tabela 6.1 Mapa de memria

Memria Principal: Vetor de interrupo Principal: Cdigo de memria Memria de informao Memria de boot RAM

Tipo Flash

Tamanho 32kB 256 Byte 1KB 1KB

Endereo 0FFFFh-0FFC0h 0FFFFH-08000h 010FFh-01000h 0FFFh-0C00h 05FFh-0200h

Flash ROM

31

Perifrico: 16-bit Perifrico: 8-bit Perifrico: 8-bit SFR

01FFh-0100h 0FFh-010h 0Fh-00h

6.2 MODOS DE OPERAO

O MSP430 possui um modo ativo e cinco modos de operao de baixo consumo selecionvel por software. Um evento de interrupo pode despertar o dispositivo a partir de qualquer um dos modos de baixo consumo.
Tabela 6.2: Modos de operao do MSP430

Modo de baixo consumo Modo ativo Modo LPM0 Modo LPM1 Modo LPM2 Modo LPM3 Modo LPM4

Descrio Todos os clocks ativos; CPU e MCLK desabilitada, ACLK e SMLK ativos; Idem ao anterior com DCO desligado se no estiver em uso; Idem ao anterior com SMLK desligado; Idem ao anterior com DCO desligado; Idem ao anterior e o oscilador do cristal parado.

6.3 PORTAS DE E/S

O MSP430 possui 4 portas de entrada/sada digitais (P1 a P4), todas de 8 bits e cada bit pode ser configurado individualmente como entrada ou sada. AS portas P1 e P2 possuem a capacidade de gerar interrupes em seus pinos.

32

7 PROCESSADOR DE COMUNICAES ZIGBEE CC2480

A Texas Instruments introduziu seu primeiro produto da nova famlia Z-Accel de processadores certificados para redes Zigbee de 2.4 GHz. O CC2480 fornece a funcionalidade completa do padro Zigbee com o mnimo de esforo de desenvolvimento, tornando-se mais simples de integrar o padro em uma ampla variedade de aplicaes, tais como automao residencial e controle e monitorao industrial, tendo este dispositivo uma grande flexibilidade para trabalhar com qualquer microcontrolador (MCU). Basicamente o CC2480 um processador de comunicaes na banda de 2.4 GHz incorporando um processador cujo ncleo baseado no core do conhecido processador 8051. Z-Accel uma soluo abrangente da pilha TIs Zigbee-2006, o software ZStack roda no processador Zigbee, enquanto o aplicativo roda em um microprocessador externo. O CC2480 manipula todos os tempos crticos e o uso intensivo de processamento exijido pelo protocolo Zigbee, enquanto deixa os recursos do microprocessador livres para a aplicao. O CC2480 comunica-se com qualquer MCU atravs de interface UART ou SPI, podendo ser combinado, por exemplo, com o microcontrolador MPS430.

Figura 7.1: Integrao MSP430 com CC2480 por meio do SPI.

33

7.1 PERFIL DE PILHA

O conjunto de parmetros da pilha que precisam ser configurados para valores especficos, juntamente com aqueles valores, chamado de perfil da pilha. O parmetros que compe o perfil da pilha e seus valores so definidos pela ZigBee Aliance. Todos os dispositivos na rede devem est em conformidade com o mesmo perfil da pilha (ou seja, todos os dispositivos devem ter os mesmos valores nos parmetros de perfil da pilha).

7.2 ENDEREAMENTO

7.2.1 Tipos de endereamento Dispositivos ZigBee tem dois tipos de endereos. Um endereo de 64-bit IEEE (tambm chamado endereo MAC ou endereo estendido) e um endereo de rede de 16 bits. O endereo de 64 bits vem pr-programado em cada dispositivo CC2480 e globalmente um endereo exclusivo que atribudo e mantido pelas normas de organizao IEEE. O endereo de 16 bits utilizado para identificar e enviar dados dentro da rede, sendo atribudo automaticamente a um dispositivo quando se junta a uma rede. 7.2.2 Endereando dispositivos com o CC2480 Em ordem, para enviar dados para um dispositivo em uma rede ZigBee, a aplicao dever utilizar o ZB_SEND_DATA_REQUEST. Nesse comando, um endereamento curto de 16 bits necessrio. Uma aplicao pode determinar o endereamento curto ou estendido de si prprio ou de dispositivos parentes atravs do comando ZB_GET_DEVICE_INFO. O endereo estendido do coordenador da rede esta tambm disponvel atravs da mesma interface. O comando ZB_FIND_DEVICE_REQUEST pode ser utilizado para descobrir o endereo curto de 16 bits de um dispositivo na rede a partir do seu endereo IEEE 64 bits. Se o endereo curto do destino no conhecido, a aplicao pode continuar enviando

34

dados usando a tabela de binding. Assim possvel enviar dados broadcast para todos os dispositivos da rede.
Tabela 7.1 Tabela de endereos de broadcast

Endereo de Broadcast 0xFFFC 0xFFFD 0xFFFF

Descrio Todo o grupo de roteadores e coordenadores Todo o grupo de dispositivos com receptor ligado Todo o grupo de dispositivos na rede

7.3 COMISSIONAMENTO DE REDE

Cada dispositivo tem um conjunto de parmetros de configurao que podem ser configurados pelo processador master. A configurao dos parmetros para uma rede especfica deve ser definido igualmente para todos os dispositivos que faro parte da rede, j na configurao dos parmetros para um dispositivo especfico, podem ser setados valores diferentes para cada dispositivo. Mas no comando ZCD_NV_LOGICAL_TYPE, primeiro a rede deve ser definida de forma que exista apenas um dispositivo configurado como coordenador e todos os dispositivos ligados bateria, definidos como end-devices. Feito isso, os dispositivos podem ser colocados em ordem, o dispositivo coordenador ir iniciar a rede e os outros dispositivos ingressaro nela. 7.3.1 Opes de configurao Configurando um canal Isto pode ser configurado atravs do parmetro de configurao ZCD_NV_CHANLIST. Este um bitmask e mltiplos canais podem ser selecionados simultaneamente. O dispositivo coordenador ir procurar todos os canais especificados no parmetro de configurao ZCD_NV_CHANLIST e escolher o canal que tem o menor nvel energtico. Se mais de um canal tem baixo nvel de energia, o coordenador ir escolher o canal com o menor nmero existente de redes ZigBee.

35

Escolhendo em qual Rede Entrar Em cenrios onde multiplas redes podem coexistir, pode ser necessrio controlar a formatao e o processo de interligao da rede. Isto possvel atravs do parmetro de configurao ZCD_NV_PANID. Se for definido para um valor entre 0 a 0x3FFF, o coordenador utilizar este valor como o identificador quando for iniciar a rede. Um roteador ou end-device s vai aderir rede se tiver este valor. Para desativar esse recurso, este parmetro pode ser ajustado para um valor de 0xFFFF. Nesse caso, o coordenador ir escolher um valor arbitrrio para o identificador de rede, roteadores e end-devices, e esses sero capazes de entrar em qualquer rede. Observao: A topologia da rede condicionada por certos valores que so especificados no ZigBee. A profundidade mxima da rede limitada a 6. A profundidade da rede o nmero de saltos que qualquer dispositivo na rede pode estar a partir do coordenador. Cada dispositivo roteador (ou dispositivo coordenador) pode ter at 20 dispositivos filhos. Desses, 6 podem ser outros roteadores, enquanto os outros 14 s podem ser dispositivos finais. Um dispositivo final pode ser filho de mltiplos dispositivos roteadores e mover-se dentro da rede.

7.4 DISPOSITIVO PORTTIL

Dispositivos finais so normalmente portteis. Isso quer dizer que quando um desses dispositivos detecta que est impossibilitado de se comunicar com o dispositivo pai, ele vai tentar reentrar na rede como filho de outro dispositivo roteador. O processo de reentrada transparente ao processador host com a exceo que o dispositivo final vai receber um novo endereo curto quando conecta ao novo dispositivo pai. Quando o CC2480 detecta que o dispositivo pai no esta respondendo, a cada pacote poll ou ao pacote de dados da aplicao, e vai iniciar um processo de reentrada. Ele vai primeiramente escanear algum dispositivo roteador j conhecido,

36

se nenhum for encontrado, ele procurar por algum potencial roteador e reingressara na rede.

7.4.1 Opes de Configurao O nmero de falhas de comunicao consecutivas antes que o dispositivo final inicie o processo de reentrada configurado atravs do parmetro ZCD_NV_POLL_FAILURE_RETRIES. Lembrando que esse nmero inclui tanto pacote de mensagens da aplicao como pacotes de poll (se o dispositivo final estiver fazendo peridicos testes de poll de mensagem). Observao: Um dispositivo final que muda seu pai ir receber um novo endereo curto de 16 bits, isto resultar em implicaes se existirem outros dispositivos que mandem mensagens para ele, pois este mudou de endereo. Mas, normalmente dispositivos portteis so a fonte das mensagens, no sendo um problema esta troca.

7.5 RECONHECIMENTOS END-TO-END

Para mensagens sem broadcast, existem basicamente 2 tipos de mensagens de repetio: reconhecimento end-to-end (APS ACK) e o reconhecimento hop-to-hop (MAC ACK). MAC ACK so sempre ativadas por padro e geralmente so suficientes para garantir um alto grau de confiabilidade na rede. Para proporcionar uma maior confiabilidade, bem como para permitir o envio de confirmao que um pacote foi entregue ao seu destino, o reconhecimento end-to-end utilizado. O reconhecimento APS feito pela camada APS e um reconhecimento do sistema para o dispositivo destinatrio do dispositivo remetente. O dispositivo ir repetir o envio da mensagem automaticamente at que o dispositivo destinatrio envie uma mensagem APS ACK, indicando que recebeu a mensagem. Este recurso pode ser ativado ou desativado para cada mensagem enviada com a opo ZB_SEND_DATA_REQUEST ou pelo comando AF_DATA_REQUEST.

37

7.5.1 Opes de configurao As seguintes opes so fornecidas. Nmero de retransmisses end-to-end Isto controlado atravs do parmetro ZCD_NV_APS_FRAME_RETRIES. Tempo entre retransmisses Isto controlado atravs do parmetro ZCD_NV_APS_ACK_ WAIT_DURATION. Isso dever ser definido para um valor um pouco maior do que o esperado de ida e volta no tempo da rede. Note que, se o destino um dispositivo final, o tempo de envio ser muito maior uma vez que o pacote no pode ser entregue imediatamente, pois o dispositivo primeiro precisar ser acordado. Observao: O uso de funcionalidades end-to-end dar um nvel muito alto de confiabilidade para os pacotes de dados da aplicao. No entanto, existe um custo significativo em termos de uso de banda de rede, latncia e consumo de energia. Cada pacote enviado resulta em outro de confirmao para o remetente. O consumo de energia do dispositivo ser incrementado com a necessidade de ser acordado para receber o pacote de confirmao de recebimento. Assim, encorajador que os pacotes de aviso end-to-end sejam usados com moderao. Para a maioria das aplicaes, suficiente o uso ocasional (em todos os n pacotes transmitidos e no em cada pacote).

7.6 LIGAO

Um Binding uma ligao lgica entre 2 dispositivos na camada de aplicao. Bindings possibilitam uma aplicao mandar um pacote sem conhecer o endereo atual do destinatrio. Na pilha ZigBee, o dispositivo que est enviando determina o endereo do destinatrio com uma busca na tabela de Binding, e encaminha a mensagem ao dispositivo de destino (ou vrios destinos) .

38

Binding uma caracterstica opcional. possvel no utilizar Bindings se a aplicao conhecer o endereo destino (o endereo curto de 16-bits) para cada um dos pacotes de dados que ele transmite. No entanto, na maioria das aplicaes, as conexes lgicas entre dispositivos normalmente no so conhecidos at que a rede est totalmente configurada. Por exemplo, em uma rede de iluminao com mltiplos interruptores e lmpadas, no pode ser previsto antes do tempo, qual interruptor deve controlar que lmpada. O CC2480 armazena as informaes vinculativas em memria no-voltil. Ento, se existe um reset involuntrio, a informao vinculativa (juntamente com outras configuraes de rede) pode ser restaurada automaticamente sem que o usurio tenha a configurao do Bindings novamente.

7.6.1 Utilizao Criando Entradas na Tabela de Binding Antes de um dispositivo poder usar este recurso para enviar pacotes de dados, ele primeiro precisa criar entradas na tabela. Isso geralmente feito logo aps o dispositivo acessar a rede. Se o endereo completo do dispositivo destino conhecido, essa entrada pode ser adicionada na tabela de Binding do dispositivo de origem, a funo ZB_BIND_DEVICE pode ser usada para criar entradas na tabela de Binding Se o endereo completo do dispositivo no for conhecido, uma estratgia de "push button" pode ser utilizada. Neste caso, o dispositivo de destino primeiro colocado em um estado onde ele ir responder s solicitaes corresponder ao executar o comando ZB_ALLOW_BIND. Ento o comando ZB_BIND_DEVICE executado no dispositivo de origem com um endereo nulo como destino.O dispositivo de origem ir, em seguida, transmitir uma mensagem de requisio para todos os dispositivos e todos os dispositivos que estiverem no modo "ALLOW BIND" iro responder. O dispositivo de origem vai ento criar uma tabela vinculando o dispositivo que respondeu a mensagem com o seu endereo completo (se mais de dispositivo responder, apenas o primeiro deles ser adicionado tabela). Utilizando entradas da Tabela de Binding Ao enviar um pacote de dados, o endereo de destino deve ser definido para um valor especial de 0xFFFE para indicar ao CC2480 que uma pesquisa deve

39

ser efetuada na tabela (com base no comando id ou cluster id) para designar o endereo(s) de destino real.

7.7 SEGURANA

O protocolo Zigbee oferece segurana a rede usando blocos AES de 128 bits e o modo de operao CCM como instrumento primitivo de segurana. Os algoritmos de segurana AES/CCM foram desenvolvidos por pesquisadores externos da ZigBee Alliance e so tambm muito utilizados em outros protocolos de comunicao. O mecanismo de segurana contido no protocolo ZigBee fornece as seguintes funes: Privacidade: A mensagem da aplicao encriptada, s podendo ser lido pelo destinatrio. Integridade da mensagem: A mensagem da aplicao protegida com uma checagem de integridade, prevenindo assim que a mensagem seja modificada. O Controle de acesso: O dispositivo dever possuir a chave de rede para poder integra-la e receber pacotes. CC2480 possui o motor AES no hardware e pode aplic-lo automaticamente, se estiver habilitado.

7.7.1 Opes de configurao Habilitando a segurana Para habilitar ou desabilitar a segurana, usa-se o parmetro de configurao ZCD_NV_SECURITY_MODE. Distribuio de chave Existem dois caminhos para distribuir a chave de segurana na rede. A chave pode ser pr-configurada em todos os dispositivos na rede, ou pode ser prconfigurada somente nos dispositivos coordenadores e distribuda para todos os outros dispositivos na rede pela prpria rede. Sendo esse um momento de vulnerabilidade, pois um dispositivo atacante pode conseguir a chave.

40

opo

de

distribuio

da

chave

selecionada

no

parmetro

ZCD_NV_PRECFGKEYS_ENABLE.

7.7.2 Chave A chave real que ser utilizada para segurana configurada atravs do parmetro ZCD_NV_PRECFGKEY. Dependendo do parmetro ZCD_NV_PRECFGKEYS_ENABLE, este parmetro deve ser configurado em todos os dispositivos na rede (para o mesmo valor) ou pr-configurado nos coordenadores.

41

8 DESENVOLVIMENTO DO TRABALHO

Para fazer toda a programao do microcontrolador foi utilizada a verso Freeware do IAR Embedded Workbench que um IDE (Integrated Development Environment - Ambiente Integrado de Desenvolvimento), composto de um editor de arquivos, montador assembly, compilador C e C++, ligador, simulador e emulador. Isso significa que foi necessria apenas uma ferramenta de software para todo o processo de desenvolvimento utilizando microcontroladores MSP430. Este ambiente estruturado em workspaces ou espaos de trabalho que so mdulos que podem agregar um ou mais projetos. Um projeto pode conter um ou mais arquivos de cdigos fonte, utilizados para gerar um arquivo binrio que ser utilizado na simulao e programao do microcontrolador. Como j foi abordado anteriormente, o Z-Accel da Texas Instruments visa separar o cdigo da aplicao dos componentes de rede, assim sendo, j utilizando as rotinas de inicializao ou entrada na rede foi necessrio criar uma aplicao para demonstrar o envio e a recepo dos dados. Foi includa a rotina de leitura dos sensores e preparao do pacote para envio dos dados no momento que o microcontrolador recebe uma interrupo e sai do seu estado de sleep. A interrupo pode ser gerada por timer (em intervalos de tempo pr-definidos no cdigo), por interveno do usurio (pressionando o boto localizado na placa) ou ao receber um pacote de requisio vindo do n coordenador.

42

Imagem 8.1: Fluxograma de implementao de um n FFD

Esse esquema mostra o ciclo de operao do n desde a inicializao do Hardware, at a fase de entrar em modo de economia de energia e acordar somente para enviar os dados captados pelos sensores, ou caso seja o coordenador da rede, ficar em modo ativo, gerenciando atribuies de endereos e recebendo os dados vindo dos dispositivos finais. E logo abaixo, uma explicao mais aprofundada no modo de operao de um n RFD que responsvel pela leitura dos sensores atravs de conversores Analgico/Digital internos do Microcontrolador e envio dos dados, ficando em modo econmico para poupar bateria.

43

Imagem 8.2: Fluxograma de implementao de um n RFD em modo Econmico

Aps toda a parte de escolha do hardware, programao da pilha Zigbee e da implementao da aplicao, os dados que o n coordenador est recebendo tem que ser visualizados. Para isso, foram feitas algumas modificaes no programa da Texas que visualiza dados da serial para atender nossas necessidades. Foi utilizado o programa Visual C++ da Microsoft junto com o QT da Trolltech que um sistema multiplataforma para desenvolvimento de programas de interface grfica. A figura abaixo mostra a interface do programa, com o n central sendo o coordenador da rede, e os demais ns sendo os dispositivos finais, mostrando o ultimo dado recebido deles. Tem-se o endereo curto do dispositivo, a leitura do sensor de temperatura, a leitura do sensor de luz (mostrado em porcentagem para facilitar o entendimento), a leitura da tenso da bateria e a hora em que foi recebido o pacote. Cada pacote recebido tambm armazenado em um arquivo de log, caso

44

queira fazer um acompanhamento de todos os dados recebidos durante o tempo em que o programa estava aberto. Na barra de atalhos tem-se a lista das portas seriais do computador, e 2 botes: Iniciar e Parar. Para comear a capturar os dados vindos da porta serial escolhida e parar a leitura dos dados.

Imagem 8.3: Coordenador conectado, mas captura ainda no inicializada

Imagem 8.4: Captura da COM4 iniciada, apenas 1 n conectado

45

Imagem 8.5: Programa recebendo os dados dos 2 dispositivos finais

Temos tambm um programa chamado Z-Tool disponibilizado pela Texas Instruments, para testes de redes Zigbee, ele utiliza o padro RS-232 para se comunicar com a placa e utilizar de alguns comandos para configurar a rede. Esse programa permite maior controle da placa conectada ao computador, podendo adicionar entrada na tabela de Binding, enviar dados, ver informaes de qualquer n da rede, etc. Porm no um aplicativo de fcil manuseio, como j foi dito, ele serve para testes e debug.

46

Imagem 8.6: Z-Tool

47

9 CONCLUSES E DESENVOLVIMENTOS FUTUROS

O objetivo de implementar e estudar a comunicao Zigbee em sistemas embarcados foi atingido com sucesso. No funcionamento como planejado os ns sensores adquirem os dados, enviam para o n central e os dados so mostrados na tela de um PC, para fcil visualizao. Como o kit de desenvolvimento da Texas foi otimizado visando o tamanho da placa, e no visando alcance do sinal, resultados encontrados nesse trabalho no condizem com reais alcances da rede Zigbee. Como os microcontroladores dos ns sensores, no ficam em estado ativo todo o tempo, quanto maior o tempo de intervalo entre as leituras, maior o tempo de vida da bateria, que pode inclusive chegar a anos. Ficou bem claro que, mesmo sendo um padro com baixa taxa de transferncia, as aplicaes de sensoriamento e controle no excedem esse limite de 250kbps, sendo assim um padro ideal para controle industrial, mdico, residencial e qualquer outro objetivo que tenha pequenas taxas de transferncias. O Z-Accel da Texas Instruments se mostrou de grande ajuda para criao de novos projetos utilizando a tecnologia Zigbee ou a introduo dessa tecnologia em projetos j existentes, poupando alguns meses necessrios para implementao de todo protocolo Zigbee e assim o projetista pode disponibilizar seu produto mais rapidamente no mercado. Como o custo para montagem de uma dessas placas relativamente baixo (Microcontrolador MSP430 US$ 8, Transmissor CC2480 US$ 8, Bateria US$ 2, demais componentes US$ 3), uma soluo altamente vivel para automaes industriais e residenciais. J que o mercado est se adaptando tecnologia wireless, um prximo trabalho poderia criar algum controle totalmente base da tecnologia Zigbee, seja na automao residencial, ou em outros ramos como medidores de energia, gua ou gs individualizados em apartamentos, e centrais que renam essas informaes. Um aspecto importante envolvendo a comunicao de sensores na industria que o rudo e as interferncias no foi analizado por no ser o objetivo desse trabalho ficando como sugesto para trabalhos futuros que possam ser realizados nesta rea

48

REFERNCIAS

AXELSON, Jan; Embedded Ethernet and Internet Complete. Lakeview Research, Madison USA, 2003. BEHZAD, Aya; Wireless Lan Radios. System Definition to Transistor Design. Ed. Willey, New Jersey USA, 2007. IEEE-STANDARDS. (2008). IEEE Standard 802.15.4. [S.1.], Outubro 2003. 1-679 p. JOHNSON, Thienne M. Redes de Sensores Sem Fio. 16-04-08 Disponvel em: <http://j2me.datamazon.com/index.php?option=com_content&task=view&id=125&Ite mid=59> Acesso em: 05 jun. 2008 LABIOD, Houda; AFIFI, Hossam; SANTIS, Constantino. Wi-Fi, Bluethoot, ZigBee and WiMax. 1 ed. Holanda: Spriger, 2007. MOKARZEL, Marcos Perez; CARNEIRO, Karina Perez Mokarzel; Internet Embedded TCP/IP para MCU. 1 ed. So Paulo: rica, 2004. MONSIGNORE, Fernando. Sensoriamento de Ambiente Utilizando o padro Zigbee. 2007. Dissertao (Mestrado) Escola de Engenharia de So Carlos, Universidade de So Paulo, 2007. PEREIRA, Fbio. Microcontroladores MSP430: Teoria e Prtica. 1 ed. So Paulo: rica, 2005. PINHEIRO, Jos Mauricio. As Redes com ZigBee. Projeto de Redes, Brasil, jul. 2004. Disponvel em: < http://www.projetoderedes.com.br/artigos/artigo_zigbee.php >. Acesso em: 29 fev. 2008. RICARDO, Claudia Arezio. Redes de Sensores: ZigBee. Brasil, dez. 2006. Disponvel em: <http://www.ppgia.pucpr.br/~jamhour/Download/pub/Mestrado%202006/ZigBee_Cla udia.pdf >. Acesso em 25 mar. 2008. SILVA, Andr Teixeira. Mdulos de Comunicao Wireless para Sensores. 2007. Projeto Final de Curso Faculdade de Engenharia da Universidade do Porto, Portugal, 2007. SILVA, Rafael Luiz da. Medidor de Energia Eltrica de Baixo Custo. 2007. Centro Federal de Educao Tecnolgica de Santa Catarina, 2007. SOHRABY, Kazem; MINOLI, Daniel; ZNATI, Taieb. Wireless Sensor Networks. Technology, Protocols and Applications. Ed. Willey, New Jersey USA, 2007

49

TANENBAUM, Andrew S.; Redes de Computadores. 4 ed. So Paulo: Campus, 2003. TEXAS INSTRUMENTS. CC2480. Data Sheet. Texas USA, 2008. TEXAS INSTRUMENTS. CC2480 Developers Guide. Low-Power RF. Texas USA, 2008. TEXAS INSTRUMENTS. eZ430-RF2480 Users Guide. Low-Power RF. Texas USA, 2008. TEXAS INSTRUMENTS. MSP430x2xx Family. Mixed Signal Products. Texas USA, 2008. ZIGBEE-ALLIANCE. (2008). Disponvel em: < http://zigbee.org/ > . Acesso em: 26 de jun. 2008.

50

APNDICE A Cdigo da funo principal do MSP430 Cdigo da funo principal do MSP430, inicializando primeiramente o Hardware, em seguida o Z-Accel, caso esteja ligado pela USB, inicializa o Monitor Tool e depois roda a aplicao, caso todos os eventos (Hardware e Z-Accel) forem processados, o microcontrolador pode entrar em modo econmico.
void main() { halBoardInit(); ioInit(); halMcuInit(); halTimerInit(); halSPIInit(); #if HOST_MT halUARTInit(); #endif zaccelInit(); #if HOST_MT mtInit(); #endif appInit(); for (;;) { /* Prioriza os eventos do Hardware para manter a performance quase em tempo-real. * Depois que todos os eventos de hardware forem executados, executa os eventos do ZAccel.*/ if (!appExecHal()) { /* Se todos os eventos de Hardware e Z-Accel forem processados, o microcontrolador est pronto para entrar em modo economico.*/ if (!appExecHost() && (appFlags & appLowPwrF)) { HAL_LOW_POWER_MODE(); } } } }

51

APNDICE B Pilha Zigbee Parte do cdigo da pilha Zigbee, mostrando algumas configuraes que devem ser feitas.

#define APP_BLINK_LEDS #define APP_BLINK_INTERVAL #define APP_BLINK_ON_TIME

TRUE // Ativa o display de Status por LED. 1 // Pisca 1-Hz. 1 // Ciclo ativo em 1 ms.

/* Esses tempos de tentative de entrada devem ser proporcionais ao numero de canais adcionados varivel ZACCEL_NV_CHANLIST. * Quanto maior o numero de canais que o dispositivo tera que procurer, maior tambem o tempo que o dispositivo tera que esperar. Esses valores so descobertos por meio de testes */ #define APP_JOIN_TIME #define APP_JOIN_WAIT #define APP_BIND_TIME #define APP_BIND_WAIT #define APP_PMT_BIND #define APP_DENY_BIND #define APP_PMT_JOIN #define APP_DENY_JOIN 6 30 10 30 0xFF 0x00 0xFF 0x00 // Tentativa de conexo durante 6s. // 30s em espera antes de re-tentar conectar. // Tentativa de criao da tabela de bind durante 10s. // 30s em espera antes de re-tentar criar tabela de bind // Permitir binding indefinidamente. // Negar binding indefinidamente. // Permitir conexo indefinidamente. // Negar conexo indefinidamente. 10 // 10s entre transmisses de leitura dos

#define APP_REPORT_INTERVAL sensores. #define APP_REPORT_RETRY 2 #define APP_RETRY_CNT #define APP_DATA_CNF

// 2s entre re-tentativas quando ack no for recebido. 3 // Nmero de re-tentativas. TRUE // Requisio de confirmao dos dados.

52

APNDICE C Rotina de leitura dos sensores Rotina implementada para a leitura dos sensores de Temperatura, Voltagem e Luminosidade utilizando conversores A/D de 10 bits e preparao do pacote para ser enviado.
// Rotina de leitura do sensor de temperatura appFlags |= appTempF; halReadTemp(); break; case appTempF: // Medio da Temperatura. appFlags &= ~appTempF; // oC = ((A10/1024)*1500mV)-986mV)*1/3.55mV = A10*423/1024 - 278 srceReport[SRCE_REPORT_TEMP] = ((halAdcVal - 673) * 423) / 1024; // Rotina de leitura do sensor de tenso da bateria. appFlags |= appBusVF; halReadBusV(); break; case appBusVF: // Medio da Voltagem. appFlags &= ~appBusVF; /* halAdcVal contem medio do AVcc/2 * o valor do halAdcVal esta entre 0 a 1023 indicando voltagem de 0 a 1.5V * Voltagem = (halAdcVal*2*1.5)/1023 volts * esse valor sera multiplicado por 10 para ter unidades de 0.1 volts */ tmp = (halAdcVal * 30 + 512) / 1024; // Convert to units of 0.1V srceReport[SRCE_REPORT_BUSV] = (uint8)tmp; // Rotina de leitura do sensor de Luminosidade. appFlags |= appLightSensorVF; halReadLightSensorV(); break; case appLightSensorVF: // Medio da Luminosidade. appFlags &= ~appLightSensorVF; /* halAdcVal contem a medio do pino P2.0 (A0) * o valor do halAdcVal esta entre 0 a 1023 indicando voltagem de 0 a 2.5V * voltage = (halAdcVal*2.5)/1023 volts * esse valor sera multiplicado por 10 para ter unidades de 0.1 volts */ tmp = (halAdcVal * 30 + 512) / 1024; // Convert to units of 0.1V srceReport[SRCE_REPORT_LightSensorV] = (uint8)tmp;

53

ANEXO A Diagrama esquemtico do Target Board eZ430-RF2480