Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 CRIAÇÃO DE REDES AD HOC PARA REDES DE SENSORES SEM FIO Andrius Henrique Sperque Prof. Dr. Omar Carvalho Branquinho Faculdade de Engenharia Computação CEATEC [email protected] Faculdade de Engenharia Elétrica CEATEC [email protected] Resumo: Com o advento das comunicações sem fio foram estabelecidas as Redes Sensores Sem Fio (RSSF), contribuindo assim com estudos nas áreas de sensoriamento, algoritmos de roteamento, protocolos de roteamento, aplicabilidade de sensores e diversos outros fatores que integram esse tipo de rede. Este relatório apresenta o estudo de protocolos MAC utilizando o protocolo SimpliciTI como uma solução para criação de redes AD-HOC para redes de sensores sem fio. O protocolo possibilitou a criação de redes AD-HOC simples e com baixo consumo de energia, como é descrito no relatório. Também são descritos os estudos realizados para a concepção das redes e aspectos que levaram a criação da MAC. Palavras-chave: Wireless Sensor Network, protocolos, MAC. Área do Conhecimento: Sistemas de Telecomunicações – Gestão de Redes e Serviços – Qualidade de Serviço de Telecomunicações – CNPq. 1. INTRODUÇÃO Redes AD-HOC são um novo paradigma de redes sem fio para dispositivos (nós) móveis. Diferente das tradicionais redes móveis sem fio, as redes AD-HOC não retransmitem dados sobre uma infra-estrutura fixa tal como um roteador ou estação base de transmissão. Em vez disso, nós móveis retransmitem os dados uns sobre os outros, mantendo a rede conectada [1], tendo, portanto cada nó uma parcela da função de roteador. Essa retransmissão da informação mostra a importância do processo de roteamento entre os nós da rede AD-HOC no contexto das redes de sensores sem fio (RSSF), devido a esse fato, esse documento trata de protocolos MAC ligados a esse tipo de rede, apresentando o Protocolo SimpliciTI como uma possível opção para implementações de RSSFs. Protocolos de Controle de Acesso ao Meio (Medium Access Control Protocol – MAC) tem o propósito de resolver uma simples questão: coordenar os tempos nos quais os nós da rede acessam o meio [2]. Esse é o primeiro protocolo acima da camada física, por isso está intimamente ligado ao hardware e suas propriedades. Alguns dos principais requerimentos para o desenvolvimento de um protocolo MAC para redes sem fio são: melhores taxas efetivas de comunicação (throughput), eficiência, estabilidade, distância, baixos atrasos e baixo nível de colisões. [2] Devido a essa proximidade com hardware e controle do mesmo, é de fundamental importância a preocupação do protocolo para com o consumo energético, uma vez que redes de sensores sem fios geralmente utilizam como fonte energética baterias com cargas finitas. Portanto, o fator energético é um aspecto vital na sobrevivência da rede de sensores sem fios e algumas técnicas de diminuição do consumo são apresentadas neste documento. 2. MONTAGEM DA BANCADA PARA REDE DE SENSORES Os objetivos deste trabalho tratam-se do desenvolvimento e análise de protocolos de controle de acesso ao meio (MAC) para Redes de Sensores Sem Fio (RSSF), os quais visão sempre à otimização do alcance entre os nós e a eficiência quanto ao consumo de energia para aumento da vida útil da RSSF. 2.1. BANCADA PARA REDE DE SENSORES Buscando atingir os objetivos propostos, foi montada uma bancada para testes utilizando os kits de desenvolvimento EZ430-RF2500 da Texas Instruments, projetados para redes de sensores sem fio de baixo consumo de energia. Os kits de desenvolvimento estão integrados com microcontroladores MSP430 (Ultra Low Power) e transceptores CC2500, ambos de baixo de potência. Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 Com a bancada pronta, por intermédio do orientador, adquirimos uma licença gratuita do software “IAR Embedded Workbench® para TI MSP430”, versão 4.11A, como mostrado na figura 2, com duração de 1 ano para ser utilizada nessa nova bancada. Abaixo a Figura 1 mostra uma imagem da bancada já pronta para utilização. MSP430F2274 (modelo integrado ao kit de desenvolvimento). Como cada processador possui seus próprios conjuntos de Instruções, foi necessário estudar sua biblioteca de instruções, assim como suas características técnicas, como tensão de energização, freqüências de trabalho e seus periféricos. Periféricos tais como portas seriais, controladores Analógicos Digitais, LCD, e outros. Devido à grande importância do transceptor, sendo o componente que realiza toda a comunicação pelo espaço, e um componente que necessita de atenção quanto ao consumo de energia, também nesse período e com o passar do tempo, foram estudadas suas características. 3.2 Estudos referentes ao software Os tópicos sobre protocolos MAC estudados seguem uma referência bibliográfica principal [2], e os mesmos foram abordados em reuniões periódicas com o orientador. Os temas estudados foram: Figura 1: Bancada para pesquisas em RSSFs • Fundamentos de Protocolos MAC. (Fundaments of (wireless) MAC Protocols); O software é fundamental para a realização da compilação de códigos fontes para os processadores utilizados nos nós. Além disso, através dele são feitas gravações e testes dos programas nos kits de desenvolvimentos utilizados. • Conceitos de Acordar e Dormir (Low duty cycle protocols and wakeup concepts); • Protocolos baseados em (Contention-Based Protocols); • Protocolos baseados em Agendamentos. (Schedule-based protocols); • Protocolos MAC IEEE 802.15.4. (The IEEE 802.15.4 MAC protocols). Contendas. Cada protocolo apresenta uma característica especial, que pode vir a ser utilizada em uma determinada aplicação da rede de sensores sem fio. Redes que buscam a eficiência na energia tendem a ser customizadas. Portanto, uma análise de todo o sistema onde a rede sem fio será implantada é extremamente importante no momento do projeto da rede. Figura 2: Software IAR Embedded Workbench® para TI MSP430 3. PESQUISAS E ESTUDOS 3.1 Estudos referentes ao hardware Após a montagem da bancada iniciamos o período de pesquisas estudando o microcontrolador Após o período de estudos dos conceitos e protocolos atuais, iniciamos pesquisas e estudos sobre o SimpliciTI Stack Protocol (Pilha de Protocolo SimpliciTI), também da empresa Texas Instruments. SimpliciTI é um protocolo baseado em conexões ponto - a - ponto para redes de sensores sem fio com baixo consumo de energia. Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 4. REDES CRIADAS 4.1. Hardware adotado Um nó básico é composto por aproximadamente cinco componentes físicos: microcontrolador, memória, transdutores e/ou atuadores, transceptor e fonte de energia. [2] permitem dimensionar o tempo aproximado em que um sensor permanecerá em funcionamento até que sua bateria acabe. Portanto, para a criação das RSSFs apresentadas nesse documento foram utilizados o microcontrolador MSP430F2274 cuja memória interna é 32kB Flash, 1KB de RAM, o transceptor CC2500 trabalhando na freqüência de 2.4GHz, ambos integrados no kit de desenvolvimento eZ430– RF2500. A fonte de energia utilizada foi uma bateria de 3 Volts (2 pilhas AAA ligadas em série, fornecendo 600 mAH quando em série). O sensor utilizado é um sensor interno ao microcontrolador cujo qual mede a temperatura de funcionamento do mesmo. Modo Consumo (mA) Tensão (V) Normal 26,0 3,0 LPM0 0,495 3,0 LPM1 0,495 3,0 LPM2 0,291 3,0 LPM3 0,223 3,0 LPM4 0,268 3,0 O microcontrolador e o transceptor possuem recursos para minimizar o consumo de energia, eles podem ser colocados em modo de baixo consumo quando não estão sendo utilizados. O MSP430F2274 possuí 5 modos de baixo consumo que são ativados durante a execução do programa e de acordo com a escolha do programador, como mostra a Tabela 1. Tabela 2. Consumo de energia do kit eZ430-RF2500 O transceptor CC2500 pode ser desligado quando não houver a necessidade de transmissão. Além dessa opção, o mesmo pode entrar em modo de Idle Listen (Escuta inativa) o que permite que ele possa transmitir mas não ouvir o meio. E com isso economizar energia. A Figura 3 mostra os dispositivos que integram o kit de desenvolvimento eZ430-RF2500. Tabela 1. Modos de operação do MSP430F22x4 Modo Descrição Normal Funcionamento normal, CPU ativa e todos os sinais de clock ativos LPM0* CPU parada e o sinal de clock principal é desativado. Os sinais de clock auxiliares (SMCLK e ACLK) permanecem ativos. LPM1 Idem ao LPM0, mas o DCO é desativado caso não esteja sendo utilizado para gerar o SMCLK ou o ACLK LPM2 Idem ao LPM1, mas o sinal SMCLK é desativado LPM3 Idem ao LPM2, mas o gerador DC do DCO é desativado LPM4 A CPU e todos os sinais de clock são desativados * LMP: Low Power Mode Na tabela 2, são mostrados os valores de tensão e corrente medidos em laboratório. Tais medições Figura 3. Kit de desenvolvimento eZ430-RF2500. Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 5. SIMPLICITI PROTOCOL O SimpliciTI Protocol é um protocolo MAC com código fonte aberto desenvolvido para redes de sensores sem fio, é baseado em conexões ponto-aponto sendo possíveis duas topologias básicas: ponto-a-ponto e topologia estrela. Suporta três diferentes tipos de sensores: Access Point, End Device e Ranger Extender. [12] Figura 5. Conexão ponto-a-ponto direta com RE. End Device (ED): é o dispositivo final, o qual realiza a função da camada de aplicação, o End Device pode ou não estar sempre ligado e pode ser transmissor e receptor (TX/RX), ou somente transmissor (TX). Access Point (AP): é o ponto principal da rede e deve ter uma bateria backup ou ser alimentado constantemente, o protocolo SimpliciTI permite somente um AP por rede. O AP pode fazer o gerenciamento de endereços da rede, gravar e enviar mensagens para dispositivos RX dormirem e funcionar como um ED ou um Ranger Extender. Figura 6. Store-and-forward ponto-a-ponto através do RE e AP. Ranger Extender (RX): têm a função de retransmitir uma determinada mensagem a outros sensores. Um Ranger Extender pode conter um atuador (funcionalidade do ED). 5.1. Topologias Nas Figuras 4, 5, 6, 7 são mostradas as topologias suportadas pelo protocolo SimpliciTI. Podemos pensar em duas formas de caminho de dados: Lógico e Real. No caminho lógico estaremos pensando em comunicação direta (pear-to-pear). No entanto muitas vezes essa comunicação não é possível, seja pela distância entre os pontos ou outros fatores. Por isso temos os caminhos reais, nos quais as mensagens podem ser retransmitidas e avaliadas. Figura 7. Topologia de rede para AP funcionando como Hub de dados. 5.2. Arquitetura SimpliciTI O software SimpliciTI conceitualmente apresenta 3 camadas, sendo a camada de aplicação a porção necessária que o programador necessita para realizar seus desenvolvimentos. O suporte para a comunicação sem fio é por um conjunto de símbolos (funções) da interface de aplicação (application interface - API) usados para inicializar, configurar o transceptor e processador, escrever e ler as mensagens que fluem pela rede. 5.2.1. Camada de Aplicação (Application Layer) Figura 4. Conexão ponto-a-ponto direta e conexão storeand-Forward ponto-a-ponto através de AP, respectivamente. É a camada na qual o desenvolvedor cria suas aplicações, as quais vão utilizar recursos do processador e possivelmente realizar a interação com o ambiente. 5.2.2. Camada de Rede (Network Layer) Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 A Camada de Rede faz o gerenciamento da rede, e na realidade cria a abstração para o programador das funcionalidades da camada de aplicação. 5.2.3. Mínima Interface de RF (Minimal RF Interface - MRFI) Essa camada abstraí o que é basicamente uma interface de leitura/escrita para a interface de rádio. 5.2.4. Pacote de Suporte ao Circuito (Board Support Package - BSP) BSP é abstraído da arquitetura como veremos na Figura 8, mas sua função é fazer o mínimo suporte para processadores alvos do SimpliciTI. Nesta etapa, estão envolvidas as configurações de interrupções, entradas e saídas (Leds, chaves e etc.) também chamadas de GPIO lines, e a interface SPI para o sistema de rádio. Inicializar Board Package (bsp_init) Inicializar Rádio Inicializar pilha de protocolo (smpl_init) Camada de Aplicação (Rotina de Aplicação) Figura 9. Passos da inicialização da Rede Figura 8. Arquitetura SimpliciTI. 6. RESULTADOS E CRIAÇÕES DE REDES Após mencionada as características principais do protocolo SimpliciTI e do hardware empregado no desenvolvimento das redes, passamos a descrever o funcionamento das redes e como o protocolo foi adaptado para as tais. Todas as redes seguem uma inicialização padrão, como a descrita abaixo e apresentada pela Figura 9. Na Figura 9 são mostrados quatro passos importantes. O primeiro passo é a inicialização do Board Package (pacote da placa), sendo essa definição a que configura o hardware para o funcionamento do SimpliciTI e inicialização dos periféricos do microcontrolador. O segundo passo importante é a inicialização e configuração do transceptor. O terceiro passo é o Smpl_init o qual irá inicializar a pilha de protocolo SimpliciTI. O quarto e último passo é a criação das aplicações. 6.1. Rede Ponto-a-Ponto (PEAR-TO-PEAR - P2P) A rede Pear-to-Pear é uma rede onde não há uma distinção de clientes e servidores, mas sim, somente pontos iguais que podem assumir o papel de servidor ou cliente durante uma comunicação. É uma rede simples que envolve apenas a comunicação entre dois dispositivos em um determinado instante. As conexões são feitas através de chamadas ao sistema operacional, no caso, o SimpliciTI Protocol. Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 Link to (aguarda até haver conexão) Piscar Leds (Sinaliza ocorrência de Conexão) Access Point - AP End Device - ED Listen to (Realiza conexão com o número de EDs requeridos) Link to (aguarda até haver conexão com AP) Piscar Leds (Sinaliza ocorrência de Conexão) Rotina Infinita: Rádio em Modo Sleep Rotina Infinita: Rotina Infinita: Processador em Modo Sleep AP permanece sempre ligado a uma fonte de energia. Portanto não necessita entrar em modo econômico. Rádio em Modo Sleep Temporizador Processador Acordado Rádio Acordado Processador Modo Sleep Temporizador Processador Acordado Rádio Acordado Cria Mensagem Envia Mensagem (Send) Recebe Mensagem (Receive) Envia Mensagem(Send) Recebe Mensagem (Receive) Figura 10. Aplicação para Rede P2P com EDs. Figura 11. Aplicações para rede ponto-Multiponto. Aplicações: as aplicações para esse tipo de rede são imensas, havendo desde um simples dispositivo para abertura de portões eletrônicos até um dispositivo para realização de trocas de informações importantes. 6.2. REDE PONTO-MULTIPONTO Redes ponto multiponto são redes nas quais um AP central recebe ou envia dados para vários EDs conectados diretamente a ele. O protocolo SimpliciTI fornece ao AP a capacidade de controle dos End Devices, significando que o AP pode coordenar os momentos em que os End Devices irão entrar em modo de baixo consumo de energia e realizar um agendamento dos momentos em que os EDs devem transmitir. Esse gerenciamento é importante para que não haja colisões, overhearing e etc, pois isso exige que haja uma nova transmissão, resultando em um consumo maior de energia. Aplicações: Comunicação Broad Cast com os EDs, gerenciamento de sensores, centralização de informações e outras. 7. RESULTADOS Segundo o artigo de Sunil Kumar, Vineet S. Raghavan e Jing Deng [8], os protocolos MAC (Medium Access Control) são responsáveis por coordenar os acessos ao meio dos nós ativos. Como cada ambiente pode vir a apresentar características distintas, alguns protocolos podem se tornar inviáveis, isto é, a rede pode não funcionar devido ao protocolo MAC não atender os requisitos necessários para aquele ambiente. Para exemplificar tal situação podemos citar dois ambientes distintos: uma sala fechada e um campo de plantação de cana-de-açúcar. Nesses dois ambientes a distância, densidade de sensores, obstruções no meio físico, são fatores chaves para a escolha de um protocolo. Não é somente o ambiente que pode inviabilizar ou viabilizar o uso de um protocolo, segundo Gang Lu, Bhaskar Krishnamachari, Cauligi S. Raghavendra, no artigo [5], eles descrevem como principais desafios de uma rede de sensores sem fio, a Energia, Latência, distância e Perda de Dados, sendo a energia o fator mais importante atualmente. Anais do XV Encontro de Iniciação Científica da PUC-Campinas - 26 e 27 de outubro de 2010 ISSN 1982-0178 Para que possamos minimizar o consumo de energia, além da escolha de componentes de baixo consumo energético, é necessário levar em consideração tempos em que os sensores não estarão realizando função alguma ou não estarão realizando comunicações, e assim modificar os estados de operação dos componentes, isto é, a desativação e ativação de recursos do processador e transceptor. Segundo as medições realizadas em bancada, comprovamos que na plataforma Texas o transceptor é o componente que consome mais energia, e que esse consumo pode ser reduzido drasticamente quando mudamos seu estado de ligado, para dormindo. A tecnologia eletrônica que constituem as RSSFs tem evoluído, e as estratégias de mudança de estados são fundamentais para minimização do consumo de energia. O artigo [5] relata quão importante são essas mudanças e como podem ocorrer. As redes criadas utilizando o protocolo SimpliciTI proporcionaram uma conexão estável entre os sensores. 8. CONSIDERAÇÕES FINAIS Este trabalho tratou da criação e estudo de protocolos MAC. Isso possibilita que redes mais avançadas possam ser criadas e adaptadas em ambientes distintos, ocasionando mais estudos e obtenção de conhecimento. 1.1 AGRADECIMENTOS Gostaria de agradecer ao Professor Dr. Omar Carvalho Branquinho pelas suas orientações e pela sua amizade. Agradeço também a FINEP por financiar o Laboratório de Pesquisas em Sistemas de Rádio (LP-SiRA) da Puc Campinas e IAR Systems por gentilmente conceder uma licença do software “IAR Embedded Workbench® para TI MSP430”. REFERÊNCIA [1] Lidong Zhou and Zygmunt J. Haas. Securing Ad Hoc Networks. IEEE Networks Special Issue on Network Security. November/December, 1999. [2] Karl, H., Willig, A., (2005), Protocolsand Architectures for Wireless Sensor Networks, 1sted., Wile [3] IEEE Std 802.11 Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. ANSI/IEEE Std 802.11, Information technology , 1999 Edition. [4] Slijepcevic, S.e Potkonjak, M. (2001). Power Efficient Organization of wireless sensor networks. In IEEE International Conference of Communications, volume 2, pp. 472 – 476. [5] Gang Lu, Bhaskar Krishnamachari, Cauligi S. Raghavendra, "An Adaptive Energy-Efficient and Low-Latency MAC for Data Gathering in Wireless Sensor Networks," ipdps, vol. 13, pp.224a, 18th International Parallel and Distributed Processing Symposium (IPDPS'04) Workshop 12, 2004. [6] Yuan Li, Wei Ye, John Heidemann. Medium Access Control in Wireless Sensor Networks. In USC/ISI Technical Report ISI-TR-580, October 2003. [7] SOUZA, Fernanda S. H. Algoritmos Para o Problema de Atribuição de Papéis em Redes de Sensores sem Fio. Belo Horizonte, 2007 [8] G.Boriello and R. Want. Embedded Computation Meets the World Wide Web. Communications of the ACM, 43(5); 59-66, 2000. [9] S. Kumar, V. S. Raghavanb, and J. Dengc. Medium Access Control Protocols for Ad Hoc Wireless Networks: A Survey. Ad Hoc Networks (Elsevier), vol. 4(3), pp. 326--358, May 2006. [10] Karl, Holger; Willig, Andreas. Protocols and Architectures for Wireless Sensor Networks. England: John wiley & Sons Ltd. 2005. [11] Texas Instruments. RF/IF and ZigBee® Solutions. SimpliciTI Stack protocol. Documentação. Disponível em: <http:/www.ti.com/simpliciti>. Acesso em: 25 de junho de 2010. [12] Texas Instruments. MSP430 Wireless Development tool.EZ430-RF2500. Disponível em: <http://focus.ti.com/docs/toolsw/folders/print/ez4 30-rf2500.html>. Acesso em: 25 de junho de 2010.