Redes de Sensores Sem-fio Pedro Lemos Tavares [email protected] [email protected] 10/12/2002 Universidade Federal do Rio de Janeiro Engenharia Eletrônica – Redes de Computadores I Professor Otto Carlos Muniz Bandeira Duarte Resumo - Neste trabalho são abordados os principais conceitos presentes nas Redes de Sensores Sem-fio. Como o tópico ainda não possui muitas implementações e sim grupos de estudo, como o IEEE P1451.5 [4], é dada preferência a explicitação do problema e possíveis soluções no âmbito conceitual. Detalhes práticos muitas vezes são omitidos justamente pela falta de um padrão atualmente definido. 2 Índice I. Introdução ............................................................................................................ 5 II. Aplicações ........................................................................................................... 6 i. Aplicações Médicas ..................................................................................................6 ii. Aplicações Ambientais ........................................................................................... 6 iii. Aplicações Domésticas........................................................................................... 7 iv. Aplicações Militares............................................................................................... 7 v. Outras Aplicações Comerciais ...............................................................................8 III. Fatores determinantes em Redes de Sensores Sem-fio ........ 9 i. Tolerância à Falha ...................................................................................................9 ii. Escalabilidade .......................................................................................................10 iii. Custo de Produção ............................................................................................... 10 iv. Restrições de Hardware ...................................................................................... 10 v. Topologia de Redes de Sensores Sem-fio ............................................................ 12 vi. Ambiente de Operação ........................................................................................ 13 vii. Meio de Transmissão .......................................................................................... 13 viii. Consumo de Energia ......................................................................................... 14 IV. Arquitetura de Redes de Sensores Sem-fio ................................ 15 i. Camada de Aplicação ............................................................................................ 17 ii. Camada de Transporte ........................................................................................ 19 iii. Camada de Rede ..................................................................................................19 iv. Camada de Enlace ............................................................................................... 22 v. Camada Física .......................................................................................................23 V. Conclusão .......................................................................................................... 25 VI. Referências ..................................................................................................... 26 3 4 I. Introdução As redes de sensores sem-fio vem sendo objeto de estudo já faz algum tempo, principalmente devido as inovações tecnológicas introduzidas pelo avanço nos sistemas micro-eletro-mecânicos, as comunicações sem-fio e a eletrônica digital. O princípio de uma rede de sensores sem-fio é o uso de uma quantidade grande de nós-sensores sujeitos a falha com interligação sem-fio entre eles. Tais nós-sensores devem ser de baixo custo, baixo consumo e pequenos no tamanho. Estas restrições implicam em uma série de requisitos para os protocolos de comunicação nunca antes encontrados em tal escala. Muito já foi pesquisado mas ainda há uma quantidade muito maior de pesquisas a serem realizadas para que este tipo de rede realmente passe a ser utilizado. Mas qual realmente é o problema de uma rede de sensores sem-fio? Para responder a esta pergunta começaremos explicitando o problema do sensoriamento tradicionalmente empregado: Sensores podem ser posicionados longe do evento a ser monitorado. Neste tipo de aplicação os sensores podem ser grandes e complexos. Esta solução é muito utilizada em sistemas de sensoriamento ambiental. Muitos sensores são colocados estrategicamente próximos ao evento a ser monitorado e enviam apenas os valores para uma central de processamento. A topologia de comunicação é estudada com cuidado e métodos próprios para cada aplicação são desenvolvidos. Já numa rede de sensores sem-fio temos uma rede composta por um grande número de nós-sensores. Tais nós são colocados ou dentro do fenômeno ou próximos a ele. As posições de cada nó não precisam ser pré-determinadas ou pré-calculadas. Assim a posição do sensor é algo aleatório e deve ser tratada pelos protocolos de comunicação e gerenciamento da rede em questão. Logo isto quer dizer que os protocolos de comunicação e gerenciamento da rede devem ter capacidades de auto-organização. Outra característica fundamental de uma rede de sensores sem-fio vem do fato das fontes de energia serem limitadas. Em um esforço conjunto os nós-sensores podem cooperar entre si de modo a transportar os dados de uma forma eficiente quanto ao gasto de energia. Assim um nó transmite até um outro nó próximo os valores do sensoriamento, esperando que este nó se encarregue de passar os dados para o próximo nó. Tudo isto para economizar a energia do transmissor que assim não precisará utilizar um sinal com potência muito elevada, devido a proximidade com o nó vizinho. Todas estas características permitem o uso de redes de sensores sem-fio em aplicações que vão desde o campo militar ao médico e de segurança. Mas tudo isto depende da solução de alguns problemas. Como exemplo podemos lembrar que esta é uma rede sem-fio descentralizada (ad-hoc) e precisamos de algoritmos de roteamento especiais. Para o caso das redes de sensores estes algoritmos possuem requisitos diferentes do que os das redes sem-fio descentralizadas, comumente encontradas em redes de computadores sem-fio. Isto acontece principalmente pelo fato explicitado no parágrafo anterior, de que os recursos energéticos são limitados, pois isto implica em um roteamento com base em informações quanto a energia disponível no sistema e os gastos inerentes a transmissão e recepção do sinal. No resto do trabalho serão aprofundados todos estes conceitos e alguns problemas serão explicados com detalhes. Algumas soluções já implementadas serão indicadas com comentários quanto as suas capacidades e possíveis problemas. 5 II. Aplicações Redes de sensores podem possuir vários tipos de sensoriamento, normalmente com baixa frequência de amostragem. Alguns exemplos dados por [1] seguem abaixo: Temperatura Pressão Umidade Luminosidade Níveis de ruído Presença ou ausência de certos tipos de objetos Medidas de posição, velocidade e aceleração de um objeto Concentração de substâncias Tais sensores podem ser usados para sensoriamento contínuo ou apenas detecção de um evento, além da possibilidade de acionarem atuadores locais. Justamente este grande número de possibilidades de sensoriamento é que faz com que muitos acreditem no surgimento de novas áreas de estudo e aplicações para as redes de sensores sem-fio. Alguns dos tipos de aplicação que vem surgindo na literatura sobre o assunto seguem abaixo. É importante lembrar que a divisão feita aqui, e sugerida também por [1], pode ser modificada facilmente, adicionando-se novas classificações como exploração espacial, processos químicos e monitoramento e assistência em desastres. i. Aplicações Médicas Algumas das aplicações médicas possíveis para redes de sensores sem fio, como dados em [1], estão na criação de interfaces para deficientes físicos, monitoramento integrado de pacientes, diagnóstico e administração de drogas para pacientes, monitoramento de dados fisiológicos e monitoramento de médicos e pacientes em um hospital. ii. Aplicações Ambientais Na área ambiental podemos destacar as seguintes aplicações sugeridas por [1]: Detecção de incêndio em florestas Redes de sensores podem ser densa e aleatoriamente dispostas sobre florestas, podendo a exata localização do foco de incêndio ser encontrada pela rede, muito antes do fogo se tornar incontrolável. Detecção de enchentes Redes de sensores podem ser usadas para detecção de enchentes em locais menos acessíveis. Agricultura de precisão 6 Podemos monitorar a concentração de pesticidas na água, o grau de erosão do solo e o nível de poluição do ar, tudo em tempo real. iii. Aplicações Domésticas Algumas aplicações possíveis são automação doméstica e ambientes inteligentes. Mais detalhes seguem abaixo: Automação doméstica Conforme a tecnologia avançar, sensores podem ser embutidos em eletrodomésticos, criando uma rede de cooperação entre eles. Ambientes inteligentes Ambientes inteligentes podem ser criados de duas maneiras: centrados no homem ou na máquina. No caso destes serem centrados na máquina o homem deve aprender a lidar com a máquina. O inverso é válido então para um sistema centrado no homem, o que atualmente é muitas vezes chamado de computação ubíqua. No caso da computação ubíqua, sistemas com redes de sensores sem-fio são muito úteis. Os eletrodomésticos, móveis e portas de sua casa, por exemplo, poderiam se comunicar, cada um informando o outro sobre seu estado e possíveis eventos. Um cenário deste tipo é descrito em [7]. iv. Aplicações Militares Segundo [1] as Redes de Sensores Sem-fio podem ser uma parte integral de sistemas militares de comando, controle, comunicações, computação, inteligência, vigilância, reconhecimento e mira (C4ISRT em inglês). As características presentes em uma rede de sensores sem-fio se mostram ideais para tais aplicações onde o problema principal é a urgência. A rápida instalação, a auto-organização e a tolerância à falha são exatamente o que os militares vem procurando nas redes de sensores sem-fio. Exemplos de aplicações militares dados por [1] seguem: Monitoramento de forças amigas, equipamento e munição Líderes e comandantes podem ter na sua mão, através de algo semelhante a um palm-top ou até por algum tipo de visor, informações instantâneas sobre seus soldados, a situação de seu equipamento e munição. Isto seria feito instalando-se pequenos sensores nos equipamentos e armamentos, capazes de fazerem medições simples, além de sensores nos soldados, que poderiam, por exemplo, monitorar os batimentos cardíacos destes. Os soldados então teriam informações instantâneas sobre sua situação atual e a de seus companheiros. Vigilância em campo de batalha 7 Terrenos estrategicamente críticos e rotas importantes poderiam ser rapidamente cobertas por redes de sensores sem-fio. Em caso de movimentação de tropas inimigas sistemas de alarme seriam acionados e possíveis contramedidas tomadas até mesmo automaticamente. Reconhecimento de forças inimigas e terreno Sensores poderiam ser jogados de aviões em terrenos desconhecidos. Tais sensores fariam rastreamento e mapeamento de possíveis objetos que não fossem mapeáveis por satélite. Sistemas de mira Redes de sensores poderiam ser incorporadas em sistemas de mira em munição inteligente. Avaliação de danos em batalha Antes ou depois da batalha sensores poderiam ser dispostos na área de combate para avaliação de danos a estruturas ou ao terreno. Detecção e reconhecimento de ataques nucleares, biológicos ou químicos Em guerras químicas, biológicas e nucleares o fato de se estar próximo do solo é importante para se conseguir precisão e acurácia na detecção de eventos em um pequeno espaço de tempo. Redes de sensores sem-fio dispostas em solo amigo podem ajudar no alerta para diminuição dos danos causados por tais ataques. v. Outras Aplicações Comerciais Algumas das aplicações comerciais não citadas anteriormente são o monitoramento de fadiga de materiais, a gerência de inventários, o monitoramento da qualidade de produtos, brinquedos interativos, estruturas inteligentes com sensores embutidos, instrumentação em fábricas entre outros. 8 III. Fatores determinantes em Redes de Sensores Sem-fio O projeto de uma rede de sensores sem-fio envolve uma série de fatores a serem considerados. Dos mais importantes temos a lista abaixo: Tolerância à falha Escalabilidade Custo de produção Ambiente de operação Restrições de hardware Topologia de rede Meio de transmissão Consumo de energia Estes fatores são os mais importantes para o desenvolvimento de algoritmos capazes de lidar com estes requisitos impostos pela rede. É claro que esta é apenas uma das possíveis listas. Muitos trabalhos foram feitos em cima de alguns destes tópicos, mas ainda há muito a ser feito de modo a integrar estes fatores em uma única solução. i. Tolerância à Falha Em uma rede de sensores sem-fio falhas são possíveis e aceitáveis e a rede deve saber lidar com elas de maneira automática e natural. Sensores podem falhar por diversos motivos como falta de energia, falta de visibilidade para outro nó da rede ou até mesmo algum dano físico. Como eles são dispostos em grandes quantidades no campo a ser sensoriado a falha de alguns poucos não deve atrapalhar o funcionamento do resto da rede. Isto é o significado de tolerância à falha. Uma maneira de se modelar matematicamente a possibilidade de um nó não haver falhado durante um intervalo de tempo é: R k (t ) e k t onde k é a constante de tempo de falha do nó k e t é o tempo decorrido. Por esta ser uma distribuição de Poisson, ela apenas modela algo sem dependência do tempo anterior. Para algo mais completo outros modelos devem ser desenvolvidos. Este modelo é usado por [8] para o estudo de falhas em redes de sensores sem-fio. O que se percebe é que diferentes níveis de tolerância à falha vão possibilitar a existência de diferentes algoritmos de controle da rede, cada um mais adequado para uma situação. É claro que uma rede de sensores em um ambiente doméstico e controlado deve ter um nível de tolerância à falha muito menor do que uma rede de sensores que será utilizada dentro de, por exemplo, a entrada de um vulcão preste a entrar em erupção. Outro exemplo muito bom é no caso das aplicações militares onde geralmente alguns sensores podem ser destruídos por forças inimigas mas mesmo assim a rede deve continuar funcionando. Logo uma rede de sensores sem-fio deve ser sempre desenvolvida com isto em mente. 9 ii. Escalabilidade A ordem de grandeza do número de nós de uma rede de sensores sem-fio pode variar das centenas aos milhares. Em algumas aplicações específicas podendo até atingir a casa dos milhões. Os novos esquemas devem ser capazes não somente de lidar com este número de nós mas também de utilizá-los em todo o seu potencial. Isto também tem a ver com a densidade com que os sensores estão espalhados na região a ser sensoriada. Esta densidade pode variar muito e os novos esquemas de transmissão devem ser capazes de lidar com esta variação e utilizá-la a seu favor. Uma definição melhor de densidade é dada por [9] como segue abaixo: ( R) NR 2 A onde N é o número de sensores espalhados em uma região A(volume), e R é o alcance da transmissão por rádio. Perceba que agora sim temos uma definição plausível de densidade, pois temos a definição de uma região. Como também é possível pela equação perceber, temos uma variação muito grande da densidade para aplicações diferentes. Isto então é outro problema a ser solucionado quando se está desenvolvendo uma rede de sensores sem-fio. iii. Custo de Produção Como uma rede de sensores sem-fio é feita a partir de um grande número de nós sensores, temos então o preço unitário como um fator fundamental para viabilizar a produção de uma rede de sensores sem-fio. Obviamente se o custo de uma rede de sensores sem-fio é maior do que a utilização de sensores tradicionais não há motivos financeiros para a utilização da rede. Logo o preço unitário deve se manter baixo. Atualmente o preço de um transmissor Blue-tooth está abaixo dos $10. Mas o custo de um nó-sensor deveria estar abaixo de $1 para uma rede de sensores sem-fio ser realizável. Logo ainda há um longo caminho a percorrer para haver queda no preço de um nó-sensor. iv. Restrições de Hardware Um nó-sensor é composto de quatro componentes básicos como mostra a figura 1: uma unidade de sensoriamento, uma unidade de processamento, uma unidade de transmissão/recepção e uma unidade de energia. Ele pode também possuir, dependendo da aplicação, uma unidade de localização, uma unidade de geração de energia e uma unidade de movimentação. 10 Figura 1 – Os componentes de um nó-sensor. A unidade de sensoriamento é composta de duas sub-unidades, os transdutores e os conversores A/D. Seus dados então são passados para a unidade de processamento. Esta, por sua vez, é geralmente associada a uma pequena unidade de armazenamento de dados, e fica responsável pelos procedimentos que fazem os sensores colaborarem entre si para realizar a tarefa de sensoriamento. Já a unidade de energia é composta por células de energia e possivelmente uma unidade de geração de energia associada, como uma célula foto-voltaica. Podem existir outras sub-unidades dependentes da aplicação. Quanto a unidade de transmissão/recepção, realmente não há muito a falar senão que elas são responsáveis pela comunicação na camada física da rede. Agora algo interessante acontece com a unidade de localização. Apesar de ser opcional ela é muito útil pois a maioria das técnicas de roteamento conhecidas requerem o conhecimento da localização com alta precisão. Então é comum que um nó-sensor tenha uma unidade de localização. Algumas vezes uma unidade de movimentação é necessária para a realização de tarefas específicas. Normalmente todas estas unidades devem caber em uma caixa de fósforos, muitas vezes até em volumes menores, próximos de 1 centímetro cúbico. Além do tamanho há outros requisitos para os nós-sensores como lembrados por [1]: Consumo muito pequeno de energia Operação em densidades volumétricas altíssimas Baixíssimo custo de produção e dispensabilidade Ser autônomo Ser adaptativo para com o ambiente Como os nós-sensores normalmente são inacessíveis, o tempo de vida de uma rede de sensores depende do tempo de vida das fontes de energia dos nós-sensores. A energia também é escassa devido as limitações de tamanho e peso. Algumas vezes é possível se aumentar o tempo de vida do nó utilizando algum tipo de energia presente no ambiente, como a luz com uma célula foto-voltaica por exemplo. Quanto ao emissor/receptor este pode ser um dispositivo ótico passivo ou ativo como nos smart dust motes [9] ou um dispositivo de rádio frequência (RF). Comunicações em RF necessitam de circuitos mais extensos, o que faz delas uma opção mais cara e complexa. Além disso a perda de sinal de um nó para outro pode ser tão alta quanto a distância entre eles a quarta potência, proporcionalmente, devido a proximidade das antenas com o solo. Mesmo assim a comunicação em RF é preferida na maioria dos estudos em redes de sensores sem-fio devido a pequena quantidade de 11 dados a serem passados e a reutilização das frequências ser alta, isto graças as pequenas distâncias de comunicação. Estas características tornam possível a utilização de circuitos RF de baixo consumo já utilizados, por exemplo, no Bluetooth. O principal problema é que tais transmissores ainda gastam muita energia no início de uma transmissão/recepção, algo que numa rede de sensores não é muito interessante. Já o processamento, embora hoje em dia esteja disponível cada vez mais poder computacional, também é um problema devido as fontes de energia serem escassas. Logo processadores com características específicas de economia de energia sempre serão bem vindos. Muitas das atividades de sensoriamento precisam de informação quanto a posição do sensor. Já que os sensores são geralmente dispostos aleatoriamente e funcionam sem intervenção humana a princípio, eles precisam então cooperar entre si e com o sistema de localização. Tais sistemas de localização também são necessários para muitos dos sistemas de roteamento propostos e explicados na seção IV. v. Topologia de Redes de Sensores Sem-fio Com um número tão alto de nós-sensores que devem funcionar sem intervenção e sujeitos a falhas freqüentes, a manutenção da topologia da rede é algo fundamental para o seu funcionamento. Antes de postos em funcionamento os sensores podem ser: Jogados de um avião Colocados no campo de sensoriamento por uma bala de artilharia, míssil ou foguete Jogados por uma catapulta Instalados na fábrica em certos aparelhos Colocados, um a um, seja por uma pessoa ou um robô Além disso, estes métodos de instalação devem sempre procurar: Um custo reduzido de instalação Eliminar a necessidade de qualquer tipo de pré-organização e pré-planejamento Aumentar a flexibilidade de arranjo dos nós-sensores Promover auto-organização e tolerância à falha Após a disposição dos nós no ambiente a mudança na topologia da rede deve ser prevista, principalmente devido aos fatores de: Posição Alcance (devido a ruído, obstáculos móveis, etc.) Energia disponível Mal funcionamento Detalhes da tarefa a ser desempenhada pela rede Mesmo quando os nós-sensores forem postos em posições estáticas estes problemas devem ser levados em conta devido a problemas de falta de energia ou destruição do nósensor. Concluindo, os nós-sensores são algo extremamente dinâmico, mesmo na mais 12 estática das situações. Logo a topologia da rede deve mudar freqüentemente após a disposição inicial. Além de tudo isso deve ser previsto também a possibilidade de adição de nóssensores a rede após a disposição inicial, em qualquer momento, para reposição de nóssensores com problemas, seja por destruição ou por falta de energia. A adição destes novos nós tende a fazer a topologia da rede modificar-se radicalmente. Para lidar com todos estes problemas protocolos de roteamento especiais são necessários. Estes são apresentados na seção IV. vi. Ambiente de Operação As redes de sensores geralmente irão trabalhar sensoriando locais inóspitos, seja muito próximos ou dentro destes. Dentre alguns exemplos podemos citar [1]: No interior de grandes maquinarias No fundo de um oceano Dentro de um furacão Na superfície do oceano durante um tornado Em um campo contaminado biológica ou quimicamente Em um campo de batalha além das linhas inimigas Em uma casa ou prédio Em um armazém Junto a animais Junto a veículos em movimento A partir desta lista podemos imaginar o que uma rede de sensores tem por esperar. Ela irá operar nos ambientes mais inóspitos sujeitas a ruído, calor ou frio extremo. vii. Meio de Transmissão Os meios de transmissão numa rede de sensores sem-fio, atualmente, podem ser de três tipos, ou pelo menos, são três os tipos pesquisados. A primeira opção é a utilização de rádio-frequência (RF). Atualmente, com o aparecimento dos links de rádio desregulamentados na ISM (industrial, scientific and medical bands) muita pesquisa tem sido feita neste sentido. O que se sabe atualmente é que devido aos problemas de energia, tamanho e baixo custo dos nós as frequências utilizadas na comunicação devem ser da faixa de frequência ultrahigh. As bandas na faixa de 433 MHz e 915 MHz são sugeridas para serem utilizadas na Europa e na América do Norte respectivamente. Conforme já sabemos as faixas de frequência da ISM são desregulamentadas, não sendo necessário o pedido de licença para sua utilização junto as autoridades governamentais. Isto cria liberdade na implementação mas ao mesmo tempo interfere muito no funcionamento dos nós devido aos possíveis ruídos provocados por outros aparelhos que utilizem a mesma faixa de frequência. Atualmente a maior parte das redes de sensores implementadas utilizam estas faixas de frequência com transmissores Bluetooth ou de outros tipos. A segunda opção de meio de transmissão é a utilização de infravermelho. Também é um meio sem a necessidade de uma licença, mas tem uma vantagem clara: é robusto quanto a interferência elétrica provocada por outros dispositivos elétricos. O seu 13 problema principal é a necessidade de uma linha de visão entre os dois nós que irão se comunicar. Este fato, puro e simples, é que leva a não utilização do infravermelho em redes de sensores sem-fio. E, finalmente, a terceira opção, é a utilização de uma comunicação óptica. Esta é sugerida no smart dust mote [1]. Dois sistemas de transmissão são sugeridos, um por um sistema de espelhos (três) passivo e outro pela utilização de um laser com um sistema de mira. Este tipo de rede ainda está em estudo e pode no futuro vir a ser algo muito interessante. Percebe-se que os requerimentos pouco comuns de uma rede de sensores sem-fio tornam a escolha de um esquema de transmissão algo muito desafiador, pois muitos fatores, que antes nunca foram levados em conta, agora entram diretamente nos parâmetros de desempenho da rede. viii. Consumo de Energia O consumo de energia numa rede de sensores sem-fio é o fator fundamental do projeto na maioria das vezes. Devido a fontes de energia serem escassas e muitas vezes não substituíveis métodos de economia de energia devem ser utilizados em todos os lugares possíveis. É justamente por isso que muitas pesquisas têm sido feitas para melhorar os algoritmos responsáveis pela transmissão e encaminhamento de dados na rede além da criação de novos tipos de transmissores, mais eficientes quanto a utilização de energia. Segundo [1] pode-se dividir o consumo de energia em três domínios numa rede de sensores sem-fio: sensoriamento, comunicação e processamento de dados. Na parte de sensoriamento não há muito mais o que dizer pois já exploramos o assunto em iv. Quanto a comunicação, alguns fatores devem ser levados em conta. Os nós-sensores gastam a maior parte de sua energia na transmissão e recepção de dados. O que pode ser mostrado é que para comunicações em pequenas distâncias a quantidade de energia que se gasta para transmissão e recepção é quase a mesma. Todos os componentes do circuito de transceiver consomem energia valiosa do sistema. Principalmente quanto ao PLL, temos problemas sérios. Normalmente se fala de um gasto médio de energia, mas este é sempre dado sem se levar em conta o gasto no início da transmissão, onde temos o PLL tentando prender o sinal. Neste momento, quando o PLL está trabalhando, o consumo de energia é muito maior. Como em uma rede de sensores sem-fio o tamanho dos pacotes de dados é pequeno este consumo inicial passa a dominar no consumo total do sistema de transmissão. Isto deve, então, ser levado em conta também. Já no processamento de dados, mesmo diante do contínuo surgimento de novos processadores cada vez mais poderosos, temos o fator consumo de energia como fundamental. Alguns argumentam que seria o caso de se criar estratégias de organização de uma CPU onde a principal preocupação seria a energia gasta. Métodos de economia de energia devem ser empregados sempre que possível nas CPUs dos nós-sensores. 14 IV. Arquitetura de Redes de Sensores Sem-fio Os nós-sensores são normalmente espalhados em um campo de sensoriamento como mostra a figura 2. Cada sensor tem a capacidade de coletar dados e roteá-los devolta para o sink e o usuário final. Os dados são roteados devolta ao usuário final por uma arquitetura multihop (com múltiplos saltos) sem infra-estrutura através do sink como mostrados na figura 2. O sink pode se comunicar com o nó gerenciador de tarefas pela internet ou por satélite. Figura 2 – Nós-sensores espalhados em um campo de sensoriamento. A pilha de protocolos usada pelo sink e todos os nós sensores é mostrada na figura 3. Esta pilha de protocolos combina um conhecimento da energia e do roteamento, integra os dados com os protocolos de rede, realiza a comunicação de forma eficiente quanto a energia por um meio sem-fio e promove os esforços de cooperação entre os nós-sensores. A pilha de protocolos consiste de uma camada de aplicação, uma camada de transporte, uma camada de rede, uma camada de enlace, uma camada física e planos de gerenciamento de energia, gerenciamento de mobilidade e gerencimento de tarefas. Dependendo das tarefas de sensoriamento diferentes tipos de softwares de aplicação podem ser feitos e utilizados na camada de aplicação. A camada de transporte ajuda a manter o fluxo de dados caso a rede de sensores necessite. A camada de rede é encarregada do roteamento dos dados fornecidos pela camada de transporte. Como o ambiente é ruidoso e os nós-sensores podem ser móveis, o protocolo MAC (Medium Access Control) deve estar ciente da energia disponível e ser capaz de minimizar o número de colisões com as transmissões vizinhas. A camada física lida com as necessidades de um simples mas robusto sistema de modulação e com as técnicas de transmissão e recepção. Além disso, os planos de energia, mobilidade e tarefas monitoram a energia, movimentação e distribuição de tarefas entre os nós-sensores. Esses planos ajudam os nós-sensores a coordenar as tarefas de sensoriamento e reduzir o consumo total de energia. 15 Figura 3 – A pilha de protocolos de uma rede de sensores sem-fio. O plano de gerenciamento de energia cuida de como os nós-sensores usam sua energia. Como exemplo um nó-sensor pode desligar seu receptor após o recebimento de uma mensagem de um de seus vizinhos. Isto serviria para evitar o recebimento de mensagens duplicadas. O nó-sensor pode também, quando o nível de energia está baixo, transmitir uma mensagem a seus vizinhos avisando que ele está com a energia baixa e que não pode mais participar no roteamento de mensagens. O resto da energia é então guardado para sensoriamento. O plano de mobilidade detecta e registra movimentos dos nós-sensores, de modo que uma rota de volta ao usuário seja sempre mantida. Os nóssensores podem então manter uma lista de quem são seus nós-sensores vizinhos. Sabendo quem são seu vizinhos o nó-sensor pode balancear o uso de energia e as tarefas executadas. O plano de gerenciamento de tarefas balanceia e escalona as tarefas de sensoriamento dadas a uma região especificada. Nem todos os nós-sensores em uma região precisam realizar o sensoriamento ao mesmo tempo. Como resultado alguns nóssensores podem realizar as tarefas mais vezes que outros, dependendo dos seus níveis de energia. Estes planos de gerenciamento são necessários para que os nós-sensores possam trabalhar em conjunto de uma forma eficiente quanto ao uso de energia, possam rotear os dados dentro da rede e possam compartilhar recursos entre os nós-sensores. Sem eles cada nó-sensor trabalharia individualmente apenas. Do ponto de vista da rede de sensores como um todo é mais eficiente que os nós-sensores possam colaborar entre si de modo que o tempo de vida da rede se prolongue. Três exemplos de estudos de pilhas de protocolos como o mostrado na figura 3 estão em [9,10,11]. O primeiro, o WINS, é um protocolo projetado conforme a figura 2. Há um nó sink que fica coletando os dados e enviando-os a internet ou a uma rede de computadores qualquer. Já que os nós-sensores estão em grande número, o protocolo WINS se aproveita desta pequena distância entre sensores para fornecer uma comunicação com múltiplos saltos (multihop) e minimizar o consumo de energia. O modo como os dados 16 são roteados de volta para o usuário seguem a figura 2. O nó-sensor, um nó WINS, capta algum dado ambiental e o dado é roteado, salto a salto, através dos nós WINS até chegar no sink, um gateway WINS. Os nós-sensores WINS são A, B, C, D e E de acordo com a arquitetura na figura 2. O gateway WINS se comunica com o usuário através de uma rede de serviços convencional como a Internet. A pilha de protocolos da rede WINS consiste de uma camada de aplicação, uma camada de rede, uma camada MAC e uma camada física. Também é explicitamente dito por [9] que um protocolo de comunicações que resolva os problemas de energia deve ser desenvolvido. No smart dust [10] os nós-sensores podem estar grudados em objetos ou até mesmo flutuando no ar devido ao seu pequeno tamanho e pouco peso. Eles utilizam tecnologia MEMS para comunicação óptica e sensoriamento. Estes dispositivos podem conter uma célula de energia solar para coletar energia durante o dia, e eles necessitam de uma linha de visão para se comunicar opticamente com a estação base ou com outros nós. Comparando a arquitetura de comunicação deste com a da figura 2, o nó-sensor se comunica tipicamente direto com a estação base, ou sink. Uma comunicação ponto-aponto é também possível, mas há possíveis problemas de colisão no acesso ao meio devido a nós escondidos. As camadas de protocolo que o smart dust incorpora são a camada de aplicação, a camada MAC e a camada física. Outra possibilidade de se projetar protocolos e algoritmos para redes de sensores sem-fio é pensando nas restrições da camada física. Segundo esta abordagem os protocolos e algoritmos devem ser desenvolvidos de acordo com a escolha dos componentes do meio físico como o tipo de microprocessador e o tipo de transceiver. Esta abordagem de baixo para cima dos sensores sem-fio uAMPS também lidam com a importância da camada de aplicação, camada de rede, camada MAC e camada física, sendo estas altamente integradas com o hardware dos nós-sensores. O nó-sensor do uAMPS também se comunica com o usuário de acordo com o mostrado na figura 2. Diferentes esquemas como TDMA, FDMA e modulação binária versus modulação Mária são comparados em [11]. Esta abordagem de baixo para cima nos indica que algoritmos de rede para sensores devem ser cientes do hardware e capazes de usar características especiais dos microprocessadores e transceivers para minimizar o consumo de energia do nó-sensor. Esta abordagem pode levar a uma solução personalizada e a diferentes tipos de redes de sensores. Isto também pode levar a diferentes tipos de algoritmos de colaboração. i. Camada de Aplicação Apesar de muitas áreas de aplicação para redes de sensores sem-fio estarem definidas e propostas, outras potenciais camadas de aplicação ainda esperam por serem descobertas, principalmente devido ao estágio embrionário das redes de sensores. Aqui nós examinamos três protocolos de aplicação em potencial, o SMP (sensor management protocol ou protocolo de gerenciamento de sensores), o TADAP (task assignment and data advertisement protocol ou protocolo de designação de tarefas e anúncio de dados) e o SQDDP (sensor query and data dissemination protocol ou protocolo de colsulta de sensores e de disseminação de dados). Todos estes protocolos ainda estão em desenvolvimento e são áreas para novas pesquisas. 1. Sensor Management Protocol 17 Projetar um protocolo de gerenciamento na camada de aplicação tem muitas vantagens. Redes de sensores tem muitas áreas de aplicação e o acesso a elas por redes como a Internet é um objetivo em alguns projetos atuais. Um protocolo de gerenciamento na camada de aplicação faz com que o hardware e o software das camadas inferiores sejam transparentes para o gerenciamento das aplicações das redes de sensores. Administradores do sistema interagem com a rede através do SMP. Diferentemente de outras redes, as redes de sensores são formadas por nós que não possuem uma identificação global e também são normalmente sistemas sem infraestrutura. Portanto o SMP precisa acessar os nós-sensores por parâmetros como localização ou atributos específicos dos nós. O SMP é um protocolo de gerenciamento que fornece as operações de software necessárias para se realizar as seguintes tarefas administrativas: Introduzir as regras relacionadas a agregação de dados, nomenclatura por atributos e grupamento dos nós-sensores. Trocar dados referentes aos algoritmos de descobrimento de localização. Sincronizar no tempo os nós-sensores. Mover nós-sensores. Ligar ou desligar nós-sensores. Consultar a configuração da rede de sensores e o estado dos nós e então reconfigurar a rede. Autenticar, distribuir chaves e outras funções relacionadas a segurança numa rede de sensores. 2. Task Assignment and Data Advertisement Protocol Outra operação importante numa rede de sensores é a disseminação de interesses. Usuários enviam seu interesse a um nó-sensor, um sub-conjunto dos nóssensores ou a toda a rede. Este interesse pode ser sobre um certo atributo do fenômeno ou um evento temporal. Outra possibilidade é o anúncio de dados disponíveis em que um nó-sensor avisa sobre novos dados disponíveis ao usuário, e o usuário então consulta os dados nos quais ele possui interesse. Um protocolo da camada de aplicação que disponibiliza ao software do usuário uma interface eficiente para a disseminação de interesses é util para as camadas de operação mais baixas, como roteamento, explicada em iii. 3. Sensor Query and Data Dissemination Protocol O SQDDP fornece as aplicações do usuário interfaces para se fazer consultas, responder a consultas e coletar respostas. Perceba que estas consultas são geralmente feitas para um grupo de sensores e não para um sensor em particular. Atributos do nós-sensores ou parâmetros de localização são preferidos para o uso nestas interfaces. Por exemplo, “localizações onde a temperatura está acima de 24oC” é um atributo dos nós-sensores. Do mesmo jeito “temperaturas sensoriadas pelo nó na região A” é um parâmetro de localização. O SQTL (Sensor query and tasking language ou linguagem de consulta e delegação de tarefas para sensores) é proposto como uma aplicação que fornece um número maior de serviços. O SQTL permite o uso de três tipos de eventos definidos pelas palavras-chave receive, every e expire. A palavra-chave receive define eventos gerados pelo sensor quando o nó-sensor recebe uma mensagem. Já every define 18 eventos ocorridos periodicamente devido ao estouro de um determinado tempo. A palavra-chave expire, por sua vez, define eventos ocorridos quando um timer está expirado. Se um nó-sensor recebe uma mensagem que é destinada a ele e contém um script, o nó-sensor roda então este script. Apesar do SQTL ser proposto, tipos diferentes de SQDDP podem ser desenvolvidos para várias aplicações. O uso do SQDDP pode ser único para cada aplicação. Como se pode perceber ainda há muito espaço para pesquisa aqui. Apesar do SQTL ser proposto ainda existem outros protocolos da camada de aplicação que precisam ser desenvolvidos para fornecer um número maior de serviços. ii. Camada de Transporte A necessidade de uma camada de transporte é apontada por alguns como [9]. Esta camada é necessária especialmente quando o sistema é planejado para ser acessado pela Internet ou por outras redes externas. Apesar disso não houve até hoje uma proposta de qualquer esquema para discussão de problemas relacionados a camada de transporte em redes de sensores. O TCP com seu esquema de transmissão atual por janelas não é capaz de suportar as exigências extremas de uma rede de sensores. Algo como o splitting do TCP pode ser necessário para fazer uma rede de sensores interagir com outras redes. Neste tipo de abordagem as conexões TCP são terminadas no sink e um protocolo especial da camada de transporte pode então cuidar das comunicações entre o sink e os nó-sensores. Como resultado a comunicação entre o usuário e o sink é feita por UDP ou TCP pela Internet. Já no outro lado, a comunicação entre o sink e os nós-sensores pode ser feita puramente por protocolos do mesmo tipo do UDP, pois cada sensor tem memória limitada. Diferentemente do TCP, os esquemas de comunicação ponta a ponta numa rede de sensores não são baseados num endereçamento global. Estes esquemas devem considerar que o endereçamento por atributos ou por localização é usado para indicar os destinos dos pacotes de dados. Este método é melhor explicada em iii. Os fatores como consumo de energia e escalabilidade, e as características como roteamento com agrupamento de dados precisam de diferentes trantamentos na camada de transporte. Logo estes requerimentos mostram a necessidade de novos tipos de protocolos de transporte. O desenvolvimento de protocolos de transporte é um problema desafiador devido aos fatores explicados na secção III, especialmente os problemas quanto ao hardware como energia limitada e memória. Isto é, cada nó-sensor não pode guardar grandes quantidades de dados como um servidor Internet, e confirmações (ACKs) são muito dispendiosos para redes de sensores. iii. Camada de Rede Os nós-sensores estão espalhados densamente sobre um campo de sensoriamento, seja muito próximo ou seja dentro do fenômeno como mostrado na figura 2. Como foi discutido na secção I, protocolos especiais de roteamento com suporte a vários saltos (multihop) entre os nós-sensores e o sink são necessários. As técnicas de roteamento em redes ad hoc já propostas na literatura normalmente não se encaixam nos requerimentos 19 de uma rede de sensores devido às razões explicadas na secção I. A camada de rede de uma rede de sensores é normalmente projetada de acordo com os princípios abaixo: Eficiência quanto ao gasto de energia é sempre um fator importante. Redes de sensores tem, na sua maioria, roteamento baseado no conteúdo. Agregação de dados é útil apenas quando ela não atrapalha o esforço conjunto dos nós-sensores. Uma rede de sensores ideal tem endereçamento por atributos e ciência da localização. Figura 4 – A eficiência quanto à energia das rotas em uma rede de sensores. Uma das seguintes abordagens pode ser utilizada para selecionar uma rota eficiente quanto ao gasto de energia. É utilizada a figura 4 para descrever todos os possíveis casos, onde o nó T é o nó de origem que faz o sensoriamento do fenômeno. Ele possui quatro rotas possíveis para se comunicar com o sink: Rota 1: Sink-A-B-T, PA total = 4, total = 3 Rota 2: Sink-A-B-C-T, PA total = 6, total = 6 Rota 3: Sink-D-T, PA total = 3, total = 4 Rota 4: Sink-E-F-T, PA total = 5, total = 6 onde PA é a energia disponível e i é a energia necessária para transmitir o pacote de dados pelo link exposto. 1. Rota com Máxima Energia Disponível A rota com a energia máxima disponível é escolhida. O PA total é calculado somando-se os PAs de todos os nós ao longo da rota. Baseado nesta abordagem a rota 2 é escolhida na figura 4. Entretanto a rota 2 inclui os nós da rota 1 e um nó 20 extra. Logo, apesar da rota 2 possuir o PA total mais alto, ela não é a mais eficiente. Concluímos que é importante não considerar rotas derivadas da extensão de outras rotas que possam conectar o nó-sensor ao sink. Eliminando a rota 2 escolhemos a rota 4 como a rota com a máxima energia disponível. 2. Rota com Gasto Mínimo de Energia A rota que consome menos energia para transmitir os pacotes entre o nó-sensor e o sink é a rota escolhida. Na figura 4 vemos que a rota 1 é a rota escolhida por este algoritmo. 3. Rota com Número Mínimo de Saltos A rota que realiza o menor número de saltos para chegar no sink é escolhida. A rota 3 na figura 4 é a mais eficiente segundo este algoritmo. Perceba que o menor número de saltos escolhe a mesma rota que a rota com gasto mínimo de energia quando a mesma quantidade de energia é gasta em cada link. Logo, quando os nós transmitem com a mesma potência a rota com menor número de saltos é a mesma que a rota com o menor gasto de energia. 4. Rota com PA Mínimo Máximo A rota em que o PA mínimo dos nós que dela participam é o máximo, dentre todas as rotas possíveis, é a escolhida. Neste caso a rota 3 é a escolhida, ficando a rota 1 em segundo lugar. Este algoritmo procura preservar os nós com pouca energia, para que estes não sejam utilizados na transmissão de dados muito antes dos outros nós, devido a possibilidade deles estarem em uma rota onde existam outros nós com PAs muito altos. Outro problema importante é que o roteamento pode ser baseado no conteúdo. Neste tipo de roteamento a disseminação dos interesses é feita para designar as tarefas de sensoriamento aos nós-sensores. Para isso o endereçamento é feito baseado em atributos dos nós-sensores e o roteamento deve ser feito levando isto em conta. Vários métodos estão atualmente sendo investigados mas nada conclusivo ainda foi feito. Abaixo temos alguns deles. Apenas algumas observações serão feitas. Para maiores informações sobre estes algoritmos consultar [1]. SMECN (Small minimum energy communication network) Cria um sub-grafo da rede de sensores que contém a rota com gasto mínimo de energia. Flooding Transmite dados a todos os nós vizinhos independentemente de eles terem ou não recebido os dados anteriormente. Gossiping Envia os dados a um nó vizinho selecionado aleatoriamente. 21 SPIN (Sensor protocols for information via negotiation) Envia dados aos nós-sensores somente se eles tem algum interesse. Possui três tipos de mensagem, ADV, REQ e DATA. SAR (Sequential assignment routing) Cria multiplas árvores onde a raiz de cada uma está a um salto do sink. Seleciona uma árvore para os dados serem roteados de volta ao sink de acordo com os recursos de energia e algumas métricas adicionais de QoS. LEACH (Low-energy adaptive clustering hierarchy) Forma grupamentos para minimizar a dissipação de energia. Difusão direta Cria gradientes para os dados poderem fluir de nó de origem ao sink durante a disseminação de interesse. Estes protocolos ainda precisam de melhorias, além de outros protocolos ainda serem necessários para comportar mudanças maiores de topologia da rede e maior escalabilidade. Novos esquemas de comunicação entre redes devem ser desenvolvidos para facilitar a comunicação entre uma rede de sensores e outros tipos redes. iv. Camada de Enlace A camada de enlace é responsável pela multiplexação dos fluxos de dados, detecção dos quadros, acesso ao meio e controle de erro. Ela garante uma comunicação ponto a ponto e ponto a multiponto em uma rede de comunicação. O controle de acesso ao meio (MAC) em uma rede de sensores sem-fio deve atingir dois objetivos. O primeiro é a criação de uma infraestrutura. Isto é necessário pois, numa rede de sensores, milhares de sensores estão espalhados densamente num campo de sensoriamento, logo o MAC deve estabelecer comunicação salto a salto e fornecer a rede a habilidade de se auto-organizar. O segundo objetivo é a divisão justa e eficiente dos meios de comunicação entre os nós-sensores. Os esquemas de MAC atuais não funcionam muito bem em uma rede de sensores devido aos motivos explicados na secção I. Assim novos MACs estão sendo pesquisados. Abaixo temos uma lista de algumas propostas e uma breve descrição das características apresentadas por cada uma. Para maiores informações consulte [1]. 22 Protocolo MAC Modo de acesso ao canal Alocação fixa de espaços de tempo duplos numa frequência fixa. Características Conservação de especiais energia SMACS e EAR Aproveita o fato da Tempo de wake up largura de banda aleatório além de disponível ser muito desligar o rádio maior que a largura quando inativo. de banda dos dados sensoriais. Híbrido Frequência Número de canais Abordagem baseada TDMA/FDMA centralizada e ótimo calculado para no hardware para divisão no tempo. um sistema de economia de energia mínima. energia. CSMA modificado Acesso aleatório por Usa métodos Tempo de escuta disputa adaptativos para constante para controle de taxa de eficiência energética transmissão. Tabela 1 – Visão qualitativa de alguns protocolos MAC para redes de sensores Outra função importante da camada de enlace é o controle de erros. Dois modos de controle de erros em redes de comunicação são o FEC (foward error correction) e o ARQ (automatic repeat request). O ARQ ainda continua pouco explorado nas redes de sensores apesar de versões adaptativas com baixo gasto de energia existirem para redes móveis. A utilidade do ARQ numa rede de sensores é limitada devido a necessidade de retransmissão e do overhead imposto. Já o FEC por sua vez é mais complexo de ser decodificado e necessita de circuitos dedicados. Considerando isto sistemas de controle de erros simples com baixa complexidade de codificação e decodificação talvez sejam a melhor opção para uma rede de sensores. O que se percebe aqui é que ainda há muito espaço para pesquisa na camada de enlace, tanto nos protocolos MAC como no controle de erros. v. Camada Física A camada física é responsável pela seleção de frequências, geração da frequência portadora, detecção de sinal, modulação e codificação. É já bem conhecido que comunicações sem-fio a longas distâncias podem ser despendiosas, tanto em termos de energia quanto em complexidade de implementação. Quando projetando-se uma camada física para uma rede de sensores, a minimização de energia se mostra de alta importância, acima inclusive dos problemas tradicionais de uma comunicação sem-fio como reflexão, sombreamento, etc. Em geral a energia mínima necessária para se transmitir um sinal é proporcional a dn, onde 2<n<4 e d é a distância de comunicação entre os nós. O expoente n é próximo de 4 quando a antena está próxima do solo, um caso muito provável numa rede de sensores. Apesar disso alguns problemas enfrentados pela camada física podem ser resolvidos pelas camadas de cima. Por exemplo, os efeitos de uma comunicação com multipath não são tão graves quando um nó-sensor se comunica apenas com o nó vizinho. Logo o projetista deve ter estes problemas e restrições em mente para melhor projetar a camada física. Um fato já explorado por pesquisas na camada física é se devemos utilizar modulações binárias ou M-árias. As modulações M-árias reduzem o tempo de 23 transmissão enviando multiplos bits por símbolo. Este processo resulta em circuitos mais complexos e um gasto de energia maior. Segundo estudos apresentados em [1] é concluído que devido as condições de gasto de energia no início da transmissão serem predominantes, um esquema de modulação binário é mais eficiente quanto ao gasto de energia. No caso da camada física ainda há espaço para pesquisa em circuitos de baixíssimo consumo de energia, específicos para redes de sensores. Ainda há poucos estudos que abordam diretamente os problemas das redes de sensores na camada física. 24 V. Conclusão A flexibilidade, tolerância à falhas, baixo-custo e rápida instalação são características de uma rede de sensores que podem criar inúmeras aplicações para sensoriamento remoto. No futuro esta grande gama de novas aplicações deve fazer com que as redes de sensores sejam parte integrante da nossa vida. Apesar disso a realização das redes de sensores deve conseguir superar todas as restrições impostas a este tipo de rede, de modo a tornar viável a sua comercialização. Problemas como tolerância à falha, mudança de topologia, escalabilidade, custo, hardware e consumo de energia deverão ser todos resolvidos. Já que estes problemas são altamente restritivos e específicos para as redes de sensores, novas técnicas de redes sem-fio descentralizadas (ad hoc) deverão ser criadas. Muita pesquisa ainda está em andamento para o desenvolvimento das várias camadas da pilha de protocolos das redes de sensores. Estamos ainda muito longe do esgotamento deste assunto. 25 VI. Referências 1. Ian F. Akyildiz, Weilian Su, Yogesh Sankarasubramaniam, Erdal Cayirci, "A Survey on Sensor Networks", Communications Magazine, IEEE, Agosto de 2002, No. 8, págs. 102 a 114. 2. Hairong Qi, S. Sitharama Iyengar, Krishnendu Chakrabarty, "Distributed sensor networks - a review of recent research", Journal of The Franklin Institute, PERGAMON, 2001, págs. 655 a 668. 3. Andrew S. Tanenbaum, "Computer Networks", 3a. Edição, Prentice Hall, 1996. 4. "IEEE P1451.5 Working Group", http://grouper.ieee.org/groups/1451/5/ 5. "Sensors Magazine", http://www.sensorsmag.com/ 6. "Large-Scale Demonstration of Self-Organizing Wireless Sensor Networks", Berkley University, http://webs.cs.berkeley.edu/800demo 7. C. Herring, S. Kaplan, "Component-based software systems for smart enviroments", Personal Communications, IEEE, Outubro de 2000, págs 60 a 61. 8. G. Hoblos, M. Staroswiecki, A. Aitouche, "Optimal design of fault tolerant sensor networks", IEEE International Conference on Control Aplications, Anchorage, AK, Setembro de 2000, págs. 467 a 472. 9. "Wireless integrated network sensors", http://www.janet.ucla.edu/WINS/ 10. "Smart Dust", http://robotics.eecs.berkeley.edu/~pister/SmartDust/ 11. “uAmps”, http://www-mtl.mit.edu/research/icsystems/uamps/ 26