FACULDADE DE ENGENHARIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA THIAGO DE ALMEIDA OLIVEIRA REDES DINÂMICAS DE SENSORES SEM FIO ZIGBEE PARA APLICAÇÕES DE MONITORAMENTO E CONTROLE BAURU/SP 2015 THIAGO DE ALMEIDA OLIVEIRA REDES DINÂMICAS DE SENSORES SEM FIO ZIGBEE PARA APLICAÇÕES DE MONITORAMENTO E CONTROLE Dissertação submetida à Faculdade de Engenharia de Bauru UNESP como parte dos requisitos exigidos para a obtenção do título de Mestre em Engenharia Elétrica. Orientador: Prof. Dr. Eduardo Paciência Godoy BAURU/SP 2015 Oliveira, Thiago de Almeida. Redes Dinâmicas de Sensores Sem Fio ZigBee para Aplicações de Monitoramento e Controle / Thiago de Almeida Oliveira, 2015 117 f. Orientador: Eduardo Paciência Godoy Dissertação (Mestrado)–Universidade Estadual Paulista. Faculdade de Engenharia, Bauru, 2015 1. Redes Dinâmicas de Sensores Sem Fio 2.Protocolo ZigBee I. Universidade Estadual Paulista. Faculdade de Engenharia. II. Título. A meus pais, Pelos ensinamentos, E por todo amor, Dedico. AGRADECIMENTOS Ao Grande Arquiteto do Universo, pelo presente da vida. Sou muito grato à minha família. Agradeço aos meus pais, Antonio e Thaís, que não mediram esforços pela criação de seus filhos, educação, disciplina, perseverança, e com a humildade do ser, me ensinaram a ousar e questionar. Aos meus irmãos, Diogo e Netto, com quem aprendi a alegria de viver. Ao carinho e amor de minha namorada Mariane. Agradeço ao Prof. Dr. Eduardo Paciência Godoy pelas portas abertas a condução deste trabalho, pela confiança, instruções, incansáveis revisões e orientações. Aos professores Dr. Ivando Diniz e Dr. Everson Martins, pelos questionamentos e contribuições durante o exame de qualificação, e ensinamentos nos tempos de graduação. Aos demais professores e amigos da UNESP, sempre agregando conhecimentos ao trabalho acadêmico e ao crescimento pessoal daqueles que por ali tem a oportunidade de caminhar. A Marinha do Brasil, adsumus! “Se enxerguei mais longe, Foi porque me apoiei sobre os ombros de gigantes. ” Sir Isaac Newton (1643-1727) "All of our knowledge has its origins in our perceptions." Leonard da Vinci (1452 – 1519) RESUMO Orientador: Prof. Dr. Eduardo Paciência Godoy. Área de Concentração: Mecatrônica. Número de páginas: 117 Nos últimos anos, a tecnologia de Rede de Sensores Sem Fio (RSSF) tem atraído crescente atenção dos meios acadêmico e industrial devido a seu enorme potencial em diversos campos de aplicação. Atualmente, em grande parte dos estudos em RSSFs, a rede é assumida a abranger um grande número de dispositivos sensores estáticos dispersos sobre uma área de interesse, formando uma rede de comunicação com área de cobertura fixa. Como uma extensão de capacidades de RSSFs, a mobilidade de componentes e dinamismo da rede apresentam uma interessante nova cadeia de aplicações, definida neste trabalho como Rede Dinâmica de Sensores Sem Fio (RDSSF). O desafio inicial das RDSSFs é analisar se esta dinâmica imposta à rede será suportada, uma vez que o protocolo de rede usado deve atender os requisitos para estas novas aplicações, como formação de rede e auto-organização, gerenciamento de comunicação com frequentes entradas e saídas de dispositivos da rede, descoberta de rotas de transmissão de dados com a mobilidade dos nós, entre outras características. Visando superar estes obstáculos, protocolos específicos de comunicação sem fio têm sido desenvolvidos para atender aplicações com mobilidade de dispositivos em RSSFs. Entretanto, estes protocolos específicos limitam o desenvolvimento de RDSSFs por se tratar de soluções pontuais e proprietárias ao invés de se utilizar um protocolo padronizado para interoperabilidade. Neste contexto, este trabalho apresenta uma análise de viabilidade de utilização do protocolo ZigBee em aplicações de RDSSF. Um levantamento de características e requisitos de aplicação, bem como uma discussão das vantagens e limitações relativos à adoção do protocolo ZigBee em RDSSFs são apresentados. Uma metodologia de projeto e desenvolvimento de RDSSF ZigBee é proposta com a finalidade de auxiliar em novas aplicações desta tecnologia. Além disso, uma validação experimental desta metodologia é realizada através da implementação real de uma RDSSF utilizando dispositivos com o protocolo ZigBee. Palavras-chaves: Redes Dinâmicas de Sensores Sem Fio; Protocolo ZigBee; ABSTRACT Advisor: Prof. Dr. Eduardo Paciência Godoy. Concentration Area: Mechatronics. Number of Pages: 117 The Wireless Sensor Network (WSN) technology has attracted increasing attention considering its potential in many application fields. In most studies on WSNs, the network is assumed to cover a large number of static devices over a fixed coverage area. As an extension of WSN capabilities, the devices mobility and network dynamism provide a new chain of interesting applications defined as Wireless Dynamic Sensor Network (WDSN). The initial challenge in WDSN is to investigate whether this dynamic imposed on the network will be supported, once the used network protocol must meet the requirements for WDSN applications such as network formation and self-organization, communication management with the input and output devices on the network, route discovery and data transmission with node mobility, among other characteristics. In order to overcome these issues, specific wireless protocols have been developed to meet applications with devices mobility in WSN. However, these specific protocols limit the development of WSN since they are isolated and proprietary solutions, instead of using a standardized protocol for interoperability. In this context, this work presents a feasibility analysis of ZigBee protocol for WDSN applications. A survey of application features and requirements, as well as a discussion of advantages and limitations, regarding adoption of the ZigBee protocol in WDSN are presented. A design and development methodology of ZigBee WDSN is proposed in order to assist in new applications of this technology. Furthermore, an experimental validation using ZigBee protocol devices proves the WDSN potential. Keywords: Wireless Dynamic Sensor Networks; ZigBee Protocol; LISTA DE FIGURAS Figura 2.1 - Monitoramento ambiental com RSSF. .......................................... 28 Figura 2.2 - Comparação das camadas IEEE 802.15.4 utilizadas em relação ao modelo de referência ISO/OSI. ........................................................................ 29 Figura 2.3 - Canais de frequência no protocolo IEEE 802.15.4........................ 31 Figura 2.4 - Padrão 802.15.4 e a Camada de Controle de Acesso ao Meio. ... 32 Figura 2.5 – ZigBee Alliance. ........................................................................... 33 Figura 2.6 - Comparação das camadas dos protocolos IEEE 802.15.4 e ZigBee utilizadas em relação ao modelo de referência ISO/OSI. ................................. 34 Figura 2.7 - Camada de aplicação definida pelo padrão ZigBee. ..................... 35 Figura 3.1 – Modelo de rede multi-hop many-to-one. ....................................... 37 Figura 3.2 – Modelo de RDSSF com nó coordenador móvel e comunicação single-hop. ........................................................................................................ 39 Figura 3.3 – RDSSF militar............................................................................... 39 Figura 3.4 - Visão do sistema de monitoramento proposto Barrientos et al. [20]. .................................................................................................................. 41 Figura 3.5 – Exemplo de rede VANET [4]. ....................................................... 43 Figura 3.6 – Large Scale Wireless Sensor Network for Tactical Military Applications. ..................................................................................................... 44 Figura 4.1 – Topologia Estrela. ........................................................................ 51 Figura 4.2 – Topologia Mesh. ........................................................................... 52 Figura 4.3 – Descoberta de rota. ...................................................................... 56 Figura 4.4 – Distribuição do frame RREQ do nó coordenador para seus nós vizinhos. ........................................................................................................... 57 Figura 4.5 – Descoberta de rota - Propagação do frame RREQ. ..................... 58 Figura 4.6 – Definição da descoberta de rota................................................... 59 Figura 4.7 – Canais de operação ZigBee 2,4 GHz. .......................................... 60 Figura 4.8 – Diagrama esquemático de formação de redes ZigBee. ............... 61 Figura 4.9 – Diagrama esquemático de descoberta de redes ZigBee. ............. 62 Figura 4.10 – Diagrama esquemático de ingresso de redes ZigBee visto pelo nó filho. .................................................................................................................. 64 Figura 4.11 – Diagrama esquemático de ingresso de redes ZigBee visto pelo nó pai. ................................................................................................................... 65 Figura 5.1 – Estrutura de RDSSF ZigBee com modelo de comunicações ponto- a-ponto. ............................................................................................................ 74 Figura 5.2 – Estrutura generalizada de dispositivos de aquisição de dados (ZEDs) .............................................................................................................. 74 Figura 5.3 – Modo sleep cíclico não-estendido. ............................................... 76 Figura 5.4 – Fluxograma de operação do ZED sem estrutura microcontrolada em RDSSF com comunicações ponto-a-ponto. ..................................................... 77 Figura 5.6 – Fluxograma de operação do ZED com estrutura microcontrolada em RDSSF com comunicações ponto-a-ponto. ..................................................... 80 Figura 5.7 – Estrutura generalizada de dispositivos coletores. ........................ 80 Figura 5.8 – Fluxograma de operação do ZC em RDSSF com comunicações ponto-a-ponto. .................................................................................................. 83 Figura 5.9 – Diagrama de operação de RDSSF com comunicações ponto-a- ponto sem estrutura de armazenamento. ......................................................... 83 Figura 5.10 – Diagrama de operação de RDSSF com comunicações ponto-a- ponto com estrutura de armazenamento. ......................................................... 84 Figura 6.1 – Rede inteligente de leituras residenciais. ..................................... 87 Figura 6.2 – Dispositivo ZED com Arduino – montagem e esquema de conexão. ........................................................................................................... 89 Figura 6.3 – Estrutura do ZC e PC de supervisão dispostos em um veículo. .. 92 Figura 6.4 – Layout de conexão do ZC. ........................................................... 92 Figura 6.5 – Tela principal de interface ao usuário do sistema de supervisão. 94 Figura 6.6 – Trajeto planejado do ZC e distribuição dos ZEDs. ....................... 95 Figura 6.7 – Sistema de supervisão – Tela de coleta de dados por residência. ........................................................................................................ 98 Figura 6.8 – Análise do tempo admissível para transmissão de dados ao ZC. ................................................................................................................. 100 Figura 6.10 – Cálculo analítico do tempo total admissível para transmissão de dados ao ZC considerando menor distância entre ZC e ZED em 100 m. ...... 103 Figura 6.11 – Cálculo analítico do tempo total admissível para transmissão de dados ao ZC considerando menor distância entre ZC e ZED em 300 m. ...... 104 LISTA DE TABELAS Tabela 2.1 - Canais de frequência no protocolo IEEE 802.15.4. ...................... 30 Tabela 4.2 – Visão geral da análise de viabilidade de aplicação do protocolo ZigBee em RDSSFs. ........................................................................................ 68 Tabela 6.1 – Parametrização dos ZED XBee. .................................................. 90 Tabela 6.2 – Parametrização do ZC XBee. ...................................................... 93 Tabela 6.3 – Cálculo analítico do tempo total admissível para transmissão de dados ao ZC considerando menor distância entre ZC e ZED em 0 m. .......... 102 Tabela 6.4 – Cálculo analítico do tempo total admissível para transmissão de dados ao ZC considerando menor distância entre ZC e ZED em 100 m. ...... 102 Tabela 6.5 – Cálculo analítico do tempo total admissível para transmissão de dados ao ZC considerando menor distância entre ZC e ZED em 300 m. ...... 102 LISTA DE ABREVIATURAS ACK Acknowledge AED Advanced Encryption Standard AODV Ad Hoc On-Demand Distance Vector API Application Programming Interface, Modo de Aplicação por Interface de Programação APL Camada de Aplicação AT Appication Transparent, Modo Transparente CSMA/CA Carrier sense multiple access with collision avoidance CH Operating Channel DARPA Defense Advanced Research Projects Agency DIN Digital Input DL Destination Address Low DH Destination Address High DOUT Digital Output DSN Distributed Sensor Networks DSSS Espalhamento Espectral de Sequência Direta FFD Full Function Device ID Identificação da Rede Pessoal IEEE Institute of Electrical and Electronics Engineers IFS Interframe Spacing Time IHM Interface Homem-Máquina IR IO Sampling Rate ISM Industrial, Scientific and Medical radio bands ISO/OSI International Organization for Standardization - Open Systems Interconnection KY Encryption Key LR-WPAN Low-Rate Wireless Personal Area Network MAC Camada de Controle de Acesso ao Meio MANET Mobile Ad-hoc Networks MWSN Mobile Wireless Sensor Networks NI Node Identifier NJ Node Join Time NWK Camada de Rede PAN Personal Area Network PHY Camada Física RDSSF Redes Dinâmicas de Sensores Sem Fio RFD Reduced Function Device RSSF Redes de Sensores Sem Fio RREP Route Reply RREQ Route Request SM Sleep Mode SN Number of Sleep Cycles SO Sleep Options SP Cyclic Sleep Period ST Time Before Sleep UART Universal Asynchronous Receiver/Transmitter VANET Vehicular Ad-hoc Network VI Virtual Instrument XBIB XBee Interface Board ZC ZigBee Coordinator ZDO ZigBee Device Object ZED Zig End-Device ZR ZigBee Router 21 SUMÁRIO 1. INTRODUÇÃO ............................................................................................. 23 1.1. Objetivos .............................................................................................. 23 1.2. Motivação ............................................................................................. 23 1.3. Estrutura e Conteúdo.......................................................................... 24 2. REDES DE SENSORES SEM FIO E PROTOCOLO ZIGBEE ..................... 27 2.1. Considerações Iniciais ....................................................................... 27 2.2. Redes de Sensores Sem Fio .............................................................. 27 2.3. Protocolo IEEE 802.15.4 ..................................................................... 28 2.3.1. Camada Física (PHY) ................................................................... 29 2.3.2. Camada de Controle de Acesso ao Meio (MAC) ....................... 31 2.4. Protocolo ZigBee ................................................................................ 32 2.4.1. Camada de Rede (NWK) .............................................................. 34 2.4.2. Camada de Aplicação (APL) ....................................................... 35 2.5. Considerações Finais ......................................................................... 36 3. REDES DINÂMICAS DE SENSORES SEM FIO ......................................... 37 3.1. Considerações Iniciais ....................................................................... 37 3.2. Histórico e Revisão Conceitual .......................................................... 37 3.3. Campo de Aplicação ........................................................................... 39 3.4. Classificação ....................................................................................... 40 3.4.1. RDSSF com Coordenador Móvel ................................................ 41 3.4.2. RDSSF com Nós Sensores Móveis ............................................ 42 3.4.3. RDSSF com Mobilidade Híbrida ................................................. 44 3.5. Considerações Finais ......................................................................... 45 4. ANÁLISE DA VIABILIDADE DE APLICAÇÃO ZIGBEE EM RDSSF .......... 47 4.1. Considerações Iniciais ....................................................................... 47 4.2. Necessidades Funcionais de RDSSFs .............................................. 47 4.3. Funcionalidades do Protocolo ZigBee .............................................. 49 4.3.1. Tipos de Dispositivos .................................................................. 49 4.3.2. Topologias de Rede e Associações Permitidas ........................ 51 4.3.3. Gerenciamento de Energia .......................................................... 53 4.3.4. Confiabilidade .............................................................................. 54 4.3.5. Roteamento .................................................................................. 56 4.3.6. Formação de Rede ....................................................................... 59 4.3.8. Descoberta de Rede .................................................................... 61 4.3.9. Ingresso a Rede ........................................................................... 63 4.4. Análise ................................................................................................. 65 4.5. Considerações Finais ......................................................................... 69 5. METODOLOGIA DE APLICAÇÃO ZIGBEE EM RDSSF ............................ 71 5.1. Considerações Iniciais ....................................................................... 71 5.2. Visão Geral .......................................................................................... 71 5.3. Modelo em comunicações ponto-a-ponto ........................................ 72 5.3.1. Dispositivos de Aquisição de Dados (ZEDs) ............................. 74 5.3.2. Dispositivos Coletores - ZC ........................................................ 80 5.3.3. Síntese .......................................................................................... 83 5.4. Considerações Finais ......................................................................... 85 6. DESENVOLVIMENTO EXPERIMENTAL E RESULTADOS ....................... 87 6.1. Considerações Iniciais ....................................................................... 87 6.2. Rede Inteligente de Coleta de Leituras Residenciais....................... 87 6.2.1. Dispositivos Sensores (ZEDs) .................................................... 88 6.2.2. Dispositivo Coletor (ZC) .............................................................. 91 6.2.3. Validação Experimental ............................................................... 95 6.2.4. Tempo de coleta de dados admissível (analítico) ..................... 99 6.2.5. Resultados e Síntese ................................................................. 104 6.3. Considerações finais ........................................................................ 106 7. CONCLUSÕES .......................................................................................... 107 8. REFERÊNCIAS BIBLIOGRÁFICAS .......................................................... 111 23 1. INTRODUÇÃO 1.1. Objetivos Este trabalho propõe o estudo aprofundado de uma tecnologia emergente denominada Redes Dinâmicas de Sensores Sem Fio (RDSSF) com o objetivo de realizar a análise de viabilidade de aplicação do protocolo ZigBee em RDSSFs, desenvolver uma metodologia de projeto e desenvolvimento de redes ZigBee dinâmicas e realizar uma validação experimental desta metodologia através da implementação real de uma RDSSF utilizando dispositivos com o protocolo ZigBee. 1.2. Motivação A proposta de conciliar uma tecnologia emergente com um protocolo promissor gera uma cadeia de facilidades e benefícios no campo de aplicações de Redes de Sensores Sem Fio (RSSF). Apesar da proposta inicial de RSSFs ter sido baseada em redes de sensores distribuídos estaticamente [1], a grande difusão e benefícios de aplicação destas redes permitiram o estudo de novas aplicações de RSSF com mobilidade dos componentes [2]. Nestas novas aplicações quebra-se o paradigma de limitação de área de cobertura das RSSFs estáticas, permitindo assim a exploração da tecnologia de Redes de Sensores Sem Fio de baixo custo e potência em grandes áreas e em uma nova gama de aplicações [2]. Os principais desafios enfrentados no desenvolvimento desta vertente dinâmica de RSSFs, como será apresentado no trabalho, giram em torno do dinamismo da rede gerado pela mobilidade de seus componentes [3]: entrada e saída frequente de dispositivos da rede; ausência de comunicação de dispositivos por um período elevado; confiabilidade na entrega de pacotes de dados; reestruturação constante da topologia de rede, entre outros desafios. Visando superar estes desafios, protocolos específicos de comunicação sem fio têm sido desenvolvidos para atender aplicações no conceito de mobilidade em Redes de Sensores Sem Fio [4]. Entretanto, estes protocolos específicos desenvolvidos para cada aplicação geram maior complexidade no desenvolvimento da aplicação por se tratar de soluções pontuais e proprietárias 24 ao invés de se utilizar um protocolo padronizado, de grande aceitação, e que possa trazer flexibilidade para adaptação na aplicação. Dentro do contexto apresentado, o protocolo ZigBee representa um padrão mundial de redes sem fio de grande aceitação e aplicação em diversas áreas [5], tornando-se relevante a análise da viabilidade de aplicação deste protocolo dentro do contexto de RDSSF, verificando seus benefícios, limitações e potencial de aplicação do protocolo ZigBee em RDSSF. Por fim, em conjunto com a análise de viabilidade, torna-se necessário também a definição de uma metodologia generalizada de projeto e implementação de RDSSF com a aplicação do protocolo ZigBee, criando um guia de desenvolvimento de aplicações em RDSSF por meio de dispositivos ZigBee. 1.3. Estrutura e Conteúdo A estrutura do trabalho ficou dividida em 7 capítulos, considerando aqui esta introdução, e desconsiderando as referências bibliográficas. O capítulo 2 realiza o embasamento bibliográfico inicial do trabalho, abordando o conceito de Redes de Sensores Sem Fio, seu histórico, desenvolvimento, definições e características, bem como é apresentado o surgimento do protocolo ZigBee e sua definição através de suas camadas. O capítulo 3 traz a continuação do embasamento bibliográfico que complementa o trabalho, apresentando uma revisão conceitual de Redes Dinâmicas de Sensores Sem Fio, conceitos e desafios inerentes a aplicação, e uma classificação de RDSSF de acordo com a mobilidade dos dispositivos na rede, com exemplificação de trabalhos desenvolvidos na área. O capítulo 4 apresenta o estudo aprofundado do ZigBee visando analisar a viabilidade de aplicação deste protocolo em Redes Dinâmicas de Sensores Sem Fio. São verificadas as principais características presentes nas camadas do protocolo de modo a analisar as vantagens e desvantagens de se utilizar o ZigBee na vertente dinâmica de Redes de Sensores Sem Fio. O capítulo 5 desenvolve uma metodologia de aplicação do protocolo ZigBee em RDSSF, criando uma base teórica generalizada de se utilizar 25 módulos ZigBee em diversas aplicações de sensores sem fio que apresentem mobilidade dos componentes na rede. O capítulo 6 apresenta uma validação experimental da metodologia proposta no capítulo 5, de maneira a desenvolver uma aplicação de RDSSF prática e validar os conceitos propostos. Por fim, o capítulo 7 traz as conclusões obtidas no trabalho, bem como apresenta as considerações finais. 27 2. REDES DE SENSORES SEM FIO E PROTOCOLO ZIGBEE 2.1. Considerações Iniciais Neste capítulo é apresentado o embasamento bibliográfico inicial do trabalho. O histórico do surgimento de Redes de Sensores Sem Fio, seu desenvolvimento, definições e principais características são apresentados. A necessidade de padronização de um protocolo de comunicação para Redes de Sensores Sem Fio, a criação dos protocolos IEEE 802.15.4 e ZigBee, e a definição de suas camadas também são abordadas neste capítulo. 2.2. Redes de Sensores Sem Fio A origem da pesquisa em Redes de Sensores Sem Fio (RSSF) remonta ao programa de Redes de Sensores Distribuídos (DSN – Distributed Sensor Networks) na Agência de Projetos de Pesquisa Avançada de Defesa (DARPA - Defense Advanced Research Projects Agency), Estados Unidos, por volta da década de 80 [1]. Naquela época, mesmo que os primeiros pesquisadores sobre rede de sensores tinham em mente a visão de uma Rede de Sensores Sem Fio, a tecnologia necessária ainda não estava pronta. Da década de 80 para os dias de hoje, grandes avanços tecnológicos culminaram nos ramos de sistemas embarcados, miniaturização de sensores nas tecnologias de sistemas micro e nano eletromecânicos [6], redução de tamanho em microprocessadores e tecnologias de rádio transmissão de baixa potência, permitindo assim o surgimento da tecnologia de Rede de Sensores Sem Fio: solução emergente de baixo custo de monitoramento, supervisão e controle em uma ampla gama de ambientes. Em síntese, uma RSSF pode ser descrita como uma rede de dispositivos, denotados nós, espacialmente distribuídos que, em cooperação, realizam tarefas de sensoriamento e controle de certo ambiente e comunicam as informações coletadas através de links sem fio, permitindo a interação entre pessoas ou computadores e o ambiente em análise [7]. A figura 2.1 ilustra um exemplo de RSSF através de uma aplicação sensores distribuídos realizando um monitoramento ambiental de uma área [8]. 28 Figura 2.1 - Monitoramento ambiental com RSSF. Fonte: [8]. Da perspectiva de origem de sistemas distribuídos, segundo [9], uma RSSF é definida como determinada classe particular de sistemas distribuídos, com particularidades como a utilização de recursos limitados de energia, grande quantidade de nós e topologia de rede dinâmica. Quando comparada às redes tradicionais, RSSFs apresentam características que as tornam particular. Entre as principais características de RSSFs [10] podem-se citar: • Mobilidade dos nós; • Restrições no consumo de potência; • Capacidade de lidar com falhas dos nós sensores; • Heterogeneidade dos sensores; • Capacidade de resistir a condições ambientais adversas; • Facilidade na utilização e manutenção; 2.3. Protocolo IEEE 802.15.4 As particularidades e limitações impostas às RSSFs tornaram necessário uma série de exigências para os protocolos de comunicação numa escala nunca antes encontrada. Em meados do início do século XXI, o Comitê 802 do IEEE (Institute of Electrical and Electronics Engineers) viu a necessidade do desenvolvimento e publicação de um conjunto de especificações para redes sem fio de área pessoal com foco em baixo custo e baixa taxa de transmissão de 29 dados. Em maio de 2003, através do grupo de trabalho IEEE 802.15, foi então completado a primeira versão do protocolo definido como IEEE 802.15.4. Em 2006, este protocolo passou por um processo de revisão, recebendo assim sua segunda versão [11]. O protocolo IEEE 802.15.4 define as especificações das camadas física (PHY) e de controle de acesso ao meio (MAC) para as conhecidas LR-WPANs (Low-Rate Wireless Personal Area Networks). Em relação ao modelo de referência ISO/OSI, o protocolo IEEE 802.15.4 define as camadas 1 e 2 [12], conforme ilustrado na figura 2.2. Figura 2.2 - Comparação das camadas IEEE 802.15.4 utilizadas em relação ao modelo de referência ISO/OSI. Fonte: Centro de Estudos e Pesquisas em Tecnologia de Redes e Operações http://ipv6.br/zigbee-usa-agora-6lowpan-sua-proxima-lampada-tera-ipv6/ [12]. 2.3.1. Camada Física (PHY) Baseada no modelo ISO/OSI (Open Systems Interconnection) de interoperabilidade de redes, a camada física é responsável pelas especificações elétricas e físicas dos dispositivos. No protocolo IEEE 802.15.4, pode-se associar a camada PHY aos seguintes serviços: • Ativação e desativação do rádio transceptor; • Seleção do canal de frequência; • Transmissão e recepção dos dados; http://ipv6.br/zigbee-usa-agora-6lowpan-sua-proxima-lampada-tera-ipv6/ 30 • Detecção de níveis de energia no canal (Energy Detection) como uma estimativa da potência do sinal recebido dentro da largura de banda do canal; • Medição da qualidade do enlace (Link Quality Indication) para os pacotes recebidos, como uma caracterização da intensidade e/ou qualidade do pacote recebido; • Verificação da ocupação do canal (Clear Channel Assessment) para gerenciamento de acesso ao canal via CSMA/CA (Acesso múltiplo com verificação de portadora com anulação/prevenção de colisão); • Interface entre a camada MAC e o canal do rádio físico; Entre os principais serviços requisitados pela camada física, a seleção do canal de frequência no protocolo IEEE 802.15.4 suporta três faixas de frequência, todas dentro das bandas de frequência ISM (Industrial, Scientific and Medical), não exigindo licenciamento para operação, e cada uma desta três bandas de frequência apresentando determinado limite de canais para seleção. As três bandas de frequência, assim como suas respectivas coberturas, taxas máximas de transmissão de dados e número de canais disponíveis para seleção são apresentadas na Tabela 2.1. De maneira complementar, a figura 2.3 apresenta as três bandas de frequência, canais disponíveis, tal como o comprimento de banda e os respectivos espaçamentos de frequência entre canais [11]. Tabela 2.1 - Canais de frequência no protocolo IEEE 802.15.4. Banda de frequência (MHz) Cobertura Taxa máxima de transmissão de dados (kbps) Número de Canais 868 ~ 868,6 Região 1 (ISM) Europa/África 20 1 (Canal 0) 902 ~ 928 Região 2 (ISM) Américas 40 10 (Canais 1~10) 2400 ~ 2483,5 Região 1, 2 e 3 (ISM) Mundial 250 16 (Canais 11~26) Fonte: IEEE 802.15.4 [11]. 31 Figura 2.3 - Canais de frequência no protocolo IEEE 802.15.4. Fonte: IEEE 802.15.4 [11]. 2.3.2. Camada de Controle de Acesso ao Meio (MAC) A camada de controle de acesso ao meio (Medium Access Control - MAC) fornece uma interface entre as próximas camadas superiores e a camada física (PHY), sendo responsável por toda operação que envolve o canal físico de comunicação. Cabe a esta camada a realização dos seguintes serviços: • Gerenciamento do acesso aos canais de rádio físicos; • Geração de sinalizadores (beacons) de rede; • Sincronização do dispositivo na rede através de beacons; • Suporte a associação e dissociação da PAN (Personal Area Network); • Suporte a segurança dos dispositivos; • Emprego de mecanismo de acesso ao canal (CSMA/CA); • Fornecimento de um link confiável entre duas entidades MAC; • Definição de funcionalidade de cada dispositivo da rede; Como se observa entre as tarefas realizadas pela camada MAC, parte destas se referem a sincronização de dispositivos na rede. Esta sincronização é realizada através da geração e processamento de pacotes definidos como beacons. Estes podem ser definidos como quadros de sinalização produzidos por um módulo da rede, contendo dados sobre o dispositivo, com o propósito de sincronismo. Outra tarefa que compete a camada MAC é relacionada com a definição de funcionalidade de cada dispositivo da rede. Basicamente, a camada MAC 32 define dois tipos de dispositivos, RFD (Reduced Function Device) e FFD (Full Function Device). O RFD possui uma pilha de tarefas reduzidas, por isso não possui a função de rotear dados, podendo apenas comunicar-se com dispositivos FFD. Já os dispositivos que recebem a funcionalidade de FFD possuem uma ampla gama de tarefas numa rede, podendo rotear dados, formar redes e comunicar-se tanto com dispositivos RFD, quanto outros dispositivos FFD. Uma rede definida pelas camadas inferiores do protocolo IEEE 802.15.4 será constituída de diversos FFDs e RFDs, sendo um FFD responsável por formar e gerenciar a rede, designado como coordenador [10], [11], [13]. A figura 2.4 ilustra uma rede baseada no padrão IEEE 802.15.4 com diversos elementos FFDs e RFDs em uma disposição topológica em malha [8], na qual o FFD principal é um controlador e está conectado a FFDs configurados como roteadores, que por sua vez estão conectados aos RFDs. A ideia desta topologia de rede é a informação ser repassada dos RFDs para o FFD principal, com inúmeras possibilidades de caminho entre os dispositivos e o controlador. Figura 2.4 - Padrão 802.15.4 e a Camada de Controle de Acesso ao Meio. Fonte: [8]. 2.4. Protocolo ZigBee Em outubro de 2004, uma associação de empresas, denominada ZigBee Alliance, desenvolveu um padrão (ZigBee) que adiciona duas camadas de alto nível de rede (Camada de Rede – NWK – e Camada de Aplicação - APL) para a 33 estrutura básica pré-estabelecida pelo protocolo IEEE 802.15.4. Inicialmente, entre as grandes empresas que encabeçavam este projeto, encontravam Honeywell, Mitsubishi Electric, Samsung, Philips, Motorola, entre outras empresas. Atualmente, este número se expandiu, e figuram nesta lista mais de 200 empresas, relacionadas entre fundadores (promoters), participantes (participants) e associados (adopters) [5]. Com a associação do vasto número de empresas formada pela ZigBee Alliance, foi formada uma junção com o objetivo promissor de tornar o padrão ZigBee em um sistema de comunicação eletrônica sem fio para o setor de automação compatível independentemente da empresa que produzisse o circuito. Em suma, criou-se um padrão proprietário em relação à outras tecnologias de comunicação, porém um padrão com interoperabilidade, robusto e prático com dispositivos das mesmas camadas de aplicação. Ademais, o padrão ZigBee pode ser considerado aberto, com toda documentação e especificações gratuitamente disponíveis no site oficial do protocolo [5]. A figura 2.5 ilustra o logotipo do protocolo ZigBee com uma gama de aplicações que o protocolo abrange, entre eles, o meio de telecomunicações, saúde e residencial [5]. Figura 2.5 – ZigBee Alliance. Fonte: ZigBee Alliance [5]. Com esta pilha de protocolo particular desenvolvida por diversas empresas, o padrão ZigBee é capaz de realizar comunicação com outros dispositivos do mesmo padrão, em uma infinidade de aplicações, podendo assumir diversas topologias de rede, capacidade expressiva de economia de energia em modos pré-especificados, com baixa complexidade e baixo custo [10]. 34 Em comparação ao modelo de referência ISO/OSI, o padrão ZigBee implementa, conforme apresentado na figura 2.6, as camadas de rede (NWK) e aplicação (APL), complementando as camadas já desenvolvidas no protocolo IEEE 802.15.4. Nesta comparação, observa-se a implementação apenas das camadas essenciais para que os módulos de comunicação ZigBee possuam características de baixo custo, baixa taxa de transmissão, economia de energia e baixa complexidade. Figura 2.6 - Comparação das camadas dos protocolos IEEE 802.15.4 e ZigBee utilizadas em relação ao modelo de referência ISO/OSI. Fonte: Centro de Estudos e Pesquisas em Tecnologia de Redes e Operações http://ipv6.br/zigbee-usa-agora-6lowpan-sua-proxima-lampada-tera-ipv6/ [12]. Cabe ressaltar que o padrão IEEE 802.15.4 não deve ser confundido com o padrão ZigBee. Com o desenvolvimento independente do padrão ZigBee, é possível, com o protocolo IEEE 802.15.4, a construção de um sistema de comunicação sem fio com baixa taxa de transmissão baseado em suas duas camadas inferiores (PHY e MAC) através do desenvolvimento de camadas superiores específicas. Entretanto, a padronização destas camadas superiores realizada pela ZigBee Alliance traz exatamente este conforto de possuir as camadas superiores já definidas e com todas as vantagens anteriormente citadas [10]. 2.4.1. Camada de Rede (NWK) A camada de rede (NWK) definida pelo padrão ZigBee, oferece basicamente dois serviços: dados e gerenciamento. O fluxo de dados que http://ipv6.br/zigbee-usa-agora-6lowpan-sua-proxima-lampada-tera-ipv6/ 35 trafegam na rede, a distribuição de 16 bits na rede formada pelo coordenador, o controle da distância em que um frame pode viajar na rede, a forma de comunicação do frame com os demais dispositivos (multicast, broadcast ou unicast) são funcionalidades da camada NWK [10]. Em síntese, esta camada é a responsável pela organização e roteamento da rede. 2.4.2. Camada de Aplicação (APL) Sendo a camada de nível mais alto do sistema de comunicação sem fio ZigBee, esta camada é subdividida em três seções: Suporte à Aplicação (Application Support), “ZigBee Device Objects” e “Application Framework”. A seção de Suporte à Aplicação basicamente oferece uma interface entre a camada de rede (NWK) e a camada de aplicação (APL). A “Application Framework” é a seção onde se encontram os objetos de aplicação armazenados para o controle e gerenciamento dessa camada num dispositivo ZigBee [10]. Por fim, a seção “ZigBee Device Object” é responsável por intermediar a atuação da camada de aplicação promovendo uma melhor integração entre esta camada e as camadas inferiores [14]. A figura 2.7 apresenta as seções que compõem a camada de aplicação, tal como suas interações. Figura 2.7 - Camada de aplicação definida pelo padrão ZigBee. Fonte: [10]. 36 2.5. Considerações Finais Com o advento do protocolo ZigBee, em meados dos anos 2000, o conceito de aplicação de Redes de Sensores Sem Fio se tornou mais claro, possibilitando o desenvolvimento de novas aplicações na área. O próximo capítulo abordará novos conceitos de aplicações de RSSF com recursos de mobilidade dos componentes da rede, tão bem como apresentar aplicações já desenvolvidas na área e as classificações existentes para a mobilidade de cada tipo de componente da rede. 37 3. REDES DINÂMICAS DE SENSORES SEM FIO 3.1. Considerações Iniciais Neste capítulo é apresentado uma continuação do embasamento bibliográfico que complementa este trabalho, tal qual uma revisão conceitual de Redes Dinâmicas de Sensores Sem Fio (RDSSF). Diversos trabalhos que apresentam o histórico de desenvolvimento e o estado da arte atual em relação ao desenvolvimento e aplicação de RDSSF são apresentados. Os principais conceitos e desafios inerentes a aplicação de RDSSFs são descritos e discutidos. Também é abordado uma classificação de RDSSF de acordo com a mobilidade dos dispositivos na rede. 3.2. Histórico e Revisão Conceitual Nos últimos anos, a tecnologia de RSSF tem atraído crescente atenção dos meios acadêmico e industrial devido a seu enorme potencial em diversos campos de aplicação. Atualmente, em grande parte dos estudos em RSSFs, a rede é assumida a abranger um grande número de dispositivos sensores dispersos sobre uma área de interesse, formando uma rede de comunicação em múltiplos saltos (multi-hop) [7], como mostrado na figura 3.1. Figura 3.1 – Modelo de rede multi-hop many-to-one. Fonte: [7]. 38 O objetivo primário de uma RSSF é juntar dados relevantes de seu ambiente em análise e, subsequentemente, transmitir estes dados a um nó de processamento central, usualmente definido como estação base ou sink. Na literatura de redes, tais sistemas consistem em múltiplos dispositivos de envio e uma estação superior de recebimento, denominados sistemas many-to-one [7]. Além do modelo de rede descrito multi-hop many-to-one, outra característica que engloba grande parte dos trabalhos na área de RSSF é o pressuposto que ambos os nós sensores e a base são estáticos, ou seja, permanecem fixos em suas posições iniciais de rede [7]. Apesar da proposta inicial de RSSF ter sido baseada em redes de sensores estaticamente distribuídos, aplicações recentes têm focado em redes de comunicação sem fio com mobilidade dos componentes. Estas novas aplicações quebram o paradigma da cobertura de área limitada em RSSF estáticas, permitindo assim a exploração de protocolos de comunicações sem fio de baixo custo e baixa potência em grandes áreas e em uma nova gama de aplicações. Este trabalho apresenta o conceito de Redes Dinâmicas de Sensores Sem Fio, definindo a vertente dinâmica de RSSF para as aplicações onde os componentes (nós) apresentam localização dinâmica e arbitrária, pressupondo que o nó coordenador, os nós sensores e/ou o fenômeno de análise é(são) móvel(is). Análogo a definição apresentada de RDSSF, estudos e aplicações recentes apresentam outras definições para vertentes dinâmicas específicas de RSSFs, como em [15] como Redes de Sensores Dinâmicas, e em [16] e [17] como Mobile Wireless Sensor Networks (MWSNs) e/ou Mobile Ad-hoc Networks (MANETs). Uma RSSF convencional gera um caminho de transmissão de dados entre cada variável de interesse coletada (fenômeno de análise) e a estação base (observador final – seja o nó coordenador, um PC ou um dispositivo de controle) sob condições estáticas, ou seja, os nós permanecem sempre em suas posições iniciais. No caso particular de RDSSFs, este caminho de dados coletados da variável de interesse (fenômeno) até a estação base pode apresentar multi-hops (múltiplos saltos) sob condições dinâmicas. Sendo o nó coordenador o dispositivo com o maior nível de processamento e gerenciamento da rede, geralmente este caminho entre a variável de análise e a estação base 39 é formado quando houver a requisição do nó coordenador, ou seja, os sensores transmitem seus dados coletados somente quando receber uma requisição do coordenador. Esta requisição pode ser de maneira direta (coordenador – nó sensor), ou de maneira indireta (através de nós roteadores), dependendo da distância entre o observador final e o fenômeno de análise, e suas respectivas posições. A figura 3.2 ilustra uma RDSSF com nó central (coordenador) móvel em comunicação direta (single-hop) com os dispositivos sensores. Figura 3.2 – Modelo de RDSSF com nó coordenador móvel e comunicação single-hop. Fonte: Autor. 3.3. Campo de Aplicação O potencial e benefícios de RDSSFs podem ser vistos em diferentes áreas de aplicação. A figura 3.3 apresenta um exemplo de RDSSF onde um nó coordenador alocado em um avião faz a varredura (leitura) de nós sensores dispostos em um campo militar [18]. Esta aplicação exemplifica a possibilidade de disposição de um nó da rede em um equipamento móvel criando o dinamismo de um RSSF. Figura 3.3 – RDSSF militar. Fonte: [18]. 40 Um diverso conjunto de aplicações para RDSSFs, envolvendo diferentes campos, tem se apresentado nos últimos anos. As aplicações abrangem diversas áreas, entre medicina [19], agricultura de precisão [20], [21], gerenciamento de cidades [22], aplicações militares [18], [23], monitoramento ambiental [24], entre outras. Na agricultura, RDSSFs podem ser utilizadas para monitorar condições climáticas de diferentes zonas de grandes áreas de cultivo e calcular necessidades em níveis de águas, ou níveis químicos, tal como outros parâmetros, e levá-los remotamente até uma estação central de controle [20], [21]. No campo médico, estas podem ser utilizadas para monitorar, remotamente e discretamente, parâmetros fisiológicos de pacientes, tal como batimento cardíaco ou pressão arterial, e relatar ao médico quando alguns parâmetros são alterados [19]. A área militar também possui vantagens na utilização da tecnologia de RDSSFs, como a detecção de movimento, presença de tropas em linhas inimigas e coleta de dados geográficos em áreas de interesse [18], [23]. Por vezes, RDSSFs podem ser usadas para monitorar ambientes que sejam de difícil aceso ou perigosos, tais como o fundo do oceano, vizinhanças de atividades vulcânicas, territórios inimigos, áreas de desastres e campos de atividade nuclear [24]. Em outros casos, a área de interesse em análise pode ser de grande dimensão, até mesmo de superior alcance ao range de comunicação entre os dispositivos de uma RSSF com aplicação de protocolos de comunicação sem fio de baixa potência, como o ZigBee [20]. Nestes contextos, assim como em outros casos particulares, a implementação de nós móveis na rede viabiliza o desenvolvimento de coleta e aquisição de dados em um grande número de sensores que estão espacialmente dispersos. Formam-se assim, neste conceito recente à Rede de Sensores Sem Fio (estáticas), uma nova gama de aplicações, denominadas neste trabalho de Redes Dinâmicas de Sensores Sem Fio. 3.4. Classificação Uma que vez que o conceito de mobilidade presente em RDSSF pode referir-se aos diversos componentes presentes na rede, é proposto neste trabalho o estudo de classificação de RDSSF de acordo com o movimento dos componentes da rede: nó coordenador, nós sensores e variável de análise [8]. 41 Pode-se assim definir diversas situações em que cada componente se encontre móvel, com diferentes perspectivas, modelos de transmissão de dados, protocolos e infraestruturas necessárias. 3.4.1. RDSSF com Coordenador Móvel Nesta situação de RDSSF, o nó coordenador, definido como observador final da rede, apresenta característica de mobilidade em relação aos nós sensores e aos fenômenos de interesse em análise. Esta situação ocorre sempre que o nó coordenador apresentar movimento relativo aos sensores e às variáveis de interesse, como por exemplo, em uma RDSSF onde um módulo ‘coletor’ está posicionado em um avião que sobrevoa uma área para coletar dados periódicos em uma rede de sensores. O trabalho proposto por [20] exemplifica um caso de RDSSF com coordenador móvel. Este trabalho propõe uma Rede de Sensores Sem Fio aérea para monitoramento de colheitas. Em suma, [20] desenvolveu um sistema colaborativo feito de uma Rede Dinâmica de Sensores Sem Fio através de um veículo aéreo não-tripulável (no caso, um helicóptero quadrotor autônomo - drone), o qual é aplicado ao monitoramento em tempo quase real de geadas em vinhedos. A característica central do sistema é um nó móvel dinâmico carregado por um robô aéreo, que assegura a comunicação entre grupos dispersos de sensores localizados em parcelas fragmentadas (clusters) e uma estação base sensor, superando limitações de alcance de RSSF com tais características. A figura 3.4 apresenta uma visão do sistema de monitoramento proposto por [20]. Figura 3.4 - Visão do sistema de monitoramento proposto Barrientos et al. [20]. Fonte: [20]. 42 A abordagem proposta por [20] pode ser formulada como um conjunto de áreas terrenas cultivadas, isoladas e sem a possibilidade de estabilizar uma infraestrutura de comunicação entre elas. O sistema desenvolvido é capaz de monitorar um conjunto de variáveis de interesse biofísicas em tempo quase-real (suficiente para prevenir prejuízos e deteriorações na colheita) e expedir a informação coletada para um nó móvel alocado no miniveículo aéreo, posteriormente retransmitindo estes dados para uma estação base. Do ponto de vista de comunicação, cada parcela da rede endereça um cluster que é desenvolvido utilizando diversos nós sensores de uma RSSF. Estes clusters irão coletar informações sobre o solo, tempo e/ou condições da colheita. Estes dados então serão coletados pelo nó móvel alocado no veículo aéreo toda vez que este sobrevoar a área e estabelecer comunicação com um nó do cluster. Os dados coletados pelo nó móvel são retransmitidos para a estação base sensor, onde todos os dados coletados são armazenados para diagnóstico e gerenciamento da aplicação. 3.4.2. RDSSF com Nós Sensores Móveis Uma outra situação de mobilidade de RDSSFs é o caso em que os sensores estão se movendo em relação aos demais sensores e ao coordenador. Esta situação ocorre quando um certo fenômeno de interesse é estático (fixo e um local), mas seu estado de leitura é dinâmico, como por exemplo, condições do tráfego, as ruas não se movimentam, entretanto, a quantidade de carros que por elas passam é dinâmica. Nesta situação também, os nós sensores são alocados em dispositivos móveis que percorrem os fenômenos de interesse estáticos, transmitindo dados entre si, e o agrupamento destes dados retransmitido a estação base fixa. Um exemplo para esta situação de mobilidade dos nós sensores, é dado por uma RDSSF onde nós sensores são alocados em táxis para transmitir entre si as condições de tráfego, e sempre que estes táxis se encontrarem próximos a uma estação base, retransmitem um conjunto de leitura das condições de tráfego realizadas. Tecnologias emergentes como Redes Ad-hoc Veiculares (VANET – Vehicular Ad-hoc Network) exemplificam a aplicação de RDSSF com nós sensores móveis. Trabalhos desenvolvidos por [25], [26] e [4] propõem um campo de pesquisa nesta classificação de RDSSF com nós sensores móveis 43 cujo objetivo é fornecer infraestrutura para desenvolvimento de novos sistemas automotivos para melhorar a segurança e conforto de motoristas através da comunicação veículo-a-veículo. A figura 3.5 ilustra um exemplo de rede VANET [4]. Figura 3.5 – Exemplo de rede VANET [4]. Fonte: [4]. Diversas pesquisas e aplicações tem sido propostas na área de VANETs. No livro de [4], o tema é proposto em um capítulo completo. Devido ao elevado custo de implementação de um sistema VANET em mundo real, a maioria das pesquisas na área dependem de simulações para avaliação do sistema a ser proposto. Um componente chave para simulações de VANETs é um modelo de mobilidade veicular realístico. O trabalho proposto em [25] apresenta uma pesquisa em simulação realística para redes de comunicação veiculares. Neste trabalho são apresentados como características particulares de VANETs em relação às RDSSFs: • Topologias de rede altamente dinâmicas; • Grande mobilidade dos nós sensores; • Suprimento e armazenamento de energia não limitados; • Sensores embarcados; RDSSF para sistemas de transporte inteligente trazem benefícios como a melhoria da eficiência global do sistema de transporte reduzindo o tempo de viagem, congestionamentos, prevenção de acidentes, bem como a integração do transporte em políticas de sustentabilidade, como monitoramento e redução de emissões de gases emitidos por veículos e melhoria no conforto do motorista fornecendo-o uma gama de informações, auxílio e orientações em decisões de trajeto. 44 3.4.3. RDSSF com Mobilidade Híbrida Por fim, uma situação de maior complexidade de mobilidade de RDSSFs, é dada quando todos os componentes da rede se encontram em mobilidade. Para esta situação, tem-se tanto o nó coordenador como os nós-sensores em movimento. Este caso, mais complexo de se visualizar e de implementação, pode ser ilustrado, por exemplo, com um sistema de RDSSF militar, onde um avião deve permanecer em contato com tropas aliadas enquanto monitoram linhas inimigas. Um nó coordenador é alocado no avião que sobrevoa uma determinada área para realizar o monitoramento de informações de linhas inimigas, e tropas aliadas dispõem de nós sensores e também se encontram em movimento nesta área. Encontram-se nesta situação, tanto a mobilidade do nó coordenador (avião), como dos nós sensores (tropas aliadas). Estendem-se aplicações de RDSSF militares também em localização de soldados (sensores dispostos nos uniformes dos soldados permitem monitorar a posição e movimentos de cada soldado), controle de equipamentos e munição (instalação de pequenos sensores em armamentos podendo realizar o controle da localização destes). O livro “Large Scale Wireless Sensor Network for Tactical Military Applications” [23], traz uma gama de aplicações de RSSF voltadas para o âmbito militar, das quais algumas incluem-se, como na aplicação acima ilustrada, na classificação de RDSSF com mobilidade híbrida. A figura 3.6 apresenta a capa do livro. Figura 3.6 – Large Scale Wireless Sensor Network for Tactical Military Applications. Fonte: [23]. 45 3.5. Considerações Finais Em síntese, de acordo com o movimento dos componentes da rede, realizou-se uma classificação das diversas situações de mobilidade que uma RDSSF pode apresentar: nó coordenador móvel; nós sensores móveis; mobilidade híbrida; No desenvolvimento de uma aplicação de RDSSF, independentemente do tipo de mobilidade definida, um protocolo de comunicação sem fio deve ser utilizado para realizar a aplicação. A escolha deste protocolo acarreta condições importantes para o bom funcionamento da rede, possibilidade de expansão futura, interoperabilidade entre componentes, auto-organização dos elementos, e outras características afins. Por outro lado, o protocolo escolhido deve possuir um conjunto de capacidades e recursos os quais permitam o devido funcionamento da rede com a imposição de mobilidade de seus componentes. O capítulo 4 apresenta um estudo aprofundado do protocolo ZigBee no que diz respeito aos recursos que interajam com dinamismo de Redes de Sensores Sem Fio, tal qual uma análise de viabilidade de aplicação deste protocolo em Redes Dinâmicas de Sensores Sem Fio, verificando assim vantagens e desvantagens de aplicação deste protocolo no conceito de RDSSF. 47 4. ANÁLISE DA VIABILIDADE DE APLICAÇÃO ZIGBEE EM RDSSF 4.1. Considerações Iniciais Neste capítulo é realizada a análise de viabilidade de aplicação do protocolo ZigBee em Redes Dinâmicas de Sensores Sem Fio (RDSSFs). Inicialmente, são analisadas as principais necessidades funcionais que uma RDSSF deve possuir, de maneira generalizada, para que o devido funcionamento seja atendido à aplicação projetada. Com a apresentação das necessidades funcionais de RDSSFs, é realizado um estudo aprofundado das funcionalidades que o protocolo ZigBee traz em suas camadas, com seus recursos e especificações, sendo possível assim, analisar a viabilidade de aplicação do protocolo ZigBee em RDSSFs. Por fim, são verificadas as vantagens e desvantagens que o protocolo ZigBee traz perante sua aplicação em RDSSFs. 4.2. Necessidades Funcionais de RDSSFs Redes Dinâmicas de Sensores Sem Fio são definidas neste trabalho por componentes (nós) com localização dinâmica e arbitrária, com a utilização de dispositivos móveis portáteis. Assim como em aplicações de RSSF, utilizam-se de dispositivos com recursos limitados de energia, capacidade de processamento e capacidade de armazenamento [27]. Baseado neste conceito, e devido ao alcance limitado dos nós numa RSSF [28], os componentes da rede dependerão de seus vizinhos para fazer chegar a informação ao nó com que pretendem comunicar. Desta maneira, tais redes são formadas por um número de dispositivos com capacidades de comunicação sem fio que se associam e dissociam periodicamente. Todo este dinamismo na rede gera limitações e exigências na comunicação dos componentes de RDSSFs, apresentando uma série de desafios e necessidades funcionais ao projeto e implementação das Redes Dinâmicas de Sensores Sem Fio. Uma aplicação de RDSSF adequada deve considerar certos requerimentos funcionais de operação, tais como:  Gerenciamento de energia: os componentes da RDSSF devem gerenciar o consumo de potência, de modo a prolongar o período de operação e consumo de bateria; 48  Auto-organização: os dispositivos se auto organizam na rede, de maneira que se conectam automaticamente, sem a necessidade do usuário de criá-la. Da mesma maneira, com a mobilidade dos nós, estes reorganizam as rotas de dados e apoiam as tarefas de construção da topologia de rede. Cada nó da RDSSF deve ser capaz de associar, dissociar e re-associar da rede sempre que necessário;  Confiabilidade: os dispositivos devem possuir mecanismos ativos na rede permitindo transferências e links de dados confiáveis, com velocidades de transmissão, recepção e transferência de dados (throughput) adequados de acordo com a aplicação. Este quesito impacta também na garantia da confiabilidade da taxa de entrega de dados em função da velocidade relativa do(s) nó(s) móvel(is) de uma RDSSF, alcance de comunicação, taxa e tempos de transmissão, associação e diversos outros parâmetros;  Associações Permissíveis: o número máximo de associação de nós vizinhos para cada componente da rede deve ser tal que se permita a conexão instantânea com diferentes nós em diferentes áreas de cobertura com a mobilidade dos componentes;  Independência de nós: a operação da RDSSF não deve ser dependente de qualquer componente, permitindo a operação contínua da rede em caso de eventual falha ou dissociação de nó na rede, e/ou em casos de determinado nó estiver fora da área de comunicação;  Interoperabilidade: a RDSSF deve utilizar uma tecnologia de rede padronizada afim de flexibilizar e permitir a utilização de diferentes dispositivos e variados fabricantes; Por fim, além de todos estes desafios e necessidades de funções que as RDSSFs devem apresentar, características tradicionais de comunicações sem fio estáticas devem estar presentes na vertente dinâmica, tais como segurança, controle de interferência, heterogeneidade, coexistência, entre outros [28]. Todavia, percebe-se que o maior desafio no projeto de uma RDSSF é a implementação da rede sem a necessidade de intervenção de um operador, onde os nós móveis comuniquem-se com outros nós toda vez que se 49 encontrarem no mesmo alcance (range) de comunicação e possuam capacidades de se auto organizarem. 4.3. Funcionalidades do Protocolo ZigBee Os tópicos desta seção abordam as principais funcionalidades do protocolo ZigBee presentes em sua arquitetura de maneira a confrontar as necessidades funcionais de RDSSFs. 4.3.1. Tipos de Dispositivos Assim como brevemente descrito no capítulo 2, o padrão ZigBee disponibiliza dois tipos de dispositivos que interagem entre si numa rede: Full Function Device (FFD) e Reduced Function Device (RFD). Relaciona-se o tipo de dispositivo diretamente à quantidade e capacidade de tarefas que um componente da rede pode processar.  Full Function Device: dispositivo que possui toda a funcionalidade do IEEE 802.15.4, com pilha de instruções completa, contendo uma memória adicional e processamento ideal nas realizações de roteamento de rede. Dispositivos FFD podem se comunicar com qualquer componente na rede, sendo considerado um dispositivo pai, uma vez que permite a entrada de novos componentes na rede formada e podem realizar a retransmissão de pacotes de dados. Podem assumir os papéis de coordenador e de roteador [10];  Reduced Function Device: dispositivo que, por sua vez, possui funções limitadas e controla custos de consumo e complexidades do tráfego da rede. Dispositivos RFD possuem um conjunto de instruções reduzido em sua memória e está limitado a se comunicar apenas com dispositivos FFD. É considerado um componente filho, uma vez que necessitam de um dispositivo FFD para ingressar à rede e não possuem a capacidade de retransmissão de pacote de dados. Podem assumir o papel de dispositivo final (end-device) [10]; 50 Para entrar em uma rede ZigBee, estes dispositivos devem ser pré- configurados em um dos papéis existentes de atribuição na rede ZigBee: coordenador, roteador ou dispositivo final.  Coordenador (ZC - ZigBee Coordinator): implementável por um dispositivo do tipo FFD, o ZC é um dispositivo único em uma rede ZigBee, responsável pela formação da rede (network). O coordenador é tal qual um roteador que inicia a rede, possuindo sempre um endereço de rede 0x0000. Realiza, principalmente, as funções de ‘escanear’ a rede, selecionar o canal e identificação para a rede, permitindo assim, que nós (componentes) roteadores e dispositivos finais possam adentrar à network preestabelecida. É o componente mais sofisticado da rede, que utiliza mais memória e processamento, e o responsável pelo gerenciamento da rede. Apenas um dispositivo pode assumir este papel em uma rede ZigBee, sendo necessário a presença deste para formação de rede e comunicação entre os demais componentes [5];  Roteador (ZR - ZigBee Router): também implementável por um dispositivo do tipo FFD, os módulos roteadores ZigBee em uma rede possuem o papel de oferecer rota de caminhos alternativos para pacotes de dados, podendo transmitir e receber dados [29].  Dispositivo final (ZED - ZigBee End-Device): tem como papel o envio e recebimento de informação advindas de dispositivo FFD. Em outras palavras, possui função reduzida de trocar informações com um ZC ou um ZR. É usualmente onde estão conectados os sensores e atuadores, e implementável como um dispositivo do tipo RFD [10], Cabe aqui ressaltar que os dispositivos que carregam o protocolo ZigBee podem ser pré-configurados em qualquer um dos três tipos de papel de atribuição de rede, respeitando sempre a regra de um único coordenador para cada PAN. A pré-configuração e escolha dos papéis dos dispositivos na rede é realizada com a gravação de firmware nos módulos ZigBee, ajustando os principais parâmetros e modo de operação dos módulos. 51 4.3.2. Topologias de Rede e Associações Permitidas Como descrito no capítulo 2, uma das funções da camada de rede (NWK) é o gerenciamento de dados que trafegam pela network estabelecida, controlando a disposição dos componentes da rede por meio de topologias. Baseado no protocolo IEEE 802.15.4 [11], a camada de rede pode assumir uma das duas topologias estabelecidas pelo padrão: topologia Estrela ou topologia em rede Mesh.  Topologia Estrela: configuração mais simplificada em uma rede ZigBee, numa topologia estrela os ZEDs ou ZRs apenas se comunicam com o ZC, não havendo a retransmissão de dados através de roteadores. Topologia de rede geralmente implementada em locais onde a transmissão e recepção de dados não encontra obstáculos físicos, é a comunicação dos dispositivos com o nó coordenador é realizada através de um único salto/link (single hop). A figura 4.1 ilustra uma rede formada através de uma topologia Estrela. Figura 4.1 – Topologia Estrela. Fonte: AUTOR [29].  Topologia Mesh: na topologia de rede Mesh, diferentemente da topologia Estrela, cada módulo do tipo RFD pode se comunicar com o módulo FFD mais próximo (dentro do campo de radiação eletromagnética), havendo a possibilidade de retransmissão de dados através de roteadores para comunicação com o nó coordenador, por meio de comunicações múltiplos salto (multi-hop). Nesta topologia, há a possibilidade de reajuste automático, tanto na inicialização como na inserção ou remoção de dispositivos na network (otimização no tráfego de dados). Ademais, a 52 topologia Mesh é formada com os módulos exercendo todos os papéis estabelecidos pelo padrão ZigBee. A figura 4.2 ilustra uma rede formada através de uma topologia de rede Mesh. Figura 4.2 – Topologia Mesh. Fonte: AUTOR [29]. A topologia de rede Mesh pode ser diferenciada quando os novos membros FFD podem se comunicar com os módulos FFD que estão dentro do seu alcance de radiação eletromagnética (range) [10]. Em ambas topologias, certos requisitos e critérios do protocolo possibilitam ou não a comunicação entre os dispositivos da rede, entre eles: a potência de radiação do componente, a máxima associação por dispositivo e o tempo de ausência de comunicação do dispositivo com seu nó pai. No padrão ZIgBee, a máxima associação por dispositivo está relacionada ao processo de descobrimento de redes, especificamente ao parâmetro NC (Number of remain children – número de filhos restantes) de cada módulo. Este parâmetro carrega a informação da quantidade de dispositivos permissíveis a agrupar àquele módulo na rede. Neste caso, a especificação ZigBee [5] apresenta valores limites de associação para dispositivos coordenadores em 10 filhos, e para roteadores em 12 filhos. O número limite de nós em uma rede ZigBee é bem vasto (até 65.000 dispositivos). A potência de radiação é a característica dos dispositivos que está intimamente ligada a limitação do alcance de comunicação dos módulos. Esta característica varia de módulo para módulo nos diversos fabricantes de dispositivos ZigBee. Para exemplificar, módulos XBee da fabricante Digi International [30] possuem um range de comunicação, em seu modelo XBee- 53 PRO Series 2, de até 3200 metros, para comunicação em campo aberto e sem obstruções. Por fim, o parâmetro de “tempo de ausência de comunicação com nó pai” (parente node communication timeout) descreve o tempo máximo que um nó filho pode permanecer sem comunicação com seu nó pai, antes que este remova-o de sua tabela de nós filhos (Child Table). Pela especificação ZigBee, este requerimento está relacionado ao parâmetro “End Device Poll Timeout”, e é regido pela equação 4.1 [5], onde SN (Number of Sleep Periods) e SP (Sleep Period) são parâmetros configurados de acordo com as opções do modo de sono do ZED. Equação 4.1 – End Device Poll Timeout. 𝐸𝑛𝑑 𝐷𝑒𝑣𝑖𝑐𝑒 𝑃𝑜𝑙𝑙 𝑇𝑖𝑚𝑒𝑜𝑢𝑡 = 3. 𝑆𝑁. (𝑆𝑃. 10) Fonte: [5]. 4.3.3. Gerenciamento de Energia De acordo com a arquitetura na qual foi desenvolvido, o protocolo ZigBee, adjacente as camadas do protocolo IEEE 802.15.4, visa aplicações que tipicamente necessitam de baixo consumo de energia nos módulos de sensoriamento remoto [5]. Como visto no tópico 4.3.1, ZigBee End-Devices (ZED) não possuem recursos para retransmissão de frames (pacote de dados) e podem apenas juntar-se a rede e comunicar com um roteador pai. As capacidades de comunicação simplificadas permitem que a maioria das camadas MAC, NWK e funções de gerenciamento sejam retiradas, resultando em um consumo de memória bem reduzido. Adicionalmente, módulos ZEDs denotam de um recurso próprio de redução de consumo energético: o modo sleep. O modo sleep é uma solução para a economia de energia dos módulos sensores de redes ZigBee, onde estes consomem alguns poucos microampères a fim de manter apenas o mínimo funcionamento, entrando em um estado de baixo consumo de energia. Dispositivos em modo de hibernação (sleep mode) são capazes de estar em um ciclo de trabalho onde eles permanecem inativos grande parte do tempo (“dormem”) e acordam periodicamente para sondar o seu pai para qualquer mensagem no buffer. Este utiliza transmissão 802.15.4 indireta 54 para a sondagem (polling) [31]. O ciclo de trabalho do End-Device com a capacidade de modo sleep permite um baixo consumo de potência, elevando assim o tempo de vida da bateria, fator primordial em Redes de Sensores Sem Fio [32]. O modo Sleep pode ser configurado de algumas formas distintas, como o sono cíclico, sono por pino ou as duas formas conjuntamente. Nestes modos, o módulo pode acordar e dormir de acordo com o nível lógico de um pino pré- determinado, ou por períodos, chamados de ciclo [31]. Cabe ressaltar que a atribuição de dispositivos FFD (roteadores e coordenadores) requer que estes armazenem informações que seus nós filhos, RFD, deixarão de receber durante o modo sleep, e manter a rede em funcionamento. Desta maneira, segundo a especificação ZigBee [5], módulos roteadores e coordenadores são incapazes de ativar o modo sleep. Esta limitação faz com que roteadores ZigBee usualmente necessitem de serem conectados a uma fonte de alimentação. 4.3.4. Confiabilidade Como uma das suas características de definição, a especificação ZigBee fornece recursos para executar comunicações seguras, assumindo um modelo de proteção entre dispositivos por meio de encriptação de dados AES (Advanced Encryption Standard) de 128 bits [5]. Entre as camadas de pilha do protocolo, o protocolo ZigBee e as camadas adjacentes IEEE 802.15.4 mantem um modelo de ‘confiança aberta’ (open trust), onde as camadas da pilha do protocolo não são separadas por criptografias. Assim as políticas de segurança permanecem apenas na camada de rede e controlam o acesso unicamente entre dispositivos. Ademais, o protocolo apresenta mecanismos para combater possíveis dispersões encontradas nas transmissões pelo ar. Como o protocolo ZigBee é destinado a operar numa frequência que não necessita de licenciamento (faixa de frequência ISM – Industrial, Scientific and Medical), seus dispositivos poderiam estar sujeitos a sofrer interferência de outros aparelhos que trabalham na mesma frequência. Através de técnicas presentes no protocolo ZigBee, como CSMA/CA (acesso múltiplo com verificação de portadora com 55 anulação/prevenção de colisão), DSSS (espalhamento espectral de sequência direta), entre outras, é possível a coexistência de dispositivos ZigBee e outros sistemas de comunicação sem fio [5]. Outra vertente da análise do quesito de confiabilidade do protocolo ZigBee em RDSSFs abrange a garantia da entrega de pacotes de dados, assumindo diversos fatores que o protocolo busca atender em função do dinamismo da rede. A taxa de perda de dados, minimizada ao máximo quando se busca um protocolo confiável, é dependente de um conjunto de fatores, entre eles: taxa de transferência de dados (throughput) admissíveis; tempo de associação de um dispositivo na rede; alcance (range) de comunicação; velocidade relativa de mobilidade do(s) nó(s) móvel(is) na rede; recursos de reconhecimento de entrega de pacote de dados (ACK); Como um dos fatores na confiabilidade da entrega de pacotes de dados, o valor de throughput representa o número total de dados em um intervalo de tempo (bits/segundos) dirigidos desde a camada MAC de um componente até as camadas superiores de outro(s) nó(s) da rede. Trabalhos, como os de [33], [34] e [35], procuram mensurar a capacidade de throughput máximo do protocolo ZigBee por meio de cálculos práticos, simulações e verificações experimentais. Nestes trabalhos, analisou-se que diversos parâmetros da rede influenciam na obtenção deste dado, como: o efeito de saltos (hops) na comunicação; congestionamento de dados; ordem de entrega; latência; tamanho de pacote de dados; potência de transmissão; entre outros. O trabalho de [33], por exemplo, estimou um valor de máximo throughput para o protocolo ZigBee em 115,5 kbps. Em consequência ao máximo throughput do protocolo ZigBee, está atrelado a máxima velocidade relativa admissível para os componentes de uma rede que utiliza este protocolo. Novamente, diversos fatores influenciam este parâmetro tal que a taxa de entrega de pacotes de dados seja aceita para uma aplicação específica de RDSSF. O trabalho de [36] apresenta como resultado o valor de 5 m/s (18 km/h) como velocidade máxima de um nó móvel antes que a taxa de perda de dados seja considerável para certa aplicação. Por fim, neste quesito de confiabilidade, o protocolo ZigBee conta com o recurso de confirmação de entrega de pacote de dados (acknowledgement – ACK), que eleva o grau de fidelidade dos dados entregues a estação base final para análise em uma RDSSF. 56 4.3.5. Roteamento Roteamento, ou descoberta de rota, é o processo de identificar um caminho para um endereço destino cuja rota é desconhecida. A criação de rotas (links) para comunicação de componentes em uma rede ZigBee, ou meio de roteamento, é baseado no algoritmo de vetor de distância sob demanda (Ad Hoc On-Demand Distance Vector – AODV) [5], uma receita para “inundar a rede com frames até chegar ao endereço de destino”. A parte de ‘inundação’ (tecnicamente conhecido como flooding [33]) ocorre uma vez que a solicitação de rota (Route Request - RREQ) são transmitidas em broadcast e são propagadas pela rede até o destino ser alcançado. Por ser um algoritmo de considerável complexidade para detalhamento, o mesmo pode ser explicado de maneira mais intuitiva através de um exemplo de transmissão de um pacote de dados entre o coordenador da rede e um nó espacialmente distante deste. Na figura 4.3, o nó coordenador é representado pelo nó vermelho (0), e o nó de destino do pacote de dados é representado em azul pelo número 8, na extremidade direita da imagem. Cabe destacar que o nó em vermelho representa o coordenador da rede, os nós em azul são dispositivos roteadores (possuem a capacidade de retransmissão de dados) e os nós em cinza são dispositivos finais (não possuem a capacidade de retransmissão de dados). Figura 4.3 – Descoberta de rota. Fonte: AUTOR [3]. O nó coordenador (0) tem a função de “descobrir” uma rota para o nó de destino (8), considerando que esta ainda não existe. Através do algoritmo 57 embarcado no protocolo, o coordenador cria uma entrada de descoberta de rota (route discovery) em uma tabela de descoberta, e inicia então o processo de descoberta de rota de comunicação entre os componentes. Um frame de comando do tipo pedido de rota (route request – RREQ) é gerado e transmitido, em broadcast (generalizado), para todos os nós que estão em seu alcance de comunicação, denominados nós vizinhos. O frame de comando RREQ é de baixa complexidade e seus principais componentes são a identificação do pedido (ID), o nó de origem da solicitação do pedido (Fonte), o nó anterior que transmitiu o frame (Caminho) e o endereço do nó destino (Dest). A figura 4.4 ilustra a distribuição do frame RREQ do nó coordenador para seus nós vizinhos. Figura 4.4 – Distribuição do frame RREQ do nó coordenador para seus nós vizinhos. Fonte: AUTOR [3]. Após os nós vizinhos receberem o RREQ, eles então criam suas próprias entradas de descoberta e retransmitem, em broadcast, o frame para seus nós vizinhos. Os frames enviados para os nós anteriores (caminhos reversos) são descartados. A retransmissão do frame RREQ continua se propagando através da rede. Cada nó que receber o novo RREQ cria uma entrada para ele, modificando apenas o valor do último nó anterior que transmitiu o frame (Caminho). O processo se propaga até o nó destino receber o frame RREQ. A figura 4.5 58 representa a propagação do frame RREQ para todos os nós roteadores na rota entre o nó coordenador e o nó destino. Figura 4.5 – Descoberta de rota - Propagação do frame RREQ. Fonte: AUTOR [3]. Neste ponto, todos os nós roteadores e o nó destino contêm uma entrada de descoberta de rota para a solicitação de rota. O nó destino cria, então, um frame de comando de resposta a rota (route reply – RREP) e transmite de volta como um frame unicast (direcionado). O destino do próximo salto é especificado pelo endereço do ‘Caminho’ em sua entrada de descoberta de rota. O frame de resposta a rota – RREP – é propagado em transmissão unicast para o endereço ‘Caminho’ na tabela de descoberta até alcançar novamente o nó que originou a solicitação de rota. Isto termina o processo de descoberta de rota. Tem-se neste ponto, uma rota definida para transmissão de dados do nó coordenador (ou qualquer outro nó que faça solicitação de rota) para o nó de destino. Observa-se que a rota completa não é armazenada em nenhum dispositivo, tendo cada dispositivo apenas tem o conhecimento dos seus nós vizinhos. A figura 4.6 apresenta a rota definida para comunicação entre o nó coordenador e o nó destino. 59 Figura 4.6 – Definição da descoberta de rota. Fonte: AUTOR [3]. Cabe aqui ressaltar que, após o procedimento de solicitação e resposta de rota, com ou sem a chegada do frame de resposta ao nó que originou a solicitação de rota, as entradas de descoberta de rota em todos os nós são expiradas após certo tempo. De acordo com a especificação do protocolo ZigBee, este tempo é definido em 10 segundos [5]. Esta temporização das entradas de descoberta de rota nos nós permite o dinamismo de entrada e saída de nós na rede. Se um nó sair da rede, ele não participará no novo processo de descoberta de rota, e um diferente trajeto será automaticamente descoberto. O algoritmo AODV é composto também por outros pontos de maior complexidade, como a redundância de rotas para o destino, custo de link para determinar a melhor rota, entre outros pontos que elevam o nível de aplicação do protocolo ZigBee. Estes não são abordados neste trabalho. 4.3.6. Formação de Rede A formação de rede ZigBee, junto com a descoberta de rota, descobrimento de rede e processo de ingresso de dispositivos, estão entre as principais funções de gerenciamento da rede visando a auto-organização da mesma. Quando uma aplicação de usuário (user app), através de um dispositivo FFD, busca formar uma rede ao invés de se juntar a uma rede existente, é instruído a camada de aplicação (camada de maior nível na pilha do protocolo ZigBee) a chamar a função de formação de rede (mais especificamente, dentro 60 da camada de aplicação, o ZigBee Device Object – ZDO). Apenas um dispositivo roteador com capacidades de coordenador pode formar uma rede e este é indicado nas informações base da camada de aplicação. Quando a função de formação de rede é chamada, uma lista de canais autorizados deve ser fornecida para que se possa limitar a um subconjunto dos canais disponíveis totais. Para os dispositivos ZigBee que operam na frequência de 2,4 GHz, tem-se disponíveis na no total 16 canais, conforme apresentado na figura 4.7. Figura 4.7 – Canais de operação ZigBee 2,4 GHz. Fonte: [8] A função de formação de rede irá então chamar os serviços de varredura de energia (energy scan) e varredura de rede (active scan), ambos serviços da camada de controle de acesso ao meio – MAC -, e realizarão varreduras na lista de canais autorizados fornecida. Quando as varreduras terminarem, uma função de confirmação de varredura retornará as leituras de energia e descrições obtidas da varredura de rede. A partir deste ponto, a função de formação de rede precisará decidir em qual canal se juntar. O critério típico é escolher um canal com a mais baixa leitura de energia (menor quantidade de tráfego) [5]. Uma vez que o canal é selecionado, o dispositivo coordenador definirá uma identificação de Rede de Área Pessoal (PAN ID) e o canal no rádio. O passo final é a camada de rede chamar o serviço de inicialização da MAC, para que as confirmações retornem e sejam transferidas entre as camadas, até que chegue de volta na aplicação do usuário (user app). Baseado na descrição anterior, a figura 4.8 ilustra o processo de formação de rede ZigBee. 61 Figura 4.8 – Diagrama esquemático de formação de redes ZigBee. Fonte: AUTOR. 4.3.8. Descoberta de Rede Outra função importante na auto-organização dos dispositivos em uma rede ZigBee está no processo de descobrimento de rede. Como o próprio nome sugere, o serviço de descobrimento de redes ZigBee é utilizado para descobrir as redes existentes no atual canal. É principalmente utilizado quando o dispositivo é inicializado e precisa descobrir se existem redes adequadas para entrar, embora também possa ser utilizado a qualquer momento através de aplicativo do usuário. Quando uma descoberta de rede é solicitada pela camada de aplicação (novamente, assim como no serviço de formação de rede, mais especificamente, dentro da camada de aplicação, o ZigBee Device Object – ZDO) ou por uma aplicação de usuário, a função de descobrimento chamará o serviço de varredura de rede, presente na camada MAC, o qual, por sua vez, irá transmitir em broadcast uma sinalização de pedido (beacon request). Quando outros dispositivos recebem o beacon request, eles responderão com um frame de sinalização 802.15.4, o qual contêm as informações MAC do dispositivo que está 62 respondendo, tal como um frame genérico de dados (beacon payload). Dentro deste frame, o dispositivo de resposta incluirá as informações de rede ZigBee, tal como a identificação do protocolo e versão, quantidade de roteadores e end- devices permissíveis para agrupar a rede, o perfil de dispositivo que este está sendo utilizado (coordenador, roteador ou end-device), e outras informações adicionais. Quando as sinalizações (beacons) do pedido de varredura de rede são recebidas, o dispositivo adicionará ambas as informações das camadas MAC e NWK para sua lista de descrição de varredura e tabela de nós vizinhos. Após todas informações das sinalizações serem coletadas, uma confirmação de descobrimento de rede será enviada para a camada de aplicação (ZDO) com a lista contendo todas as descrições da varredura de rede. O ZDO ou o user app terão então que decidir em qual rede se agrupar baseado em um certo critério de entrada. É neste critério que o usuário pode especificar se ele apenas quer que seus dispositivos adentrem em determinada rede ou mesmo se há um dispositivo específico que ele desejaria agrupar. A figura 4.9 apresenta um diagrama esquemático da sequência de descobrimento de redes ZigBee, baseado na descrição anterior. Figura 4.9 – Diagrama esquemático de descoberta de redes ZigBee. Fonte: AUTOR. 63 4.3.9. Ingresso a Rede Ingressar um dispositivo a uma rede, ou permitir a ingressão de um dispositivo a rede, é provavelmente um dos processos mais complexos no protocolo ZigBee. A primeira parte do processo de ingressão para o nó filho é realizar a descoberta de rede (network discovery). Este é usualmente feito quando o dispositivo é inicializado e não está associado com nenhuma rede como mencionado anteriormente. Uma vez que a descoberta de rede é completa e o potencial nó pai esteja de acordo com os critérios de entrada, inicia-se o processo de ingressão. Quando o potencial nó pai tem sido escolhido, um pedido de solicitação de ingressão a rede (network join request) é chamado pela camada de aplicação (ZDO). O join request chamará o serviço de associação, serviço presente na camada MAC, e emite um pedido de associação para o potencial nó pai. Se os critérios de permissão de ingresso do nó pai atenderem a solicitação de ingresso do nó filho, uma confirmação de associação é enviada de volta ao nó filho. Quando esta resposta é recebida, ela passara pela camada de rede via a resposta de associação da camada MAC. Se o ingresso for bem-sucedido, o dispositivo atualizará suas tabelas de informações das camadas NWK e MAC para incluir o novo endereço de rede, a identificação de Rede de Área Pessoal (PAN ID), e também atualizar a tabelas de vizinhos para especificar seu pai. Uma vez que o trabalho administrativo é concluído, a confirmação de ingresso a rede é enviada até o ZDO, onde este pode informar a aplicação sobre o status de ingresso. Se o status de ingresso não obteve sucesso, então a aplicação deve escolher um outro potencial nó pai da tabela de vizinhos e tentar novamente o procedimento de ingresso até este eventualmente se ingresse na rede ou se esgotem os potenciais nós pais. Uma das últimas ações que ocorre após um ingresso bem-sucedido é que o dispositivo transmitirá um anúncio informando a todos os nós na rede sobre seu ingresso, informando assim seus endereços de 16 e 64 bits. Isto é importante pois, se o dispositivo estava previamente ingresso na rede, os outros dispositivos serão capazes de descobri-lo através do seu endereço de 64 bits (fixo) e poder limpar todas as referências ao antigo endereço de rede. Ademais, as 64 informações de endereço serão adicionadas ao mapa de endereço de todos dispositivos que pode ser rastreada por qualquer nó da rede. A figura 4.10 ilustra o processo de ingresso do nó filho em uma rede ZigBee, conforme descrito. Figura 4.10 – Diagrama esquemático de ingresso de redes ZigBee visto pelo nó filho. Fonte: AUTOR. O lado do nó pai no processo de associação é ligeiramente mais fácil. Quando um pedido de associação chega ao potencial pai, este envia uma indicação a camada de rede que um dispositivo está tentando ingressar a rede. O potencial pai procurará então em sua tabela de vizinhos para verificar se o endereço de 64 bits do solicitante já existe. Se existir, então significa que o dispositivo já previamente ingressara e o pai simplesmente emitirá o mesmo endereço de rede para este. Caso não exista registro do dispositivo na tabela de vizinhos, e o pai esteja em permissão de ingresso de dispositivos, então ele simplesmente adicionará o dispositivo à sua tabela de vizinhos especificando que é um dispositivo filho e gerará um novo endereço de rede para ele. Isto tudo é empacotado e enviado de volta ao nó solicitante de ingresso como uma resposta de associação. A figura 4.11 ilustra o processo de ingresso do nó filho vista pelo nó pai em uma rede ZigBee, conforme descrito. 65 Figura 4.11 – Diagrama esquemático de ingresso de redes ZigBee visto pelo nó pai. Fonte: AUTOR. 4.4. Análise Com o estudo aprofundado das principais funcionalidades presentes nas camadas do padrão ZigBee, é possível confrontar os recursos presentes deste protocolo com as necessidades funcionais de Redes Dinâmicas de Sensores Sem Fio, de maneira a obter a análise, propriamente dita, da viabilidade de aplicação do ZigBee na vertente dinâmica de RSSFs. Com o intuito de realizar esta análise, são abordados nesta seção os recursos levantados como necessidades funcionais de RDSSF, item a item, confrontando com a realidade do padrão ZigBee. Primeiramente, no quesito da necessidade funcional de gerenciamento de energia, o protocolo ZigBee apresenta um recurso bem desenvolvido de hibernação dos módulos sensores (modo sleep), capaz de reduzir consideravelmente o consumo de energia de módulos terminais (end-devices) e operar com verificações temporárias de qualquer solicitação de um nó pai. Este recurso se mostra como ponto positivo de aplicação do ZigBee em RDSSF, uma vez que, enquanto o dispositivo móvel estiver fora do alcance de comunicação com os demais dispositivos, estes poderão permanecer em estado de baixo consumo de energia com verificação temporária da presença do dispositivo móvel com alguma solicitação. Ademais, o consumo de energia se torna uma das maiores restrições no projeto de redes de sensoriamento remoto, uma vez com grande número de nós sensores, e/ou em áreas remotas ou inóspitas, a substituição ou recarga manual das fontes de energia desses elementos pode se tornar uma atividade inviável. A funcionalidade do modo sleep no padrão 66 ZigBee se mostra uma boa opção para reverter esta situação com a associação, por exemplo, de módulos de captação de energia alternativa (placas fotovoltaicas, por exemplo) [31]. Avançando na análise, a auto-organização se mostra uma funcionalidade essencial na aplicação de Redes Dinâmicas de Sensores Sem Fio, buscando a rápida reorganização dos componentes de acordo com a mobilidade do(s) nó(s) dinâmico(s), tão bem como a reestruturação da rotas de dados, e a constante associação, dissociação e re-associação dos componentes da rede. O protocolo ZigBee, com suas funções bem definidas de “Roteamento”, “Formação de Rede”, “Descoberta a Rede” e “Ingresso de Rede”, exerce com satisfação as necessidades de controle de entrada e saída de dispositivos na rede, apoia as tarefas vinculadas a construção da topologia de rede. O robusto algoritmo de roteamento presente no protocolo ZigBee (AODV) permite o dinamismo de entrada e saída de nós na rede com a temporização das entradas de descoberta de rota que são expiradas a cada 10 segundos, possibilitando que diferentes trajetos de dados sejam automaticamente descobertos de acordo com a movimentação dos nós da rede. Os critérios de confiabilidade e segurança em Redes Dinâmicas de Sensores Sem Fio são inclusos no ZigBee com encriptação de dados, chaves de rede e autenticação de dispositivos. Por outro lado, a velocidade e taxa de transferência (throughput) da rede, assim como o tempo requerido para entrada e saída de dispositivos na rede (10 s), podem limitar (ou não garantir a comunicação) a utilização do protocolo ZigBee em aplicações de RDSSF com altas velocidades de mobilidade entre os dispositivos. Trabalhos na área [33], [34], [35] e [36] demonstram certa deficiência do protocolo ZigBee em aplicações de alta velocidade de mobilidade de nós, garantindo a confiabilidade na entrega de dados apenas em aplicações com nós móveis de baixas velocidades (até 18 km/h). Mesmo com esta limitação, o protocolo ZigBee dispõe do recurso de confirmação de entrega de pacotes de dados (ACK), para os casos em que seja necessário o uso deste para garantir a entrega de dados em aplicações de RDSSFs. O parâmetro de máxima associação por dispositivo, critério que pode limitar a extensão de uma RDSSF, é definido no padrão ZigBee por meio do processo de descobrimento de redes, através do parâmetro NC. Os valores 67 limites para associação permissível de dispositivos do tipo coordenador é definido em 10 filhos, e para roteadores, 12 filhos. Estes valores, no padrão ZigBee, acabam impondo certa limitação do protocolo em aplicações de RDSSF que propõem aglomeração (cluster) de nós sensores em um nó central (usualmente do tipo roteador) e/ou comunicação de vários roteadores com o nó coordenador ao mesmo tempo. Entretanto, aplicações de RDSSF que não atinjam estes valores são devidamente satisfatórias com o padrão ZigBee, até mesmo sendo o número limite de nós em uma rede ZigBee bem vasto (65.000 dispositivos). Atenta-se também a existência do parâmetro de “End Device Poll Timeout”, com a retirada de nós filhos da ‘Child Table’ de acordo com a equação 4.1. Este parâmetro permite a rotação periódica de nós filhos para o mesmo dispositivo, permitindo a associação de diferentes nós filhos em tempos diferentes (e localizações), devendo ser relacionado de maneira adequada com o parâmetro de máxima associação por dispositivo (NC) para um bom desempenho da aplicação de RDSSF. A independência de nós em RDSSF, compreendido pelo funcionamento da rede mesmo quando um ou mais nó não estiver presente na área de cobertura de comunicação, ou apresentar falha, é o único requisito não atendido pelo protocolo ZigBee. Uma vez que o Coordenador ZigBee (ZC) agrega as funções de gerenciamento da rede, é mandatório a presença deste em qualquer rede ZigBee. Ainda assim, esta dependência em RDSSFs ZigBee pode ser superada com a utilização de um nó coordenador móvel na rede. Nesta situação, toda vez que o ZC móvel entra na área de cobertura de outros nós, as funções de formação, associação e descoberta de rede são inicializadas, permitindo a comunicação dinâmica requerida pela RDSSF. Como resultado, as aplicações de RDSSF ZigBee com roteadores (ZR) móveis e/ou sensores (ZED) móveis são apenas possíveis se os dispositivos móveis se deslocam até a área de cobertura de comunicação do ZC e apenas transmitem dados para este dispositivo. Por fim, a utilização de um protocolo de grande aceitação mundial é umas das maiores vantagens da aplicação do ZigBee para RDSSF, flexibilizando e permitindo o uso de qualquer dispositivo compatível com o padrão ZigBee para aplicações de RDSSFs. Em síntese, considerando as necessidades funcionais esperadas para RDSSFs, o protocolo ZigBee trata de maneira satisfatória os quesitos de 68 gerenciamento de energia, auto-organização e interoperabilidade. Os critérios de confiabilidade e associações permissíveis por dispositivos apresentam certas limitações para aplicações específicas de RDSSFs. Por fim, o único critério não atendido pelas RDSSFs ZigBee é a independência de nós, uma vez que toda rede ZigBee obrigatoriamente necessita de um nó coordenador ativo. A tabela 4.1 apresenta uma síntese da análise de viabilidade através da comparação das especificações ZigBee e requisitos de RDSSF. De maneira geral, a análise provou que o protocolo ZigBee atende satisfatoriamente aplicações de RDSSFs de amplas áreas de coberturas, e possui suas limitações de aplicações específicas, conforme apresentado. Tabela 4.2 – Visão geral da análise de viabilidade de aplicação do protocolo ZigBee em RDSSFs. Requisitos de RDSSFs Funcionalidades do Protocolo ZigBee Análise Gerenciamento de Energia  Modo Sleep  Verificações temporárias (Polling Request) Redução considerável no consume de energia de dispositivos com verificação de solicitações de comunicação e operação em modo de consumo reduzido de energia; Auto-organização  Roteamento AODV  Formação de Rede  Descoberta de Rede  Associação de Rede Gerenciamento satisfatório de entrada e saída de dispositivos na rede, com recursos automáticos de criação de redes, topologias e rotas de comunicação; Possibilidade de descoberta automática de nós na área de cobertura; Temporização das entradas de nós filhos (End Device Poll Timeout) pode limitar certas aplicações; Confiabilidade  AES de 128 bits;  Autenticação de rede;  Confirmação de entrega de pacote de dados (ACK) Recurso satisfatório de encriptação de dados, com autenticação de dispositivo para comunicação segura e confirmação de transmissões de mensagem; Limitação para aplicações com altas velocidades de mobilidade de nós (suporte confiável até 18 km/h); Associações permissíveis  NC (Number of Remain Children)  Número de dispositivos em rede Valores especificados para máxima associação por dispositivo podem limitar certas aplicações; Número máximo de dispositivos na rede satisfatório; Indeoendência de nós  Dependência do nó coordenador Funções de gerenciamento de rede são exclusivas para o Coordenador ZigBee (ZC); Dependência do ZC contornada com a utilização de nó coordenador móvel para RDSSF; Interoperabilidade  Protocolo de grande aceitação mundial Camadas e funções do padrão permitem flexibilidade e interoperabilidade de equipamentos; Fonte: Autor. 69 4.5. Considerações Finais Este capítulo abordou, com o estudo aprofundado do protocolo ZigBee e as devidas necessidades funcionais de RDSSFs, a análise de viabilidade de aplicação do padrão ZigBee na vertente dinâmica de Redes Dinâmicas de Sensores Sem Fio. Os resultados, baseados no levantamento teórico e estudo aprofundado da especificação ZigBee, demonstraram que o protocolo ZigBee é viável e satisfatório nos requerimentos funcionais para aplicações de RDSSFs de baixo custo e baixa potência, com destaque para os quesitos de gerenciamento de energia, interoperabilidade, auto-organização. Por outro lado, foram observadas certas limitações de utilização do ZigBee para aplicações específicas de RDSSF. Há uma limitação no número de associações simultâneas de nós (10 para ZC e 12 para roteadores) que prejudicam aplicações com grandes aglomerações de dispositivos (clusters). O período requerido (10 s) para entrada e saída de dispositivos e descoberta de rota, assim como o máximo throughput (115,5 kbps) e velocidade máxima relativa admissível para mobilidade dos nós antes de perda considerável de dados (18 km/h) teóricos, podem também limitar aplicações específicas de RDSSF ZigBee com altas velocidades de mobilidade entre os componentes. Por fim, a independência de nós foi o único requisito não atendido pelo protocolo para RDSSFs, uma vez que a presença do ZC é obrigatória para operação da rede. Entretanto, estas limitações não inviabilizam a utilização do ZigBee em grande parte das aplicações de RDSSFs. O próximo capítulo aborda uma metodologia de aplicação ZigBee em RDSSF, criando uma abordagem generalizada de se utilizar módulos ZigBee em diversas aplicações de sensores sem fio que apresentem mobilidade dos componentes na rede, para posterior validação experimental de desenvolvimento de uma RDSSF utilizando-se o padrão em questão. 71 5. METODOLOGIA DE APLICAÇÃO ZIGBEE EM RDSSF 5.1. Considerações Iniciais Este capítulo aborda uma metodologia padrão de desenvolvimento e implementação do protocolo ZigBee em aplicações de RDSSF, baseando-se em diagramas esquemáticos de comunicação entre os módulos ZigBee, de forma a permitir uma abordagem generalizada de se utilizar dispositivos ZigBee em diversas aplicações de sensores sem fio que apresentem mobilidade dos componentes na rede, considerando entradas e saídas constantes de dispositivos na rede e comunicação dinâmica (intermitente) de dados entre eles. Esta metodologia de aplicação está baseada no modelo de comunicações ponto- a-ponto (topologia estrela). 5.2. Visão Geral A aplicação de uma RDSSF (na qual nem todos os módulos sejam estáticos ou fixos) se dá pela movimentação de um ou mais módulos, denominados módulos dinâmicos, dentro da área de cobertura de outros módulos fisicamente estáticos e/ou móveis [31]. A metodologia apresentada neste trabalho busca viabilizar o uso de redes de comunicação sem fio baseadas no protocolo ZigBee para aplicações que demandem a mobilidade dos dispositivos que fazem parte da rede, através de um procedimento específico de troca de mensagens (comunicação) ent