LISTA DE FIGURAS · Web viewAgradeço ao Leonardo Gonzalez, por estar presente em todo o...
Transcript of LISTA DE FIGURAS · Web viewAgradeço ao Leonardo Gonzalez, por estar presente em todo o...
Universidade Federal do Pará
Instituto de Tecnologia
Faculdade de Engenharia da Computação
Monitorando Ambientes Florestais Utilizando Redes de Sensores
Sem Fio: Uma Análise Usando Nós Sensores MicaZ.
LAURO AMÉRICO DOS SANTOS
Orientador:
PROF. DR. JOÃO CRISÓSTOMO WEYL ALBUQUERQUE COSTA
Belém, PA
2011
Monitorando Ambientes Florestais Utilizando Redes de Sensores
Sem Fio: Uma Análise Usando Nós Sensores MicaZ.
LAURO AMÉRICO DOS SANTOS
Orientador:
PROF. DR. JOÃO CRISÓSTOMO WEYL ALBUQUERQUE COSTA
Trabalho de Conclusão de Curso submetido ao Colegiado do Curso de Engenharia da Computação, como requisito para a obtenção do grau de Bacharel em Engenharia da Computação, orientado pelo Professor Dr. João Weyl Albuquerque Costa.
Belém, PA
2011
2
Monitorando Ambientes Florestais Utilizando Redes de Sensores
Sem Fio: Uma Análise Usando Nós Sensores MicaZ.
LAURO AMÉRICO DOS SANTOS
Banca examinadora
.....................................................................................................................................Prof. Dr. João Crisóstomo Weyl Albuquerque Costa – Orientador
.....................................................................................................................................Eng. Msc. Lilian Coelho de Freitas – Co-orientadora
.....................................................................................................................................Prof. Dr. Marco José de Sousa - Membro
.....................................................................................................................................Prof. Dr. Ádamo Lima de Santana - Membro
Visto:
.....................................................................................................................................Prof. Dr. Aldebaro Barreto da Rocha Klautau Júnior
Coordenador do Curso de Engenharia da Computação
3
AGRADECIMENTOS
Mais do que tudo agradeço à minha mãe, Maria Odete Américo, pelo apoio de sempre e em
qualquer situação durante todos esses anos, proporcionadora de toda a educação que tive até
então. Ao Prof. João Crisóstomo, por depositar em mim a confiança de, nestes quatro anos,
me orientar, me ajudando a crescer profissionalmente. Agradeço à Lilian Freitas, por me co-
orientar, sendo sempre atenciosa e muito dedicada ao trabalho, ao Prof. Aldebaro Klautau Jr.,
por também me orientar, sempre que possível.
Agradeço ao Leonardo Gonzalez, por estar presente em todo o desenvolvimento do trabalho,
me auxiliado e se dedicado a este como se fosse dele próprio; ao Alex Barros, por sempre ter
uma ótima idéia pra solucionar um problema, mesmo quando ele é extremamente simples; à
Karollane Sapucaia, por compartilhar os momentos finais deste trabalho; ao Yoshi Valle, por
sempre ser amigo e estar com um ótimo humor, incondicionalmente.
O apoio do Museu Paraense Emilio Goeld, por José Amir Sousa e Tatiana Figueiredo; e da
diretoria do Bosque Rodrigues Alves, por Lindomar Silva e Niniete Torres, foi fundamental
para que os testes práticos fossem realizados, me oferecendo sempre a melhor situação e
conforto possíveis. Sou grato ainda ao Ilan Sousa, Liane Barbosa e aos meus amigos
Fernando Coutinho, Adalberto Neto e Leonardo Ramalho, pois sem essas ajudas o
desenvolvimento deste não poderia ser possível. Não posso esquecer de Lorena Américo,
Núbia Américo Lopes, Amanda Gueiros, Hellen Almeida e meus colegas de classe, Elton
Moutinho, Fernanda Aguiar e João Mário, me auxiliando sempre que possível. Mesmo à
distância, e quase sempre muito ocupada, digo um obrigado também à Debora Madonado.
4
RESUMO
As redes de sensores sem fio (RSSF) podem ser utilizadas para realizar monitoramento de
ambientes e habitats, podendo ser uma ótima abordagem para um melhor estudo da
Amazônia, a região de maior biodiversidade do planeta. Este trabalho apresenta um estudo de
redes de sensores sem fio voltados ao monitoramento de áreas florestais. É implementado um
testbed de RSSF usando nós sensores MicaZ. Ainda, é desenvolvida uma aplicação para
coleta e visualização dos dados de uma RSSF.
5
ABSTRACT
Wireless sensor networks are useful for habitat and environment monitoring, showing that it
can be a new approach for the Amazon Forest region researches. This project shows a
wireless sensor network study directed for environment monitoring. It is developed a wireless
sensor network and it tests communication range and quality using MicaZ motes.
6
SUMÁRIO
LISTA DE FIGURAS...........................................................................................................................II
GLOSSÁRIO....................................................................................................................................IV
1. INTRODUÇÃO..............................................................................................................................51.1 REDES DE SENSORES SEM FIO.............................................................................................................51.2 CONTEXTO DO TRABALHO...................................................................................................................81.3 OBJETIVOS.......................................................................................................................................91.4 ESTRUTURA DO TRABALHO................................................................................................................10
2. ARQUITETURA DO TINYOS E NÓS SENSORES MICAZ...................................................................112.1 INTRODUÇÃO.................................................................................................................................112.2 ARQUITETURA MICAZ......................................................................................................................11
2.2.1 Nó sensor MicaZ..................................................................................................................122.2.1.1 Microcontrolador e Memória Flash..............................................................................................................122.2.1.2 Rádio............................................................................................................................................................14
2.2.2 Placas Sensoras...................................................................................................................142.2.3 Gateways............................................................................................................................16
2.3 O SISTEMA OPERACIONAL TINYOS.....................................................................................................182.3.1 Modelo de programação do TinyOS....................................................................................19
2.3.1.1 Componentes...............................................................................................................................................192.3.1.2 Interfaces.....................................................................................................................................................20
2.3.2 Envio e recebimento de pacotes..........................................................................................222.3.3 Sensoriamento....................................................................................................................252.3.4 Gerenciamento de Energia..................................................................................................262.3.5 Memória.............................................................................................................................272.3.6 Protocolos de Roteamento..................................................................................................272.3.7 Ferramentas de apoio.........................................................................................................29
3. METODOLOGIA..........................................................................................................................303.1 INTRODUÇÃO.................................................................................................................................303.2 MÉTRICAS DE DESEMPENHO..............................................................................................................303.3 EXPERIMENTO DE ALCANCE DOS SENSORES...........................................................................................313.4 CENÁRIOS......................................................................................................................................33
3.4.1 Campo Aberto.....................................................................................................................333.4.2 Ambiente Florestal com Vegetação Espalhada...................................................................343.4.3 Ambiente Florestal com Vegetação Densa..........................................................................36
3.5 DESENVOLVIMENTO DE UMA APLICAÇÃO DE MONITORAMENTO AMBIENTAL...............................................383.5.1 Módulos Desenvolvidos.......................................................................................................383.5.2 Experimento Prático............................................................................................................42
4. RESULTADOS.............................................................................................................................454.1 INTRODUÇÃO..................................................................................................................................454.2 TESTE DE ALCANCE DOS SENSORES......................................................................................................45
4.2.1 Campo aberto.....................................................................................................................454.2.2 Ambiente florestal com vegetação espalhada....................................................................524.2.3 Ambiente florestal com vegetação densa...........................................................................55
4.3 APLICAÇÃO DE MONITORAMENTO AMBIENTAL......................................................................................59
5. CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS......................................................................63
6. BIBLIOGRAFIA............................................................................................................................65
7
LISTA DE FIGURAS
FIGURA 1-1 - ESQUEMA BÁSICO DE UMA REDE DE SENSORES SEM FIO...................................................................................5FIGURA 1-2 - EXEMPLOS DE AMBIENTES COM APLICAÇÕES DE REDES DE SENSORES SEM FIO......................................................6FIGURA 1-3 - EXEMPLIFICAÇÃO DE ROTEAMENTO DE PACOTES.............................................................................................8FIGURA 2-1 - DIAGRAMA DE BLOCOS DOS COMPONENTES DE UM NÓ SENSOR......................................................................11FIGURA 2-2 - NÓ SENSOR MICAZ................................................................................................................................12FIGURA 2-3 - VISÃO GERAL DA ARQUITETURA DO MICROCONTROLADOR ATMEGA128L........................................................13FIGURA 2-4 - PLACAS SENSORAS PARA NÓS DA FAMÍLIA MICA...........................................................................................15FIGURA 2-5 - PLACA SENSORA MTS420CA, COM MÓDULO GPS LEADTEK DESTACADO........................................................16FIGURA 2-6 - GATEWAY MIB510CA...........................................................................................................................17FIGURA 2-7 - GATEWAY MIB600CA...........................................................................................................................17FIGURA 2-8 - LIGAÇÃO ENTRE COMPONENTES, ATRAVÉS DE UMA INTERFACE........................................................................20FIGURA 2-9 - PROCESSO DE COMPILAÇÃO DE UMA APLICAÇÃO EM NESC.............................................................................20FIGURA 2-10 - DEMONSTRAÇÃO DE INTERFACES FORNECIDAS E UTILIZADAS POR COMPONENTES..............................................21FIGURA 2-11 - STRUCT DE MENSAGEM MESSAGE_T DO TINYOS........................................................................................22FIGURA 3-1 – LOCALIZAÇÃO DA ESTAÇÃO-BASE E DA LINHA DE MOVIMENTO DO NÓ SENSOR NO TESTE DE ALCANCE EM CAMPO
ABERTO.........................................................................................................................................................33FIGURA 3-2 - EXPERIMENTO DE ALCANCE DOS NÓS SENSORES EM CAMPO ABERTO................................................................34FIGURA 3-3 - LOCALIZAÇÃO DA ESTAÇÃO-BASE E DA LINHA DE MOVIMENTO DO NÓ SENSOR NO TESTE DE ALCANCE EM VEGETAÇÃO
ESPALHADA.....................................................................................................................................................34FIGURA 3-4 - EXPERIMENTO DE ALCANCE DOS SENSORES EM AMBIENTE FLORESTAL COM VEGETAÇÃO ESPALHADA. VISÃO DA
ESTAÇÃO-BASE................................................................................................................................................35FIGURA 3-5 - EXPERIMENTO DE ALCANCE DOS SENSORES EM AMBIENTE FLORESTAL COM VEGETAÇÃO ESPALHADA. VISÃO DO NÓ
SENSOR MÓVEL...............................................................................................................................................35FIGURA 3-6 - LOCALIZAÇÃO DA ESTAÇÃO-BASE DO NÓ SENSOR NO TESTE DE ALCANCE EM VEGETAÇÃO DENSA............................36FIGURA 3-7 - EXPERIMENTO DE ALCANCE DOS NÓS SENSORES EM UM AMBIENTE FLORESTAL COM VEGETAÇÃO DENSA. VISÃO DA
ESTAÇÃO-BASE................................................................................................................................................37FIGURA 3-8 - EXPERIMENTO DE ALCANCE DOS NÓS SENSORES EM AMBIENTE FLORESTAL COM VEGETAÇÃO DENSA. VISÃO DO NÓ
SENSOR MÓVEL...............................................................................................................................................37FIGURA 3-9 - ESTRUTURA DA APLICAÇÃO DE MONITORAMENTO AMBIENTAL. (A) SERVIDOR. (B) INTERFACE. (C) ESTAÇÃO-BASE. (D)
NÓS SENSORES................................................................................................................................................38FIGURA 3-10 - ESTRUTURA DOS COMPONENTES E INTERFACES DO MÓDULO DOS NÓS SENSORES.............................................39FIGURA 3-11 - ESTRUTURA DOS COMPONENTES E INTERFACE NO MÓDULO NO GATEWAY.......................................................40FIGURA 3-12 - MÓDULO DE INTERFACE COM USUÁRIO NA APLICAÇÃO SENSORA DE AMBIENTES FLORESTAIS...............................41FIGURA 3-13 - ESTRUTURA DO BANCO DE DADOS NO SERVIDOR........................................................................................42FIGURA 3-14 - NÓS SENSORES MICAZ EM RECIPIENTES PLÁSTICOS PROTETORES...................................................................43FIGURA 3-15 – NÓ SENSOR MICAZ, DESTACADO PELO CÍRCULO VERMELHO, POSTO NO AMBIENTE A SER MONITORADO...............43FIGURA 3-16 - LOCALIZAÇÃO DO GATEWAY, DESTACADO PELO CÍRCULO VERMELHO..............................................................44FIGURA 4-1 – MEDIDAS DE RSSI E DESVIO PADRÃO VS. DISTÂNCIA EM CENÁRIO DE CAMPO ABERTO........................................46FIGURA 4-2 - MEDIDAS DE LQI E DESVIO PADRÃO VS. DISTÂNCIA EM CENÁRIO DE CAMPO ABERTO..........................................47FIGURA 4-3 - PORCENTAGEM DE PACOTES RECEBIDOS VS. DISTÂNCIA EM CENÁRIO DE CAMPO ABERTO......................................48FIGURA 4-4 - COMPARAÇÃO ENTRE DESVIO PADRÃO DO RSSI E LQI PARA NÓ SENSOR MÓVEL A 1,4M DE ALTURA EM RELAÇÃO AO
SOLO EM CENÁRIO DE CAMPO ABERTO.................................................................................................................49FIGURA 4-5 - COMPARAÇÃO ENTRE DESVIO PADRÃO DO RSSI E LQI PARA NÓ SENSOR MÓVEL A 0,75 M DE ALTURA EM RELAÇÃO AO
SOLO EM CENÁRIO DE CAMPO ABERTO.................................................................................................................49FIGURA 4-6 – RSSI VS. ÂNGULO DE ROTAÇÃO DO NÓ SENSOR EM RELAÇÃO À ESTAÇÃO-BASE. NÓ SENSOR A 0,75 M DE ALTURA DO
SOLO.............................................................................................................................................................50
8
FIGURA 4-7 - LQI VS. ÂNGULO DE ROTAÇÃO DO NÓ SENSOR EM RELAÇÃO À ESTAÇÃO-BASE. NÓ SENSOR A 0,75 M DE ALTURA DO SOLO.............................................................................................................................................................51
FIGURA 4-8 – PORCENTAGEM DE PACOTES RECEBIDOS VS. ÂNGULO DE ROTAÇÃO DO NÓ SENSOR EM RELAÇÃO À ESTAÇÃO-BASE. NÓ SENSOR A 0,75 M DE ALTURA DO SOLO...............................................................................................................52
FIGURA 4-9 – COMPARAÇÃO DE MEDIDAS DE RSSI E DESVIO PADRÃO VS. DISTÂNCIA ENTRE CENÁRIOS DE CAMPO ABERTO E DE VEGETAÇÃO ESPALHADA....................................................................................................................................53
FIGURA 4-10 - COMPARAÇÃO DE MEDIDAS DE LQI E DESVIO PADRÃO VS. DISTÂNCIA ENTRE CENÁRIOS DE CAMPO ABERTO E DE VEGETAÇÃO ESPALHADA....................................................................................................................................54
FIGURA 4-11 - COMPARAÇÃO DE PORCENTAGEM DE PACOTES RECEBIDOS VS. DISTÂNCIA ENTRE CENÁRIOS DE CAMPO ABERTO E DE VEGETAÇÃO ESPALHADA....................................................................................................................................54
FIGURA 4-12 - COMPARAÇÃO ENTRE DESVIOS PADRÕES DAS MEDIDAS DE RSSI E LQI EM UM AMBIENTE FLORESTAL COM VEGETAÇÃO ESPALHADA....................................................................................................................................55
FIGURA 4-13 - MEDIDAS DE RSSI E DESVIO PADRÃO VS. DISTÂNCIA EM AMBIENTE FLORESTAL COM VEGETAÇÃO DENSA...............56FIGURA 4-14 - MEDIDAS DE LQI E DESVIO PADRÃO VS. DISTÂNCIA EM AMBIENTE FLORESTAL COM VEGETAÇÃO DENSA................57FIGURA 4-15 - PORCENTAGEM DE PACOTES RECEBIDOS EM FUNÇÃO DA DISTÂNCIA EM UM AMBIENTE FLORESTAL COM VEGETAÇÃO
DENSA...........................................................................................................................................................58FIGURA 4-16 - COMPARAÇÃO ENTRE OS DESVIOS PADRÕES DE RSSI E LQI PARA NÓ SENSOR MÓVEL AO MESMO NÍVEL QUE
ESTAÇÃO-BASE EM UM AMBIENTE FLORESTAL COM VEGETAÇÃO DENSA......................................................................59FIGURA 4-17 - COMPARAÇÃO ENTRE OS DESVIOS PADRÕES DE RSSI E LQI PARA O NÓ SENSOR MÓVEL A 1,4 M DE ALTURA DO
SOLO.............................................................................................................................................................59FIGURA 4-18 - DADOS DE TEMPERATURA OBTIDOS PELOS SENSORES NA APLICAÇÃO DE MONITORAMENTO AMBIENTAL................61FIGURA 4-19 - DADOS DE LUMINOSIDADE OBTIDOS PELOS SENSORES NA APLICAÇÃO DE MONITORAMENTO AMBIENTAL...............62
9
GLOSSÁRIO
AM - Active Message
APIs - Interface de Programação de Aplicações
CTP - Collection Tree Protocol
E/S - Entrada/Saída
ISP – In-System Processor
LQI – Indicador da Qualidade do Link (do inglês link quality indicator)
MANETs - Mobile Ad-hoc Networks
MIG – Message Interface Generator
O-QPSK - Offset Quadrature Phase-Shift Keying
PER – Packet Error Rate
RAM – Random Access Memory
RF - Rádio Frequência
RISC – Reduced Instruction Set Computer
RSSF - Redes de Sensores Sem Fio
RSSI - Intensidade do Sinal Recebido (do inglês received signal strength indicator)
SPI - Serial Peripheral Interface
SRAM – Static Random Access Memory
UARTs - Universal Asynchronous Receiver/Transmitter
USB – Universal Serial Bus
10
1. INTRODUÇÃO
1.1 REDES DE SENSORES SEM FIO
Progressivamente, as redes de sensores sem fio (RSSF) se popularizam. A possibilidade de
transmissão de dados sem a necessidade de fios entre dispositivos é muito bem aceita, seja em
ambientes coorporativos, domésticos ou industriais; seja para compartilhamento de dados ou
acesso à internet.
Constituídas por inúmeros nós sensores, de dezenas a até milhares, as redes de sensores sem
fio são consideradas como redes não estruturadas, livres de pontos de acesso ou estações
rádio-bases para a comunicação entre sensores, visto que eles se comunicam diretamente entre
si. Elas são vistas, ainda, como um sistema distribuído, pela unidade da rede como um todo,
trabalhando para uma aplicação em comum. [1]. A Figura 1-1 mostra o esquema básico de
uma rede de sensores sem fio composta por (a) computador, (b) gateway e (c) nós sensores.
Figura 1-1 - Esquema básico de uma rede de sensores sem fio, com (a) computador, (b) gateway e (c) nós sensores.
Pela praticidade de apresentar uma comunicação sem-fio e não-estruturada, essas redes
apresentam inúmeras aplicações em variados ambientes. Como alguns exemplos, pode-se
citar aplicações industriais, no controle de máquinas e ambientes [2]; médicas, no controle de
pacientes e na realização de exames, ou mesmo ajudando a detectar sobreviventes em
situações de desastres [3] [4]; militares, detectando inimigos em determinadas regiões; e
ambientais, detectando eventos e fenômenos físicos [5]. A Figura 1-2 ilustra exemplo dessas
aplicações.
11
Figura 1-2 - Exemplos de ambientes com aplicações de redes de sensores sem fio, a) Industriais. b) Médicas. c) Militares. d) Ambientais.
As redes de sensores sem fio não são compostas somente por sensores. A unidade central da
rede, chamada de nó sensor, é composto de um microcontrolador, rádio e de memória de
armazenamento. O microcontrolador faz com que o nó sensor não seja somente um
dispositivo que coleta dados e os transmite, mas capaz também de realizar computações,
análises e até de unir informações próprias com seus nós sensores vizinhos. O rádio é
responsável por realizar a comunicação do nó sensor com outros, recebendo e enviando
dados. Ele é capaz de detectar sinais de baixas potências, por exemplo até -100 dBm, e enviar
sinais a algumas dezenas de metros [6]. A memória é útil por permitir o armazenamento de
informações, podendo ser salvas mesmo quando o nó sensor está desligado ou fora de
operação.
Outro componente dessas redes é a estação-base, composta por um gateway e um
computador, que recebe os dados e os interpreta, disponibilizando-os ao Observador, o
interessado na aplicação da rede.
Essas redes realizam comunicação sem fio em 900 MHz ou 2.4 GHz, utilizando protocolos
como ZigBee ou WirelessHART [7], utilizando o padrão IEEE 802.15.4, por especificar a
comunicação de redes ad-hoc, com baixo consumo de energia, para dispositivos com
limitações computacionais [8].
12
Embora as redes de sensores sem fio apresentem características que lhe garantem
flexibilidade de trabalho em situações em que redes sem fio tradicionais não se encaixariam,
ou a praticidade que uma rede de sensores cabeada não se adequam, existem algumas
limitações que devem ser estudadas a fim de serem sanadas ou diminuídas.
Os nós sensores são componentes de dimensões reduzidas [9], portanto, a capacidade de
energia disponível em suas baterias é limitada. Além disso, como essas redes são
normalmente utilizadas em lugares de difícil acesso e são compostas de inúmeros sensores, a
troca de bateria não é uma opção viável [10]. Para que elas se adequem a isso, a capacidade
computacional dos nós sensores é bastante reduzida; o rádio apresenta baixo alcance, de no
máximo, algumas dezenas de metros; baixa potência de transmissão e quantidades limitadas
de memória.
As redes de sensores sem fio apresentam características próprias, conforme [11], que podem
variar dependendo de tipo de aplicação que desempenham. Elas são citadas a seguir:
Mobilidade da rede: Por transmitirem suas informações pelo ar, a mobilidade da rede pode
existir. Dependendo da aplicação, como monitoramento de poluição aquática, os nós sensores
podem se deslocar em relação a outros sensores ou em relação à estação-base.
Endereçamento dos sensores: Os nós sensores podem ser endereçados por número
identificador de nó ou por grupo de dados. No endereçamento por nó, é fundamental saber
quais as medidas dos sensores de um único nó sensor, enquanto que em um endereçamento
baseado em dados, a informação importante não são as medidas de um único sensor, mas sim
de um grupo deles, dispostos em uma região específica.
Auto-organização da rede: As redes de sensores sem fio podem apresentar uma topologia
dinâmica, pois alguns nós sensores podem entrar em estado de hibernação ou apresentar
problemas técnicos. Assim, é importante que haja uma auto-organização periódica da rede,
atualizando tabelas de roteamento para permitir que sempre possa haver comunicações entre
os nós sensores.
Agregação de dados: Como os nós sensores são dotados de capacidade computacional, o nó
sensor pode analisar os pacotes recebidos e fundir a eles suas próprias leituras, se possível.
Como o rádio é o componente que mais gasta energia no nó sensor [11], a diminuição no
número de mensagens é uma forma eficaz de economia de energia. Este processo é
exemplificado na Figura 1-3, em que são demonstradas duas abordagens. Em a) a rede de
13
sensores não apresenta agregação de dados. Dessa forma, cada sensor envia seus pacotes para
o nó sensor vizinho realizando nove transmissões. Em b), com uma abordagem de agregação
de dados, os nós sensores fundem suas informações, realizando, no exemplo, seis
transmissões, economizando energia.
Figura 1-3 - Exemplificação de roteamento de pacotes. a) Sem agregação de dados e b) Com agregação de dados.
Limitação energética: Como o nó sensor é alimentado por uma fonte de energia finita e,
possivelmente, sem possibilidade de reposição, os nós sensores fatalmente irão “morrer” por
falta de energia. Assim, quanto menos energia for gasta, maior é o tempo de vida da rede.
Aplicações, protocolos e algoritmos para essas redes devem ser desenvolvidos baseado nesta
característica.
1.2 CONTEXTO DO TRABALHO
Sensores podem ser usados para coleta de dados de uma área ou região para que seus valores
sejam posteriormente processados, analisados, armazenados ou visualizados. A coleta de
informações é importante para que se possa conhecer um ambiente e estuda-lo.
A Amazônia é a região de maior biodiversidade do planeta, com animais e vegetais únicos e
com espécies que são pouco conhecidas, devendo ser protegidas de ação humana predatória,
em áreas de preservação ambiental, por exemplo.
As dificuldades no monitoramento de habitats e da flora estão relacionadas com a grande
densidade da floresta, acesso deficiente à algumas localidades e, normalmente ao tamanho da
área a ser investigada. O processo tradicional de pesquisa ainda influencia o meio ambiente,
com a presença humana e pode invalidar os dados coletados [5]. Ainda, este processo, por
vezes, usa sensores sem capacidade de processamento e sem comunicação, necessitando de
intervenção humana para coleta das informações através de um computador, impossibilitando
a investigação em tempo-real.
14
Com redes de sensores sem fio, o monitoramento de uma área florestal pode ser feito de uma
forma menos intrusiva na natureza. Ainda, a rede de sensores sem fio pode ser colocada em
lugares de difícil acesso e ajudar no controle de níveis de poluições, de desmatamentos e de
queimadas, por possibilitar o acesso de informações em tempo-real.
Este trabalho apresenta alguns estudos teóricos relacionados as redes de sensores sem fio, em
especial à arquitetura do TinyOS [12], um sistema operacional de código aberto, distribuído
livremente, considerado o mais popular para redes de sensores sem fio, sendo suportado por
mais de 12 tipos de nós sensores. Além disso, analisou-se, de forma prática, o comportamento
do rádio de um dos nós sensores suportados pelo TinyOS, o MicaZ, em um ambiente florestal,
para que fosse possível obter e avaliar algumas métricas referentes à qualidade da
comunicação entre os nós sensores em um ambiente com obstáculos, como árvores e animais.
Por fim, ainda desenvolveu-se uma rede de sensores sem fio para realizar avaliações e
verificar a viabilidade técnica de uma rede de sensores em um ambiente florestal.
1.3 OBJETIVOS
O objetivo geral deste trabalho é a desenvolvimento de uma aplicação de uma rede de
sensores sem fio baseada na arquitetura do sistema operacional TinyOS, com o intuito de
avaliar a viabilidade técnica do uso desta abordagem de monitoramento em redes de sensores
sem fio na prática, avaliando o comportamento da rede através de medidas de grau de
interferência, alcance e robustez dos protocolos de comunicação. Como objetivos específicos,
destacam-se:
Estudo da arquitetura do TinyOS, seus módulos e modelos de programação e
execução;
Estudo da arquitetura de um nó sensor suportado pelo TinyOS, o MicaZ, assim como
os seus módulos de comunicação e processamento, placas sensoras suportadas por ele
e estações-bases que funcionam em conjunto;
Análise de alcance e desempenho do módulo de comunicação do nó sensor MicaZ em
ambiente florestal;
Desenvolvimento de uma rede de sensores sem fio com estes nós sensores para avaliar
a viabilidade técnica do uso desta abordagem de monitoramento em redes de sensores
sem fio na prática e em larga escala, avaliando o comportamento da rede através de
medidas de grau de interferência, alcance e robustez dos protocolos de comunicação.
15
1.4 ESTRUTURA DO TRABALHO
Este trabalho adota a seguinte organização:
O Capítulo 2 descreve a arquitetura dos nós sensores utilizados, MicaZ; descreve o sistema
operacional relacionados a eles, TinyOS; protocolos de roteamento existentes a eles; e seus
módulos.
O Capítulo 3 apresenta os cenários utilizados na realização deste trabalho, as métricas de
desempenho utilizadas, assim como os equipamentos de hardware e software adotados.
O Capítulo 4 mostra os resultados de testes experimentais feitos em um ambiente florestal,
com finalidade de analisar o comportamento de nós sensores, tendo em vista fatores como
interferência, alcance de transmissão e a confiabilidade da comunicação.
No Capítulo 5 são apresentadas considerações finais, as principais dificuldades encontradas e
as propostas de trabalhos futuros.
16
2. ARQUITETURA DO TINYOS E NÓS SENSORES MICAZ
2.1 INTRODUÇÃO
Para que seja viável a construção de experimentos e de aplicações de teste em rede de
sensores sem fio, utilizando o TinyOS, é necessário revisar algumas informações importantes
referente a arquitetura dos nós sensores utilizados neste trabalho, os MicaZ. Além disso, é
vital avaliar e entender como o sistema operacional é organizado, quais os seus módulos e
seus modelos de programação e execução.
Neste Capítulo será visto com detalhes, primeiramente, os componentes dos nós sensores
MicaZ e em seguida será feito um estudo profundo do TinyOS, incluindo seus modelos,
módulos, formas de aquisição de dados de sensores, gerenciamentos de energia e memória,
além da explicação de protocolos e ferramentas de apoio ao desenvolvimento de aplicações.
2.2 ARQUITETURA MICAZ
Como definido no Capítulo 1, os nós sensores são tipicamente compostos por um
microcontrolador, para realizar computações relacionados aos sensores; uma fonte de energia,
com função de alimentação; uma memória externa ao microcontrolador, para armazenar
informações que podem continuar existindo mesmo com a falta de energia e um módulo de
rádio, que realiza comunicações entre os sensores. A Figura 2-4 exemplifica, em um diagrama
de blocos, estes componentes.
Figura 2-4 - Diagrama de blocos dos componentes de um nó sensor
17
2.2.1 Nó sensor MicaZ
Os nós sensores MicaZ [9], demonstrados na Figura 2-5, pertencem à família Mica, em
conjunto com os Mica2Dot e Mica2, desenvolvidos pela Universidade de Berkeley,
comercializados inicialmente pela Crossbow Technology [13], atualmente sendo
comercializados pela empresa Memsic [14]. Esses nós sensores são desenvolvidos para
trabalharem em baixa potencia, com transmissão na faixa de 2.4 GHz, de acordo com o
protocolo IEEE 802.15.4 [8], sendo alimentados por duas pilhas AA, podendo ser
recarregáveis. Esses nós sensores são úteis para aplicações em redes de sensores sem fio
altamente escaláveis (mais de mil nós sensores), em ambientes internos ou externos.
Figura 2-5 - Nó sensor MicaZ.
Ao se falar sobre a arquitetura do MicaZ, não se pode tomar como referência somente o nó
sensor, mas também as suas placas sensoras e gateways compatíveis, explicados nas sessões a
seguir.
2.2.1.1 Microcontrolador e Memória Flash
O MicaZ está dotado de um microcontrolador de 8 bits desenvolvido pela empresa Atmel,
ATMega128L[15], considerado de alta performance, apresentando baixo consumo de energia.
Com frequência do oscilador regulável de 0 a 8 MHz e operando de 2,7 a 5,5 V, possui uma
arquitetura RISC com 133 instruções, muitas executadas em um único ciclo de clock.
Apresenta 53 linhas de entrada e saída programáveis e memórias de programa (FLASH) e
dados (SRAM) de 128 kB e de 4 kB, respectivamente. O seu conversor analógico-digital é de
8 canais, com 10 bits, e este microcontrolador pode funcionar em até seis modos de operação.
18
Este microcontrolador possui ainda interfaces seriais UARTs (Universal Asynchronous
Receiver/Transmitter) e SPI (Serial Peripheral Interface), oferecendo suportes a entradas
analógicas e digitais, possibilitando assim, o uso de uma ampla variedade de sensores.
O dreno de corrente nele é em torno de 8 mA, em modo ativo e menos de 15 uA em modo
sleep, e cujas dimensões são 58 x 32 x 7 mm.
A Figura 2-6 apresenta um diagrama de blocos da arquitetura AVR, da Atmel, mostrando o
barramento de dados, de 8 bits e a comunicação de registradores e sistemas de entrada/saída.
Figura 2-6 - Visão geral da arquitetura do microcontrolador ATMega128L.
A memória FLASH presente nos nós sensores MicaZ são desenvolvidas pela Atmel,
AT45DB014B, de 512 kB, com conexão SPI. Essa memória é externa ao microcontrolador,
funcionando para armazenamento de informações mesmo que exista desligamento do sensor
ou perda de energia. [9]
19
2.2.1.2 Rádio
Para realizar transmissões de mensagens pela rede de sensores sem fio, o nó MicaZ está
composto ainda de um transceptor rádio frequência (RF) desenvolvido pela ChipCon CC2420
[9], transmitindo na faixa de 2,4 GHz e de acordo com o protocolo IEEE 802.15.4. De acordo
com [6], este chip foi desenvolvido especialmente para aplicações de baixa potência, visto que
seu consumo médio é de 18,8 mA para recepção de pacotes e 17,4 mA para transmiti-los.
O ChipCon CC2420 é composto de um modem banda base que trabalha com espalhamento
digital por sequência direta, fornecendo um ganho de 9 dB e uma transmissão de 250 kbps. É
utilizada modulação O-QPSK (offset quadrature phase-shift keying.
A transmissão de pacotes é feita com um tamanho máximo de 128 bytes, com potência
regulável por programação, de aproximadamente -24 dBm a 0 dBm, em 8 níveis. A
frequência de transmissão também é regulável, de 2400 MHz a 2483.5 MHz, programável em
níveis de 1 ou 5 MHz. A sensitividade do receptor é de até -95 dBm, significando que este
rádio é capaz de captar sinais bastante fracos, em torno de 500 pW, passando a ser uma
vantagem à rede de sensores [16]. O alcance dele pode ser de 70 a 100 metros em ambientes
externos e de 20 a 30 metros em ambientes internos.
Ainda, é dotado de suporte em hardware para manuseamento de pacotes, buffer de dados,
encriptação e autenticação de dados, transmissão de rajadas, avaliação de canal livre,
indicador da qualidade do link e informações de tempo de pacotes.
2.2.2 Placas Sensoras
Os nós MicaZ não apresentam sensores propriamente ditos. Para que eles sejam capaz de
interagir com o meio ambiente é necessário o uso de placas sensoras. Elas são dotadas de
sensores capazes de medir grandezas físicas, através de conversores analógico/digitais e
canais digitais, como temperatura, luminosidade, pressão, umidade, aceleração, campo
magnético, dentre outros. Essas placas são acopladas no nó sensor por meio de um conector
expansor de 51 pinos conforme definido em [9].
As placas sensoras foram desenvolvidas para trabalharem com os nós sensores da família
Mica, podendo serem utilizadas em mais de um tipo de nó sensor da família Mica. Foram
analisadas três placas diferentes, listadas a seguir.
20
As placas MTS300CA e MTS310CA [17], mostradas na Figura 2-7, são consideradas placas
flexíveis por conter uma variedade de sensores, incluindo de temperatura, de luminosidade,
um microfone e um buzzer operando em 4 kHz. Adicionalmente a placa MTS310CA contém
um acelerômetro de 2 eixos (ADXL202) e magnetômetro de 2 eixos. Elas possibilitam
aplicações como detecção de veículos, sensoriamento (de baixa performance) de sinais
sísmicos, monitoramento de ambientes, uso em robôs, etc. [18].
Figura 2-7 - Placas sensoras para nós da família Mica. a) Placa sensora MTS300CA, b) Placa sensora MTS310CA.
O microfone destas placas podem ser usados para gravações de sons. O buzzer, operando em
4 kHz, pode ser utilizado em aplicações na identificação da localização dos sensores na rede.
O sensor de luminosidade é uma fotocélula CdSe simples, com máxima sensitividade luz com
comprimento de onda de 690 nm. O termistor, fabricado pela Panasonic, ERT-J1VR103J, é
configurado em um circuito divisor de tensão com leitura nominal de meia escala em 25C.
O acelerômetro apresenta baixo consumo de energia (menos de 1 mA) e apresenta resolução
de 10 bits. Ele pode ser utilizado para detecção de movimentos, inclinação, vibração e/ou
medições sísmicas. Entretanto, testes práticos comprovaram que este sensor é pouco preciso,
em relação a outros disponíveis no mercado, não sendo recomendado para aplicações que
necessitem grande precisão. [2]
O magnetômetro HMC1002, desenvolvido pela empresa Honeywell, pode ser útil para fazer
detecção de veículos, com testes mostrando perturbações com automóveis a até 4,5 metros. O
núcleo NiFe do sensor magnético é susceptível a saturação quando ele é exposto a um grande
campo magnético. O circuito da placa MTS310CA não é capaz de se recuperar
automaticamente dessa saturação, devendo ser papel do programador realizar esta operação.
Além disso, isso impossibilita o uso dele como uma bússola.
21
A placa sensora MTS420CA [18], mostrada na Figura 2-8, pode ser utilizada para fazer
monitoramento ambiental, com aplicações na agricultura, florestas e plantações. Ela está
equipada com sensores de umidade e temperatura, de pressão, de luminosidade, acelerômetro
e um GPS.
Figura 2-8 - Placa sensora MTS420CA, com módulo GPS Leadtek destacado.
O chip de umidade e temperatura contém um conversor analógico/digital interno de 14 bits e
uma interface serial. Este chip opera de 2,4 a 3,6 V. O sensor de pressão e temperatura
fornece uma palavra de 16 bits com esses dois valores, utilizando uma interface 3-wire para
realizar comunicações. Ele opera em 2,2 a 3,6 V.
O sensor digital de luminosidade, TLS2550, desenvolvido pela empresa TAOS [19],
apresenta uma interface serial para comunicação. Ele combina dois fotodiodos e um conversor
analógico-digital em um único chip, fornecendo medições com 12-bits, operando de 2,7 a 3,6
V. O acelerômetro de 2 eixos é o mesmo da placa MTS310CA. O módulo de GPS,
desenvolvido pela empresa Leadtek [20], necessita de 3,3V para operação. A saída deste
módulo é feita via porta serial. A antena externa, de 10 m, é alimentada pelo módulo GPS,
utilizando cerca de 60 mA. Para que o módulo GPS seja utilizado, são necessárias pilhas de
3,3 – 3,6 V de lítio, enquanto que pilhas alcalinas não são recomendadas, a menos que o
módulo GPS seja desligado enquanto o rádio estiver sendo utilizado.
2.2.3 Gateways
Para que seja necessário realizar a extração e o envio de informações de um computador para
a rede de sensores sem fio é necessário o uso de gateways, placas que são acopladas a um nó
sensor, podendo realizar comunicação com eles. Os gateways também são usados para
realizar a programação dos nós sensores. Foram observados dois modelos, o MIB510 e o
MIB600 [18].
22
A MIB510, mostrado na Figura 2-9, é considerada uma placa de interface serial RS-232,
sendo utilizada para todos os nós que utilizam o microcontrolador ATMega128L, como
MicaZ, Mica2 e Mica2Dot.
Figura 2-9 - Gateway MIB510CA.
Este gateway apresenta um in-system processor (ISP) para realizar a programação dos nós
sensores. Ele realiza um controle contínuo da porta serial, a 115 kbaud, esperando um padrão
de bytes específico. Uma vez encontrado, o transmissor/receptor serial conectado ao nó sensor
é desligado, assumindo o controle da porta serial. O ISP faz o download do código por ela e
realiza a gravação. Informações sobre os conectores da placa e os comandos para a gravação
dos nós sensores podem ser vistos em [18].
O gateway MIB600CA, mostrado na Figura 2-10, fornece conexão por meio da Ethernet
(10/100) para os nós sensores da família Mica, também baseados no microcontrolador
ATMega128L. Este gateway apresenta duas configurações padrões, um como ponto de acesso
à Ethernet para a rede de sensores e outro como programador de nós sensores. Informações
sobre conectores desta placa e os comandos e procedimentos para gravação de nós sensores
pode ser vistos em [18].
Figura 2-10 - Gateway MIB600CA.
A facilidade em se utilizar a MIB600CA é notada pois, ao invés de se necessitar de um
computador ligado a um gateway por um cabo serial, pode-se disponibilizar somente um
23
ponto Ethernet para a região, e um computador podendo estar distante da rede, acessando-a
via rede local.
2.3 O SISTEMA OPERACIONAL TINYOS
O TinyOS [12] é um sistema operacional desenvolvido especialmente para sensores sem fio
que apresentem um baixo poder computacional, composto de sistemas e mecanismos para
economia de energia. A programação para ele é feita de forma simplificada, pois a forma
como o sistema é construído fornece uma grande abstração de componentes de hardware.
Atualmente o TinyOS é suportado por mais de 12 nós sensores, de diferentes fabricantes,
incluindo microcontroladores de 32 bits e 4 tipos diferentes de rádio para comunicação.
A linguagem de programação nesC é considerada um dialeto de C. Ela é utilizada para
programar tanto as aplicações ao TinyOS quanto ao próprio sistema operacional. Esta
linguagem apresenta funcionalidades como redução do consumo de memória RAM e tamanho
do código compilado, otimizando-o para plataformas com capacidades computacionais
restritas, como em redes de sensores sem fio. Por ser uma linguagem orientada a eventos,
facilita ao programador o debug do código, ainda possibilitando que o sistema operacional
gerencie os estados de funcionamento do microcontrolador, isentando o programador de
realizar tais tarefas [21].
O TinyOS apresenta três principais características que facilitam a programação de aplicações.
Uma delas é o modelo de programação baseado em componentes. Os componentes contém
pequenas partes de códigos que podem ser reutilizados e que fornecem abstração de uma
camada inferior. Os componentes são definidos como dependentes uns dos outros, podendo
até fornecer outros componentes.
Outra característica importante é o modelo de execução do sistema. Este modelo define como
os componentes concorrem pelo microcontrolador ao mesmo tempo em que acontecem
interrupções. Assim, o sistema promove a computação de múltiplos componentes ao mesmo
tempo, utilizando pouca memória RAM. O modelo de execução, baseado em eventos,
determina que todo pedido de E/S (entrada/saída), por exemplo, seja realizado em duas
etapas, chamado de split-phase. Ao contrário de haver um bloqueio no processamento do
microcontrolador para o retorno da operação de E/S, ele pode realizar outras computações,
enquanto esta operação é realizada ou até mesmo entrar em modo de economia de energia. No
momento em que a informação relativa ao E/S está disponível, o sistema operacional sinaliza
24
(por meio de um evento) que a leitura ou escrita terminou, disponibilizando a informação e/ou
uma informação se ele foi bem sucedido ou não. Ainda, o TinyOS suporta tarefas, tasks, as
quais são pedaços de códigos determinados por componentes a serem realizados quando o
microcontrolador estiver livre de eventos a tratar [21].
Por último, o TinyOS apresenta uma variedade de APIs (Interface de Programação de
Aplicações) para ler sensores, enviar pacotes, responder a eventos, etc.; simplificando a
programação. Normalmente, as APIs são funcionalidades oferecidas por Interfaces, uma
espécie de componente especial, que somente apresenta a chamada de eventos, para que estas
sejam implementadas por outros componentes que as fornecem. Assim, múltiplos
componentes do sistema operacional podem utilizar as mesmas interfaces para fornecer
funcionalidades ao programador [21].
2.3.1 Modelo de programação do TinyOS
Como dito anteriormente, o modelo de programação do TinyOS é baseado em componentes e
interfaces, tipos especiais de componentes somente com declaração de eventos, sem a
implementação destes. Os componentes, na linguagem nesC, estão como uma classe está para
uma linguagem orientada a objetos. As interfaces são vistas como as ferramentas que realizam
as ligações entre um componente e outro, definindo somente eventos que devem ser tratados
ou que serão sinalizados no decorrer de uma aplicação. Ela pode ser vista como uma classe
abstrata em uma linguagem orientada a objetos.
2.3.1.1 Componentes
Um código escrito em nesC apresenta pelo menos três arquivos, sendo dois tipos de
componentes, chamados de configuração e módulo; e um arquivo makefile.
Um módulo é um componente que especifica o código da aplicação em si, implementando os
eventos de interfaces, enquanto que uma configuração é considerada como o componente top-
level, ou seja, o primeiro componente a ser lido no momento de compilação, tendo como
função a ligação entre componentes do sistema operacional, o arquivo de módulo
desenvolvido e interfaces.
A Figura 2-11 demonstra esquematicamente esta ligação de componentes especificada no
arquivo de configuração. O Componente A necessita de funcionalidades que está sendo
25
fornecida pelo Componente B, para isso, ele utiliza a Interface, cujo papel é oferecer essa
funcionalidade, unindo estes dois componentes.
Figura 2-11 - Ligação entre componentes, através de uma interface.
A compilação de uma aplicação em nesC é realizada inicialmente pelo componente top-level,
especificado no arquivo Makefile, pois ele contém as ligações entre os componentes e as
interfaces utilizadas. O compilador toma proveito dessas ligações explícitas para construir
binários altamente otimizados. Primeiramente, os códigos em nesC, da aplicação
desenvolvida, em conjunto com as bibliotecas do TinyOS, são passados para um único
arquivo em C, o qual é compilado por um compilador C, gerando um arquivo objeto
executável, conforme demonstrado na Figura 2-12. Assim, uma aplicação gera um arquivo
binário único que contém controle total sobre o hardware, não existindo separação entre
espaços de memória de usuário e sistema, somente um único espaço em que todos os
componentes compartilham.
Figura 2-12 - Processo de compilação de uma aplicação em nesC.
2.3.1.2 Interfaces
Interfaces descrevem uma relação funcional entre um componente e outro, sendo a única
forma deles interagirem entre si. Uma interface pode ser fornecida ou usada por um
componente, oferecendo assim, uma funcionalidade a ser utilizada (se ela for fornecida) ou
consumida (se ela for usada) [22].
Interfaces são compostas de dois tipos de funções: comandos e eventos. A diferença entre elas
depende do papel da interface na relação dela e do componente. Comandos são chamados por
26
usuários da interface, os quais necessitam de funcionalidades de outros componentes,
enquanto que eventos são sinalizados por componentes fornecedores da interface. Dessa
forma, o componente usuário de uma interface obrigatoriamente necessita implementar os
eventos desta, enquanto que o componente fornecedor de outra deve implementar os
comandos dela.
Para implementar transparência e abstração, o TinyOS é organizado em camadas, com
ligações encadeadas entre componentes, através de diversas interfaces. Cada camada superior
sempre necessita de uma funcionalidade oferecida pela inferior. Para melhor entendimento,
analisar a Figura 2-13, demonstrando exemplos de ligações entre alguns componentes.
Componentes são demonstrados em verde, enquanto que interfaces fornecidas são marcadas
em vermelho e interfaces usadas, em azul. As ligações entre componentes são explanadas
como setas unidirecionais.
Figura 2-13 - Demonstração de interfaces fornecidas e utilizadas por componentes.
Considerando que RdLumC é um componente que descreve uma aplicação que realiza leitura
do sensor de luminosidade e “pisca” um led sempre que isso é realizado, a Figura 2-13
demonstra que este módulo implementa os eventos da interface Read<uint16_t>, uma vez
que esta interface é utilizada. Entretanto, o componente PhotoC é responsável por
implementar alguns comandos desta interface, enquanto que ArbitractedPhotoDeviceP
implementa outros.
27
De forma análoga, para que seja possível “piscar” um led, o componente RdLumC utiliza a
interface Leds, a qual é fornecida pelo componente LedsC. Este componente apresenta,
portanto, a responsabilidade de implementar os códigos responsáveis para o ligar e desligar de
um led, enquanto que RdLumC somente utiliza essa funcionalidade.
Finalizando a seção de interfaces, ainda é interessante comentar sobre interfaces split-phase.
Como dito anteriormente, certas operações no sistema são executadas em duas etapas: uma de
requisição, e outra, de finalização. A operação de requisição de início da operação é finalizada
imediatamente, deixando sistema operacional escolher o que computar em seguida. A
finalização real da tarefa é sinalizada por um evento de callback. [23]
Essa abordagem é interessante para evitar o bloqueio do sistema operacional, aguardando por
um pacote ser enviado pelo rádio; ou a requisição da leitura de um sensor. Uma solução para
isso seria o uso de threads, como nos computadores tradicionais. O uso de threads em sistema
embarcados, entretanto, requer um alto consumo de memória RAM, pois cada thread contém
a sua própria pilha que deve ser armazenada quando ela está em dormência, para que a sua
computação retorne no futuro, consumindo memória RAM. Como no hardware as operações
de leituras também são feitas em duas etapas, no software do TinyOS também, economizando
RAM, possibilitando a utilização do sistema em nós com sérias restrições computacionais.
2.3.2 Envio e recebimento de pacotes
O TinyOS fornece uma ótima abstração do rádio dos nós sensores, possibilitando que o envio
de recebimento de informações por eles seja realizado de forma simples. A comunicação no
TinyOS está centrada em um tipo de dados abstrato chamado message_t, implementado como
um struct nesC, similar a um struct em C, o qual representa a mensagem que será enviada
propriamente dita. Ele está definido como na Figura 2-14.
Figura 2-14 - Struct de mensagem message_t do TinyOS
28
O header, footer e metadata deste struct são obscuros e não podem ser acessados diretamente,
pois desta forma, garante-se que o payload da mensagem será interpretado da mesma forma,
independente do rádio e da plataforma que esta sendo desenvolvida a aplicação [23].
É possível enviar pacotes com tamanho máximo de payload de 28 bytes, caso contrário, o
rádio não poderá enviar os pacotes [24].
Como em determinadas situações é comum existirem vários serviços utilizando o rádio para
realizar comunicações, o TinyOS fornece uma camada para multiplexar o acesso ao rádio,
chamada Active Message (AM). Para que este struct seja acessado, utiliza-se algumas
interfaces, listadas na Tabela 2-1.
Tabela 2-1– Interfaces de auxílio na comunicação de nós sensores no TinyOS.
Interface Funcionalidade Componente
que a fornece
Packet Fornece os acessórios básicos para acesso ao tipo abstrato message_t,
como comandos para limpar o conteúdo de uma mensagem, tomar o
tamanho do payload e tomar um ponteiro para a área de payload.
AMReceiverC
AMSenderC
Send Fornece comandos para enviar uma mensagem ou cancelar uma
mensagem pendente pelo rádio. Fornece ainda um evento que indica se
uma mensagem foi enviada com sucesso ou não. Fornece ainda
comandos para tomar o tamanho do payload ou tomar um ponteiro para
a área de payload.
Componente
de um
protocolo
multi-hop
específico.
Receive Fornece um evento para recebimento de mensagem. Também fornece
comandos para tomar o tamanho do payload de uma mensagem e o
ponteiro para a área de payload.
AMReceiverC
AMPacket Interface similar a Packet, mas fornecendo acessórios básicos para uma
mensagem de tipo AM, como endereço AM de um nó, endereço AM do
nó de destino e tipo de pacote AM, dentre outros.
AMReceiverC
AMSenderC
AMSend Interface similar a Send, mas tomando como endereço de destino do nó
um endereço AM no seu comando de envio.
AMSenderC
Fonte: http://www.tinyos.net, Junho 2011.
Para que o código de uma aplicação possa ser facilmente portada para outra e facilitando
ainda, a programação de aplicações, abstraindo completamente o rádio, o componente
ActiveMessageC funciona como uma ponte entre essas interfaces e seus implementadores
29
dependentes do tipo de plataforma. Por exemplo, para o nó MicaZ, ActiveMessageC é
implementado por CC2420ActiveMessageC.
Em [22] é melhor detalhado os passos necessários para envio e recebimento de pacotes pelo
rádio e por comunicação serial.
Do ponto de vista do sistema operacional, a pilha de envio e recebimento de pacotes pelo
rádio está definida em várias camadas, demonstradas em [25]. No nó sensor MicaZ, a camada
mais alta é o componente ActiveMessageP. Cada camada é responsável por controlar e
adicionar uma funcionalidade específica, como especificações do protocolo ZigBee [8]; ajuste
de energia consumida pelo rádio; retransmissão automática de pacotes se um não for entregue;
e implementação do protocolo CSMA/CA.
Do ponto de vista da programação, o recebimento e envio de pacotes por comunicação serial,
do nó sensor para o computador é feito da mesma forma que entre os nós sensores. As
modificações se concentram somente nos componentes que fornecem as interfaces mostradas
na Tabela 2-1. Do ponto de vista do sistema operacional, a pilha serial está dividida em quatro
camadas [26]. Elas são responsáveis pela formatação do pacote transportado, implementação
do protocolo e acesso aos componentes para transmissão UART.
No TinyOS, como definido anteriormente, é possível enviar pacotes do tipo AM ou sob
protocolos específicos de roteamento. Atualmente, o sistema operacional suporta oficialmente
quatro protocolos de roteamento de múltiplos saltos, Collection, Dissemination, Dymo e
Deluge T2 [12], melhor descritos na seção 2.3.6, incluindo outros sob experimentos [27]. Em
uma rede com mais de um protocolo em funcionamento, normalmente o ponteiro do payload
da mensagem é obtida pela interface Send.nc, enquanto que a transmissão da estação-base
para o computador é feita pela porta serial, utilizando pacotes AM. Existe uma clara
incompatibilidade entre eles, portanto, ao receber um pacote em uma estação-base por um
protocolo “address-free”, para transmiti-lo como tipo AM é necessário carregar o ponteiro do
payload do pacote original, para acessar os seus dados, e passar manualmente cada
informação para o novo pacote AM.
Mais informações sobre os protocolos de roteamento serão descritas na sessão 2.3.6.
30
2.3.3 Sensoriamento
Por ser organizado em componentes, realizar medição com os sensores no TinyOS é uma
tarefa relativamente simples. No nó sensor MicaZ, não existem sensores propriamente ditos,
somente uma conexão para uma placa de expansão, que deve conter estes sensores capazes de
medir luminosidade, temperatura, umidade, aceleração, pressão atmosférica, dentre outras
grandezas físicas.
De acordo com [28], o TinyOS contém quatro tipos de interfaces para aquisição de dados de
sensores não relacionados ao sistema operacional. Cada interface descrita apresenta formas
para aquisição de dados para um determinado sensor. Para os sensores das placas sensoras
MTS300CA e MTS310CA, utiliza-se duas destas interfaces, Read e ReadStream. Observar a
Tabela 2-2.
Tabela 2-2 - Interfaces para aquisição de dados no TinyOS
Interface Funcionalidade Componente
que a fornece
Read Utilizada para aquisição de dados do tipo escalar, sendo útil para
leitura de sensores básicos, como de luminosidade, temperatura,
tensão e por leituras ADC.
Dependente do
sensor.
ReadNow Utilizando a mesma semântica de Read, esta interface é utilizada
para leituras de baixa latência, diferente das interfaces Read e
ReadStream.
Dependente do
sensor.
ReadStream Utilizada para aquisição de dados por stream, sendo útil para
leitura de sensores que fornecem várias leituras, em blocos.
Dependente do
sensor.
Fonte: http://www.tinyos.net, Junho 2011.
Todas essas interfaces são do tipo genérico, portanto, é necessário passar a elas, como
parâmetro, o tamanho do tipo de dados a ser adquirido, sendo um uint16_t ou uint32_t, por
exemplo.
As leituras de sensores são realizadas em uma operação split-phase, dessa forma, todas essas
interfaces sinalizam eventos a serem implementados readDone, contendo um tipo error_t,
sinalizando se ela foi bem sucedida ou não; e o valor de leitura. Caso a operação falhe, o valor
será zero. Para a interface ReadStream, entretanto, ainda existe a sinalização de buffer cheio,
permitindo o acesso às informações.
31
2.3.4 Gerenciamento de Energia
A quantidade de energia disponível em um nó sensor é bastante limitada, fazendo com que
este recurso seja o mais importante, devendo ser economizado e administrado ao máximo.
Microcontroladores contém vários estados de consumo de energia e, para que as baterias
sejam preservadas ao máximo, eles devem estar funcionando na mínima potência possível que
satisfaça os requisitos da aplicação. O TinyOS, portanto, precisa saber controlar a potência do
microcontrolador, colocando nos estados de consumo energético adequados. Para isso, sempre
que não exista código a ser executado, o sistema operacional coloca o microcontrolador em
estado um estado de dormência adequado, mudando para estado ativo quando interrupções
acontecem [29]. O TinyOS não possui escalonador de processos, como um sistema
operacional tradicional, entretanto, contém uma fila de processos a serem executados e,
quando esta está vazia, o sistema entra em dormência [30]. Em sistemas embarcados com
PICs ou dsPICs, o próprio programador é responsável para mudar estes estados do
microcontrolador, entretanto, no TinyOS, o próprio sistema é otimizado para realizar estas
operações sem interferência do programador.
A forma como o TinyOS se organiza para selecionar qual estado de dormência o
microcontrolador está é feita em três etapas, definidas em [30]. A primeira, técnica chamada
de dirty bit, determina que no momento em que um componente modificar um aspecto em
hardware que possa causar uma mudança de estado do microcontrolador, um comando de
atualização deste estado deve ser chamado, sendo este, portanto, o primeiro mecanismo de
economia energética.
O cálculo do estado do microcontrolador é realizado pelo componente McuSleepC. Suas
operações são realizadas de forma atômica, não devendo, entretanto, serem executadas em
espaços de tempo muito curtos para não introduzir lentidão e overhead no sistema.
Uma vez definida um novo estado para o microcontrolador, o comando de atualização de
estado é chamado, cuja implementação, de forma atômica, deve ser realizada de maneira
rápida, em no máximo 30 ciclos [29].
32
2.3.5 Memória
Depois da bateria, outro recurso a ser utilizado com cuidado em sistemas embarcados é a
memória RAM. Como normalmente microcontroladores não possuem espaços de memória de
usuário e de sistema, a memória RAM é vista como uma pilha única, sendo compartilhada por
todos os componentes, no TinyOS.
Para evitar problemas com a memória, é altamente desencorajado o uso de alocação dinâmica
de memória pelo uso de malloc ou outras chamadas em C.
Ao invés disso, variáveis devem ser alocadas estaticamente dentro de componentes, como um
buffer para armazenamento de leitura de sensores. Deve-se evitar ainda, códigos recursivos e
declarações de grandes variáveis, como arrays. O maior problema de códigos recursivos,
entretanto, não é evita-los dentro da implementação de componentes, mas sim na ligação entre
componentes no sistema operacional [21]. Para isso, componentes são organizados de forma
hierárquica, em que componentes de uma aplicação usam interfaces fornecidas pelos serviços
do sistema, os quais usam interfaces de serviços mais baixos, etc.
2.3.6 Protocolos de Roteamento
Existem vários métodos de envio de pacotes no TinyOS. O envio de pacotes AM [23], por
exemplo, é realizado por conexões de um único salto, ou seja, o nó somente transmite para
quem estiver ao seu alcance. Se um nó sensor estiver muito distante, ele não poderá receber
pacotes. Pacotes AM são transmitidos ainda, de forma não confiável, ou seja, não se garante
que o pacote será recebido em outros nós.
Aplicações simples de redes de sensores podem se ajustar muito bem com esse tipo de
transmissão, entretanto, em redes de sensores mais complexas, com mais nós sensores e que
cubram uma região maior que algumas dezenas de metros necessitam de protocolos de
roteamento melhores. Para isso, o TinyOS suporta protocolos de roteamento de múltiplos
saltos, como Dissemination [31], Collection Tree Protocol (CTP) [32], Tymo e Deluge T2
[22].
Os protocolos Tymo e Deluge T2 foram suportados recentemente pelo TinyOS. O primeiro é
uma implementação do protocolo Dymo para o TinyOS, sendo um protocolo de ponto-a-ponto
para MANETs (Mobile Ad-hoc Networks), reativo, não armazenando a topologia da rede, em
que os sensores calculam suas rotas somente quando necessário, reduzindo o tráfego da rede,
33
overhead e economizando energia. O segundo protocolo é especialmente utilizado para o
tráfego de grande volume de dados de forma garantida. Ele pode ser usado para
reprogramação de nós sensores de sem fio, transmitindo os binários através da rede, com o
auxílio de um bootloader [33].
O protocolo Dissemination é utilizado para disseminar pequenos valores para cada um dos
nós sensores em uma rede de forma confiável. Ele permite que o administrador desta rede
reconfigure pequenos parâmetros, faça requisições ou até mesmo reprogramar uma rede. A
confiabilidade deste protocolo é importante para que ele seja robusto contra interrupções
temporárias ou altas perdas de pacotes [22].
Este protocolo fornece duas interfaces básicas, DisseminationValue e DisseminationUpdate.
A primeira é utilizada pelos consumidores da rede, que deverão receber o novo parâmetro
disseminado, enquanto que a segunda é utilizada por produtores, os que disseminarão a nova
informação. [31]
O protocolo CTP normalmente é utilizado em conjunto ao Dissemination, consistindo em
uma coleta de informações da data gerada pela rede até o nó sensor considerado raiz,
normalmente uma estação-base. Ele funciona como se fosse uma árvore, transmitindo as
informações em múltiplos saltos até o nó principal. Apesar dele realizar algum esforço para a
entrega de pacotes para o nó raiz, este protocolo não é confiável, assim como pode existir
recebimento de pacotes duplicados pelo nó raiz, realizando transmissões desnecessárias que
consomem energia e banda da rede [22].
Este protocolo possui algumas funcionalidades interessantes, como detecção de loops;
supressão de dados duplicados, tentando reduzir o overhead da rede; estimador de qualidade
de links com seus vizinhos em um único salto; e uma técnica para evitar que o
encaminhamento de pacotes pela rede venha a causar interferência nos pacotes subsequentes
[32].
34
2.3.7 Ferramentas de apoio
Para que seja possível realizar a comunicação da rede de sensores sem fio, no TinyOS com o
computador ligado à estação-base, o sistema oferece uma variedade de ferramentas
desenvolvidas em C, Java, Python ou em Shell Script, incluindo sistemas gerador de pacotes.
Uma das ferramentas em Java mais importantes é o Serial Forwarder, o qual permite que
múltiplos programas possam interagir com a rede ao mesmo tempo. Além disso, ele fornece
ferramentas básicas para o recebimento de pacotes, facilitando ao programador o
desenvolvimento de aplicações no computador. Sem ele, seria necessário realizar a
programação realizar a comunicação da porta serial ou USB para que fosse necessário o
recebimento e envio de informações.
Existem ainda ferramentas no sistema que realizam teste de porta serial ou ferramentas que
repassam os pacotes recebidos pela porta para um terminal, a serem analisadas. Entretanto, os
pacotes são recebidos pelo computador e organizados de forma hexadecimal, contendo várias
informações. Para que o valor do payload seja identificado, o TinyOS oferece o MIG,
Message Interface Generator, trabalhando como um “tradutor” que, ao ser seguidas certas
regras e pré-requisitos, ele classifica as informações e disponibiliza valores decimais para
entendimento humano, facilitando ainda mais o desenvolvimento de aplicações de suporte às
redes de sensores sem fio [22].
35
3. METODOLOGIA
3.1 INTRODUÇÃO
Foram realizados neste trabalho experimentos de alcance de nós sensores MicaZ e o
desenvolvimento de uma aplicação de monitoramento ambiental. Neste capítulo são
apresentadas quais métricas de desempenho foram utilizadas para analisar o alcance dos
sensores e a qualidade da comunicação entre eles. Ainda, mostra-se os cenários em que foram
realizadas estas medições e, por fim, as ferramentas que foram utilizadas no desenvolvimento
da aplicação de monitoramento.
3.2 MÉTRICAS DE DESEMPENHO
Neste trabalho, três métricas de desempenho foram consideradas: a intensidade do sinal
recebido (RSSI), o indicador de qualidade do link de comunicação (LQI) e o número de
pacotes recebidos.
O RSSI, LQI e número de pacotes recebidos por um nó sensor são medidas muito utilizadas
para analisar e avaliar a qualidade na comunicação entre os nós sensores de uma rede de
sensores sem fio. Eles podem variar de acordo com o ambiente em que os sensores são
colocados, com a localização destes em relação ao solo ou a outros sensores, assim como o
ângulo de comunicação entre eles, uma vez que as antenas podem fornecer sinais mais fortes
ou mais fracos em três dimensões.
O rádio CC2420 [6] do MicaZ é capaz de detectar o RSSI de 0 a -100 dBm, com exatidão de
6 dBm, para mais ou para menos. O intervalo entre as medições desta informação deve ser de
aproximadamente 128 us. Este valor é disponibilizado por um registrador de 8 bits em
complemento de 2, de acordo com a fórmula:
RSSI=RSS IVAL+RSS IOFFSET [dBm] (1)
Em que o RSSIOFFSET é determinado empiricamente durante o desenvolvimento do chip, com
valor aproximado de -45.
O RSSI é uma medida importante para a rede de sensores sem fio, sobre quão intenso está
sendo o recebimento de um pacote por outro nó sensor. Quanto maior for este valor, mais
intenso é o sinal [4].
36
Outra informação importante é o LQI. O rádio CC2420 é capaz de indicar esta qualidade,
caracterizando a intensidade e/ou a qualidade de um pacote recebido, de forma definida em
[8].
O valor do RSSI pode ser utilizado para produzir o valor do LQI, entretanto, essa abordagem
traz a desvantagem de que uma interferência de banda estreita na largura de banda do canal
aumenta o valor do LQI, apesar de reduzir a qualidade do link. Para que isso seja superado, o
rádio CC2420 prevê um valor de correlação médio de cada pacote de entrada (CORR), cujo
valor está entre 110, indicando máxima qualidade do sinal, e 50, indicando a menor qualidade
detectável pelo rádio. Pela definição de [8], o valor do LQI deverá estar em torno de 0 a 255,
devendo ser calculado, então, pela fórmula:
LQI= (CORR−a )× b (2)
Sugere-se, em [6] que as variáveis a e b sejam baseadas em medidas empíricas de PER
(Packet Error Rate), de forma que haja uma conversão linear dos valores para a faixa de 0 a
255. Não é feita, entretanto, uma definição clara de como obter medidas de PER, pelo rádio
nem pelo sistema operacional do nó sensor MicaZ. Dessa forma, neste trabalho, utilizar-se-á
os valores de LQI como a correlação dada pelo rádio CC2420, variando de 50 a 110.
A perda de pacotes indica que a rede de sensores pode estar congestionada, com vários
sensores transmitindo pacotes ao mesmo tempo, ocorrendo colisões; ou que o sinal está sendo
dispersado e não conseguindo ser detectado pelo rádio de outro sensor. Ela deve ser evitada
ao máximo pois, além de se perder o valor da leitura de sensores, em uma rede de sensores
sem fio com abordagem multi-hop e com agregação de dados, dependendo da topologia da
rede, ela pode significar a perda de comunicação de um grupo de sensores com a estação-base
ou a perda de valores um determinado período de tempo de um ou mais sensores.
3.3 EXPERIMENTO DE ALCANCE DOS SENSORES
Para que seja possível analisar o alcance dos nós sensores MicaZ, realizou-se três medições
em situações distintas. Elas foram feitas com dois nós sensores MicaZ, em que um deles
permanecia fixado na estação-base, enquanto que outro se movimentava, distanciando-se dela.
A aplicação era finalizada quando não era mais possível realizar a comunicação entre eles.
O nó sensor móvel enviava pacotes contendo a identificação do nó, o canal em que estava
sendo realizada a transmissão e a potência do sinal. Em todos os experimentos utilizou-se o
37
canal 26 e potência de transmissão de 0 dBm.
Como os valores de RSSI e LQI podem sofrer variações, sofrendo influência do ambiente
externo e da propagação de ondas, eles são um conjunto de valores distribuídos em torno de
um ponto central, seguindo distribuição normal [16]. Dessa forma, para realizar essa análise,
desenvolveu-se um programa no qual o nó sensor móvel envia cinco grupos de 25 pacotes
cada, totalizando 125 pacotes. Os valores do RSSI e LQI serão dados pela média de todos os
seus valores, respectivamente. O intervalo entre as coletas dos pacotes é de 250 ms, enquanto
que o intervalo entre os grupos de pacotes é de 2 segundos. Para atenuar a presença humana
nas medições, ao ligar o sensor, ao invés de enviar os pacotes de imediato, aguarda-se 10
segundos para que o operador possa se distanciar.
Após o envio dos pacotes, o nó sensor móvel era distanciado da estação-base em
espaçamentos múltiplos de, dependendo do ambiente, 2 ou 5 metros e novamente iniciado.
Este procedimento era repetido até que nenhum dos pacotes fosse recebido pela estação-base.
Se nenhum pacote fosse recebido, a tentativa de envio dos pacotes era efetuado em até três
vezes. Se mesmo assim a estação-base não recebesse nenhuma informação, o experimento era
decretado como encerrado.
Em um dos testes de alcance, realizou-se ainda um teste adicional. Analisou-se o alcance dos
sensores de acordo com o ângulo de comunicação. O nó sensor móvel além de se afastar da
estação-base, era rotacionado, realizando medições a cada 45 graus.
A altura da estação-base em relação ao solo era de 0,75m, enquanto que o nó sensor móvel era
colocado no mesmo nível que ela. Em determinadas situações, devido a ondulações do
terreno, este ficava muito próximo ao solo, fazendo com que fosse necessário realizar as
medições para altura de 1,4 m em relação ao solo.
Para realizar as avaliações, calculou-se a média e o desvio padrão do RSSI e LQI para cada
distância. O número de pacotes recebidos, para melhor visualização, é apresentado de forma
percentual.
3.4 CENÁRIOS
Três cenários foram adotados nos experimentos: campo aberto, com visada direta entre os nós
sensores; ambiente de floresta com vegetação espalhada e floresta densa.
38
3.4.1 Campo Aberto
Sabendo-se que ambientes florestais apresentam interferências, pelas folhas das árvores e
troncos, realizou-se inicialmente os testes em um ambiente de campo aberto, demonstrado
pela Figura 3-15.
Neste cenário, a estação-base era posicionada a 0,75 m de altura em relação ao solo e o nó
sensor móvel configurado em duas alturas: uma ao mesmo nível da estação-base e outra a 1,4
m em relação ao solo. A marcação em seta verde na Figura 3-15 é a posição da estação-base.
A linha em vermelho claro abaixo é uma demonstração do caminho em que o nó sensor móvel
se movia, inicialmente a 1 metro e, posteriormente, em múltiplos de 5 metros.
Figura 3-15 – Localização da estação-base e da linha de movimento do nó sensor no teste de alcance em campo aberto.
A Figura 3-16 mostra o experimento com visão da estação-base para o nó sensor móvel,
localizado a 20 m de distância. O gateway MIB510 não pode ser visto por estar oculto. O nó
sensor móvel está a 0.75 m de altura do solo, sendo sustentado por um tripé.
Linha de movimento do nó sensor
Estação-base
39
Figura 3-16 - Experimento de alcance dos nós sensores em campo aberto.
3.4.2 Ambiente Florestal com Vegetação Espalhada
O segundo teste foi realizado em um ambiente florestal com árvores e vegetação dispersas, no
Museu Paraense Emilio Goeldi, com a estação-base posicionada conforme demonstrado pela
seta verde, enquanto a linha de movimento do nó sensor móvel é demonstrada pelo retângulo
vermelho claro, inclinada, conforme Figura 3-17. O nó sensor móvel era distanciado da
estação-base em múltiplos de 5 metros.
Figura 3-17 - Localização da estação-base e da linha de movimento do nó sensor no teste de alcance em vegetação espalhada.
A Figura 3-18 mostra o ambiente e a estação-base. Ela ficou localizada a 0,70 metros de
distância da ilha de árvores a sua frente. Tanto a estação-base quando o nó sensor móvel estão
a 0,75 m de altura, sendo suportados por uma mesa e um tripé, respectivamente.
Linha de movimento do nó sensor
Estação-base
Nó sensor móvel
Estação-base
40
A Figura 3-19 mostra o ambiente e o nó sensor móvel a uma distância de 20 m da estação-
base. Pode-se ver que a região onde o nó sensor está não apresenta uma vegetação densa, com
algumas folhagens ao redor e sem árvores com diâmetros grandes.
Figura 3-18 - Experimento de alcance dos sensores em ambiente florestal com vegetação espalhada. Visão da estação-base.
Figura 3-19 - Experimento de alcance dos sensores em ambiente florestal com vegetação espalhada. Visão do nó sensor móvel.
Estação-base
Nó sensor móvel
41
3.4.3 Ambiente Florestal com Vegetação Densa
O último teste de alcance foi realizado em um ambiente florestal mais denso, no Bosque
Rodrigues Alves, com árvores maiores, mais folhosas, mais próximas uma das outras e com
grandes diâmetros de caule. A estação-base foi posicionada como indicado pela seta verde na
Figura 3-20. A linha de movimentação do nó sensor móvel não está sendo mostrada pois é
pequena para a escala da imagem. O nó sensor móvel foi distanciado de 2 em 2 metros para
este caso.
Figura 3-20 - Localização da estação-base do nó sensor no teste de alcance em vegetação densa.
A Figura 3-21 apresenta o ambiente e a estação-base. Ela ficou localizada a 0,70 metros de
distância da ilha de árvores a sua frente. Nota-se que a vegetação é mais densa que a da Figura
3-18, com grandes árvores próximas da estação-base.
A Figura 3-22 mostra o ambiente e o nó sensor móvel a uma distância de 6 metros da estação-
base. Para mantê-lo no mesmo plano que a estação-base, em determinados momentos era
necessário diminuir a altura do tripé, aproximando muito do solo, como demostrado na Figura
3-22. Por isso, foram realizadas medições com o nó sensor a 1,4 m de altura em relação ao
solo. Pode-se ver ainda que o ambiente que o nó sensor móvel está posicionado apresenta uma
folhagem maior, em comparação com o ambiente representado pela Figura 3-19.
Adicionalmente, existem caules de árvores pelo solo, aumentando a interferência no
ambiente.
42
Estação-base
Figura 3-21 - Experimento de alcance dos nós sensores em um ambiente florestal com vegetação densa. Visão da estação-base.
Figura 3-22 - Experimento de alcance dos nós sensores em ambiente florestal com vegetação densa. Visão do nó sensor móvel.
43
Nó sensor móvel
Estação-base
3.5 DESENVOLVIMENTO DE UMA APLICAÇÃO DE MONITORAMENTO
AMBIENTAL
Além de realizar teste de alcance dos nós sensores MicaZ em ambientes de campo aberto, e
com vegetações ora dispersas, ora densas, foi desenvolvido uma aplicação de monitoramento,
em que os nós sensores MicaZ eram dispostos em árvores medindo temperatura e
luminosidade do local.
3.5.1 Módulos Desenvolvidos
Para que fosse possível realizar esta aplicação, desenvolveram-se quatro módulos de software,
demonstrados na Figura 3-23, localizados, respectivamente, em (a) um servidor contendo um
banco de dados, (b) interface com o usuário, (c) estação-base e (d) nos nós sensores.
Figura 3-23 - Estrutura da aplicação de monitoramento ambiental. (a) servidor. (b) interface. (c) estação-base. (d) nós sensores.
O módulo presente nos nós sensores é responsável por realizar as leituras dos sensores quando
realizadas requisições ou por realizar sensoriamento automático com tempos pré-
determinados no intervalo de alguns milissegundos a uma hora. As leituras são realizadas e
enviadas imediatamente para a estação-base, sem armazenamento interno. Nos nós sensores é
possível realizar requisições para análise de temperatura, luminosidade e aceleração, cujos
valores são obtidos com auxílio da placa sensora MTS310CA. As requisições e atualizações
para a rede de sensores é realizada utilizando o protocolo de roteamento Dissemination. As
informações das leituras são transmitidas em múltiplos saltos, utilizando o protocolo CTP.
A Figura 3-24 demonstra as ligações da configuração nodeAppC. Ela é responsável por
conectar todos os componentes no módulo presente nos nós sensores. Nesta configuração são
usados 12 módulos, responsáveis pela inicialização do sistema, configuração do timer dos
sensores, da leitura dos sensores e dos protocolos de roteamento.
44
No módulo nodeC é feita a real implementação do código. Os eventos que foram
implementados estão listados dentro dele. As setas unidirecionais demonstram as ligações
entre componentes, com sinalizações de quais interfaces são ligadas. Na ligação de nodeC e
tempSensor (responsável pela implementação da leitura do sensor de temperatura), por
exemplo, é utilizada a interface Read.
Figura 3-24 - Estrutura dos componentes e interfaces do módulo dos nós sensores.
O módulo presente na estação-base é responsável por realizar a comunicação da rede com a
interface de usuário. Ela é o nó raiz do protocolo CTP organizado na rede de sensores sem fio.
Este módulo ainda é importante para realizar a conversão dos pacotes do protocolo CTP
(utilizado pela rede de sensores sem fio) e o tipo de mensagem ActiveMessage (utilizado para
realizar comunicações da estação-base com o computador pela porta serial), assim como o
contrário. Ainda, é através do gateway que são disparadas as configurações da rede através do
protocolo Dissemination.
Na Figura 3-25 pode-se notar as ligações na configuração rootAppC. Ela é composta de um
módulo (rootC) e por outros 11 componentes, responsáveis pela inicialização do sistema,
configuração dos protocolos de roteamento e envio e recebimento dos pacotes da
comunicação serial.
45
Figura 3-25 - Estrutura dos componentes e interface no módulo no gateway.
O módulo de interface com o usuário é capaz de obter as informações da estação-base,
mostrando-as para o usuário, assim como disponibilizando a rede para que ele faça suas
requisições. Como explicitado na Figura 3-26, é possível marcar quais sensores devem ser
coletados pelos nós sensores, e atualizar a rede em seguida. Ainda, é possível selecionar o
intervalo de tempo para que a medição seja feita, marcando-se em seguida a opção de
“Sensoriamento Automático”. Este módulo é dependente da ferramenta Serial Forwarder,
disponibilizado pelo TinyOS como ferramenta de apoio ao programador, para que seja
possível acessar a porta serial. Ainda, utiliza-se o MIG para envio de pacotes ao gateway e
recebimento de seus valores.
46
Figura 3-26 - Módulo de interface com usuário na aplicação sensora de ambientes florestais.
O protocolo Dissemination permite que somente um valor de configuração seja transmitido
aos nós sensores. Dessa forma, foi necessário realizar uma codificação para que, com somente
um valor, fosse realizado leitura imediata dos sensores, configuração de quais sensores obter
informações, inicialização de seus timers ou pará-los. Verifique a Tabela 3-3.
Tabela 3-3 - Codificação de valores para controle dos nós sensores.
Código Ação
1 Ler sensor de temperatura
3 Ler sensor de aceleração
4 Ler sensores de temperatura e aceleração.
5 Ler sensor de luminosidade
6 Ler sensores de temperatura de luminosidade
8 Ler sensores de aceleração e luminosidade
9 Ler sensores de temperatura, aceleração e
luminosidade
100 + <segundos> Acionar o timer para os sensores previamente
configurados para estourar de acordo com o valor de
<segundos>, em segundos.
800 Para o timer configurado anteriormente.
47
O módulo de interface gráfica, ao iniciar, conecta-se à Internet, se comunicando com um
banco de dados MySQL contido em um servidor. Ao receber informações dos nós sensores,
esse módulo as repassa imediatamente para o banco de dados, possibilitando acesso imediato
em qualquer lugar com acesso à Internet.
O módulo do servidor é configurado com um banco de dados contendo três tabelas, como
demonstrado pela Figura 3-27. Uma contém entradas de usuários e senhas de pessoas que
devem estar habilitados a acessar os dados. Outra contém cadastrados os nós sensores da rede,
somente com seus endereços. A última contém os dados dos sensores da placa MTS310. O
banco ainda suporta capturar a localização dos sensores, caso a rede seja configurada para
isso. Neste trabalho, este campo é null.
Figura 3-27 - Estrutura do banco de dados no servidor.
Para acesso ao código dos módulos desenvolvidos, visitar www.lea.ufpa.br/~sensores.
3.5.2 Experimento Prático
Primeiramente, os nós sensores foram colocados em recipientes plásticos transparentes, como
demonstrado na Figura 3-28, para que eles pudessem ser protegidos dos efeitos de chuva ou
umidade excessiva do local, por se tratar de um ambiente florestal.
48
Figura 3-28 - Nós sensores MicaZ em recipientes plásticos protetores.
Após isso, conforme demonstrado na Figura 3-29, os nós sensores MicaZ foram posicionados
em árvores, a alturas de aproximadamente 2 metros do solo. A distância média de um sensor a
outro era de 5 metros, com alguns mais próximos um dos outros. A maior distância de um
sensor a outro era de 40 metros. Sete nós sensores foram utilizados.
Figura 3-29 – Nó sensor MicaZ, destacado pelo círculo vermelho, posto no ambiente a ser monitorado.
A estação-base ficou localizada dentro de um prédio no local, a 7 metros de distância do nó
sensor mais próximo. A comunicação com a estação-base era realizado somente por este nó,
uma vez que o ambiente (árvores e construções) impedia que outros nós sensores se
comunicassem diretamente com a estação-base.
Para este experimento, os nós sensores mediram dados do ambiente por aproximadamente 16
horas, monitorando-o minuto a minuto.
49
Figura 3-30 - Localização do gateway, destacado pelo círculo vermelho.
50
4. RESULTADOS
4.1 INTRODUÇÃO
Neste capítulo são apresentados os resultados das atividades desenvolvidas no capítulo
anterior. Inicialmente aborda-se o teste de alcance dos sensores, nos três ambientes
apresentados. No final deste, comenta-se sobre o experimento de monitoramento ambiental.
4.2 TESTE DE ALCANCE DOS SENSORES
4.2.1 Campo aberto
No teste de alcance dos sensores em campo aberto, a estação-base foi fixada e o nó sensor
móvel foi colocado a distâncias de, inicialmente a 1 metro da estação-base, em seguida, em
valores múltiplos de 5 metros. Conforme definido no Capitulo 3, o nó sensor envia 5 grupos
de 25 pacotes cada, totalizando 125. O experimento é considerado como finalizando quando,
após três tentativas de envio de pacotes pelo nó sensor móvel, nenhum é recebido pela
estação-base. Este experimento foi realizado com o nó sensor móvel a 0,75 m e 1,4 m de
altura em relação ao solo, enquanto que a estação-base ficou fixa a 0,75 m de altura em
relação ao solo.
Como demonstrado em [6], o valor de RSSI fornecido pelo rádio CC2420 é em até -100 dBm.
Conforme a Figura 4-31, para distâncias a até 30 m, a comunicação se mostrou com uma
intensidade de sinal maior quando o nó sensor estava a altura de 0,75 m do solo. Em 15 m, a
intensidade do sinal para a altura de 1,4 m foi muito inferior, -81,03 dBm; contra -75,8 dBm,
para a altura de 0,75 m. Valores semelhantes foram obtidos com várias medições, mostrando
que o local poderia estar causando interferência para este ponto específico. A partir de 30 m, a
altura de 1,4 m já passa a apresentar uma intensidade de sinal melhor do que a de 0,75m,
exceto no ponto em 50 m. Enquanto que, com altura de 0,75 m, não foi mais possível realizar
comunicação a 65 m, a 1,4 m ainda se conseguiu comunicação, mostrando um alcance de 20
metros a mais. Entretanto, em 85 metros, não foi possível comunicar o nó sensor móvel com a
estação-base.
51
Figura 4-31 – Medidas de RSSI e desvio padrão vs. distância em cenário de campo aberto.
Adicionalmente, a Figura 4-31 ainda possui barras de erro, de acordo com o desvio padrão das
medições realizadas. Verifica-se que o desvio padrão não sofre grandes variações quando se
compara a altura dos nós sensores
Conforme [6], o valor de LQI dado pelo rádio CC2420 é em uma faixa de 50 a 110,
representado a pior qualidade de comunicação que pode ser observada e a melhor,
respectivamente. Diferente da análise anterior, a Figura 4-32 demonstra que os valores de LQI
para as diferentes alturas não se apresentou de forma tão distintas, significando que, mesmo
que a intensidade do sinal em até 30 m fosse geralmente pior na altura de 1.4m, a qualidade
da comunicação não sofreu grande variação.
52
Figura 4-32 - Medidas de LQI e desvio padrão vs. distância em cenário de campo aberto.
Notou-se que, para a altura de 0,75 m, até a distância de 50 metros, o valor de LQI é acima de
100, considerando-se que a comunicação entre os sensores é excelente, independente da
medida de RSSI, uma vez que o rádio é capaz de receber sinais bastante fracos. Para a altura
de 1,4 m, a distância em que o valor de LQI se encontra nesta faixa é de até 55 metros.
Valores de LQI entre 85 e 99 indicam que a comunicação entre os sensores é aceitável,
podendo existir algumas perdas de pacotes. Medidas de LQI nesta faixa são observadas em 60
e 80 metros, para 0,75 m e 1,4 m de altura do nó sensor móvel, respectivamente.
Índices de LQI entre 50 a 84 demonstram que a comunicação entre os sensores é deficiente,
ocorrendo várias perdas de pacotes. Medidas nesta faixa foram observadas em 55 e 75 metros,
para 0,75 e 1,4 m de altura, respectivamente. As bruscas quedas de LQI nesses pontos podem
ser justificadas por interferência do meio.
Adicionalmente, a Figura 4-32, ainda possui barras de erro, de acordo com o desvio padrão
das medições realizadas. Verifica-se que ele não sofre grandes variações quando se compara a
altura dos nós sensores.
A respeito dos pacotes recebidos, ao se observar a Figura 4-33 nota-se que menos de 1% dos
pacotes foram perdidos em até 50 m de distância entre os sensores, para a altura de 0,75 m,
enquanto que, para a altura de 1,4 m esta faixa se estende a até 70 m. Em 75 m, somente um
pacote, dos 125 enviados pelo nó sensor móvel, foi recebido pela estação-base, representando
0,8%. Em três medições diferentes para esta distância, todas apresentaram o mesmo resultado,
53
demonstrando que o ambiente poderia estar interferindo na comunicação. Já para 80 m, a 1,4
m de altura, 59% dos pacotes foram recebidos, mostrando uma melhora no valor percentual,
mas, ainda, se mostrando um valor baixo.
Nota-se, portanto, que, com o nó sensor móvel a 0,75 m de altura, a comunicação pode ser
realizada até 60 metros, embora apresente uma boa qualidade até 50 metros. Além desta
distância, a intensidade do sinal decresce muito, e o índice de qualidade do link mostra que a
comunicação não é realizada satisfatoriamente, verificando-se uma grande perda de pacotes,
podendo gerar uma grande instabilidade na comunicação de uma rede de sensores sem fio.
Para a altura de 1,4 m, a comunicação é realizada de forma satisfatória até 70 metros de
distância da estação-base. Em 75 metros, somente um pacote foi recebido em cada uma de
três tentativas de envio de dados. Apesar da melhora da porcentagem de pacotes recebidos em
80 metros, com aproximadamente 40% dos pacotes perdidos, ainda trata-se uma comunicação
instável.
Figura 4-33 - Porcentagem de pacotes recebidos vs. distância em cenário de campo aberto.
Apesar do desvio padrão nas medidas de RSSI e LQI não apresentarem uma grande diferença
entre as alturas, ele é muito variável quando se compara as duas medidas.
A Figura 4-34 demonstra a variação do desvio padrão para as medidas de RSSI e de LQI, com
o nó sensor a uma altura de 1,4 metros. Conforme [6], a variação de RSSI, em situações
normais, deve estar dentro de uma faixa de ± 6 dBm. A variação normal de LQI não é
54
apresentada, mas segundo [34], o alto desvio padrão de LQI significa uma dispersão muito
grande do sinal, normalmente ocorrendo em situações de um ambiente com interferência.
Como o desvio padrão de LQI cresce com o aumento da distância, entende-se isso como o
sinal sendo muito dispersado no ambiente. A mesma análise pode ser feita para a Figura 4-35,
demonstrando o desvio padrão para o nó sensor móvel a uma altura de 0,75 metros.
Figura 4-34 - Comparação entre desvio padrão do RSSI e LQI para nó sensor móvel a 1,4m de altura em relação ao solo em cenário de campo aberto.
Figura 4-35 - Comparação entre desvio padrão do RSSI e LQI para nó sensor móvel a 0,75 m de altura em relação ao solo em
cenário de campo aberto.
55
Outra abordagem utilizada neste cenário foi a rotação da antena do nó sensor móvel em
relação à antena da estação-base em múltiplos de 45 graus para que fosse realizada a
transmissão, a fim de identificar se a antena do nó sensor é omnidirecional.
A Figura 4-36 apresenta os valores de RSSI em relação ao ângulo e distância. Nota-se que
com o nó sensor a 1 metro de distância da estação-base a medida de RSSI é de
aproximadamente -55 dBm a 0 e 180 graus, enquanto que em 90 e 270 graus ela é de,
aproximadamente, -60 dBm. A 50 metros, o valor de RSSI, para 0 e 180 graus, é,
aproximadamente, -86 dBm, enquanto que em 90 e 270 graus ele supera a marca de -90 dBm.
A 60 metros, pacotes não foram recebidos quando se transmitia a 270 graus. Isto demonstra
que a antena do nó sensor não irradia o sinal com a mesma intensidade em todas as direções.
Figura 4-36 – RSSI vs. ângulo de rotação do nó sensor em relação à estação-base. Nó sensor a 0,75 m de altura do solo.
Para ver a análise do valor de LQI rotacionando o nó sensor móvel, observar a Figura 4-37.
56
Figura 4-37 - LQI vs. ângulo de rotação do nó sensor em relação à estação-base. Nó sensor a 0,75 m de altura do solo.
Enquanto que existe pouca variação de LQI, de 1 para 50 metros, em grande parte dos
ângulos medidos, para 90 e 270 graus ocorre uma redução de 12.5% e 35.57%,
respectivamente. Dessa forma, verifica-se que a medida de LQI também é diferenciada
dependendo do ângulo em que o nó sensor está posicionado.
A Figura 4-38 demonstra a porcentagem de pacotes recebidos dependendo do ângulo que o nó
sensor é apresentado. A 1 metro de distância, todos os pacotes são recebidos. Entretanto, a 50
metros de distância, somente são recebidos todos os pacotes para o ângulo de 0 grau. A 270
graus, somente 3% dos pacotes são recebidos, sem recuperação a distâncias maiores,
mostrando-se o pior ângulo para se realizar transmissões. A 60 metros, somente são recebidos
todos os pacotes transmitidos a 135 e a 180 graus, enquanto que a 315 e 0 graus são perdidos
4% dos pacotes. A 90 e 225 graus, 92% dos pacotes são perdidos.
57
Figura 4-38 – Porcentagem de pacotes recebidos vs. ângulo de rotação do nó sensor em relação à estação-base. Nó sensor a 0,75 m de altura do solo
4.2.2 Ambiente florestal com vegetação espalhada
Os valores de RSSI obtidos por este cenário estão demonstrados na Figura 4-39, mostrados
em comparação com os valores de RSSI obtidos pelo nó sensor móvel, a 0,75 m de altura, no
cenário de campo aberto. Nota-se que o alcance de comunicação entre os nós sensores foi
reduzido pela metade, decrescendo abruptamente. Em 15 metros a intensidade do sinal já é
menor no cenário com vegetação do que em campo aberto. Com o aumento da distância, ela
decresce ainda mais, obtendo valores de -89 dBm de RSSI na distância de 20 metros. Após
uma recuperação a comunicação é encerrada com -94 dBm, a 30 metros da estação-base. Para
efeito comparativo, a 30 metros, em campo aberto, o valor de RSSI obtido foi -78 dBm.
58
Figura 4-39 – Comparação de medidas de RSSI e desvio padrão vs. distância entre cenários de campo aberto e de vegetação espalhada.
Adicionalmente, a Figura 4-39 ainda demonstra o desvio padrão das medidas de RSSI. Em
comparação com o cenário de campo aberto, pode-se observar que ocorreu um aumento,
podendo ser ocasionado pela reflexão das ondas nas folhagens.
Pode-se ver, na Figura 4-40, as medidas de LQI também comparadas com as obtidas no
cenário de campo aberto. Até 15 metros de distância, elas são semelhantes. Até 25 metros de
distância, obteve-se LQI acima de 100. Entretanto, aos 30 metros, ele decresceu para 66, o
que só foi alcançado aos 55 metros no ambiente de campo aberto. Isso pode ser resultado da
presença de árvores de grande porte no local, uma vez que, quanto mais se adentra na ilha de
vegetação, maior é a concentração delas, ainda que sejam bem espalhadas.
Ainda, em análise das informações de desvio padrão para as medidas de LQI, conclui-se ele
está mais elevado, em comparação com o observado em campo aberto. Isso era o
comportamento esperado, pois, ao adentrar cada vez mais na ilha de vegetação, a interferência
do sinal ocasiona grandes variações nas medidas de LQI.
59
Figura 4-40 - Comparação de medidas de LQI e desvio padrão vs. distância entre cenários de campo aberto e de vegetação espalhada.
A Figura 4-41 apresenta a porcentagem de pacotes recebidos neste cenário, comparando-os
com os valores em campo aberto. Até 25 metros de distância do nó sensor móvel para a
estação-base, mais de 98% dos pacotes foram recebidos. A 30 metros de distância, entretanto,
somente 5% deles foram captados com sucesso pela estação-base, uma redução de 35 metros
em comparação com o cenário de campo aberto.
Figura 4-41 - Comparação de porcentagem de pacotes recebidos vs. distância entre cenários de campo aberto e de vegetação espalhada.
60
Para demonstrar a diferença entre o desvio padrão de RSSI e LQI, a Figura 4-42 é
apresentada. Nela, pode-se ver mais uma vez, que com o aumento da distância o desvio
padrão do LQI aumenta, o que não se verifica, entretanto, com as medidas de RSSI.
Figura 4-42 - Comparação entre desvios padrões das medidas de RSSI e LQI em um ambiente florestal com vegetação espalhada.
4.2.3 Ambiente florestal com vegetação densa
Para o cenário e ambiente florestal denso, as distâncias entre o nó sensor móvel e a estação-
base foram modificadas, de cinco para dois metros. Desta forma, ele era colocado incialmente
a um metro da estação-base e após isso, a cada 2 metros dela. Da mesma forma como
realizado em no cenário de campo aberto, duas alturas de comunicação foram testadas, uma,
com o nó sensor móvel no mesmo nível da estação-base, localizada a 0,75 m do solo, e com o
nó sensor móvel a 1,4 m do solo.
A Figura 4-43 apresenta os valores de RSSI obtidos para as duas alturas analisadas. Verifica-
se que até os 3 metros ambas alturas apresentam valores semelhantes. A partir de 9 metros de
distância entre o nó sensor móvel e a estação-base a RSSI para a transmissão visada decresce
até não realizar comunicações, em distâncias maiores de 17 metros. Com o nó sensor a 1,4 m
de altura do solo só foi possível realizar comunicações até 20 metros de distância. Realizando
61
comparações com o cenário de campo aberto, até 5 metros de distância, ambos cenários
apresentam intensidade de sinal semelhante. A partir de 11 metros o valor de RSSI é menor
que -91 dBm para a transmissão visada, enquanto que a partir de 15 metros passa a obter o
mesmo valor para 1,4 m de altura.
Figura 4-43 - Medidas de RSSI e desvio padrão vs. distância em ambiente florestal com vegetação densa.
Ainda, observa-se que o desvio padrão para as medidas de RSSI foram maiores que os obtidos
pelos dois cenários avaliados até então. Nota-se, portanto, que quanto pior o cenário
observado, mais impreciso é o valor das métricas de RSSI.
Os valores obtidos de LQI podem ser observados na Figura 4-44. A comunicação é
considerada excelente até 9 metros de distância do nó sensor e a estação-base para uma altura
ao mesmo nível da estação-base, o que se consegue até 15 metros com altura de 1,4 m. A
partir destes pontos, a qualidade da comunicação passa a ser sofrer variações. No cenário
florestal com vegetação espalhada, conseguiu-se uma boa qualidade de comunicação a até 25
metros de distância, enquanto que no cenário de campo aberto, a boa qualidade de
comunicação foi atingida até a marca de 50 metros de distância do nó sensor móvel a estação-
base.
62
Figura 4-44 - Medidas de LQI e desvio padrão vs. distância em ambiente florestal com vegetação densa.
A mesma conclusão obtida para o desvio padrão observada para as medidas de RSSI pode ser
aplicada para as medidas de LQI. Quanto maior a interferência do meio, maior será a precisão
dessas métricas.
A Figura 4-45 apresenta a porcentagem de pacotes recebidos. Até 5 metros, nenhuma
transmissão apresentou perda de pacotes. Em 7 metros, 91% dos pacotes para a altura de 1,4
m foram recebidos, recuperando-se em seguida. Para 0,75 m de altura, em 11 metros, 96%
dos pacotes foram recebidos, enquanto que em 13 metros, 60% deles foram recebidos.
É difícil delimitar uma distância para uma comunicação com os sensores sem grande perdas
de pacotes em um cenário como este. As árvores dispersam o sinal de forma que se pode, a
uma distância mais curta da estação-base, realizar uma comunicação pior (considerando as
métricas LQI e pacotes recebidos) do que a uma distância mais longa. Um exemplo é que, na
altura de 1,4 metros, a 17 metros de distância, perdeu-se 51% dos pacotes, enquanto que a 19
metros, perdeu-se somente 4%. Para os cenários de campo aberto e vegetação espalhada, as
distâncias recomendadas para comunicação foram de 50 e 25 metros, respectivamente.
63
Figura 4-45 - Porcentagem de pacotes recebidos em função da distância em um ambiente florestal com vegetação densa.
A Figura 4-46 e a Figura 4-47 apresentam os desvios padrões para as medidas de RSSI e LQI
com o nó sensor móvel a mesma altura da estação-base e a 1,4 m de altura, respectivamente.
Nota-se que, em ambas as figuras, os valores do desvio padrão de RSSI são superiores aos
obtidos nos cenários observados anteriormente, indicando uma imprecisão do valor da média,
sugerindo que o número de amostras fosse aumentado para melhorá-la. Os desvios padrões de
LQI apresentam as mesmas características, passando de 10 para o nó sensor móvel a 0,75 m
de altura.
64
Figura 4-46 - Comparação entre os desvios padrões de RSSI e LQI para nó sensor móvel ao mesmo nível que estação-base em um ambiente florestal com vegetação densa.
Figura 4-47 - Comparação entre os desvios padrões de RSSI e LQI para o nó sensor móvel a 1,4 m de altura do solo.
4.3 APLICAÇÃO DE MONITORAMENTO AMBIENTAL
Neste experimento, os nós sensores foram configurados para medir temperatura e
luminosidade do ambiente utilizando protocolos de roteamento CTP e Dissemination.
65
Como explicado no Capítulo 2, apesar do protocolo Dissemination assegurar que todos os nós
sensores recebam uma informação na rede, o protocolo CTP não assegura o recebimento de
pacotes pelo nó configurado como raiz, assim como pode ocorrer recebimento de dados
duplicados. Em testes experimentais notou-se que se um grande número de nó sensores
estiver configurado para enviar pacotes em um mesmo intervalo de tempo, por estouro de
timer, existe um grande número de perda de pacotes.
Para que isso fosse minimizado neste experimento, configurou-se um atraso em alguns nós
sensores para realizar o envio dos pacotes. Assim, quando o usuário configura a rede de
sensores a monitorar uma área automaticamente, passando um valor em segundos para este
monitoramento, ao invés de todos os sensores realizarem medições e, consequentemente, o
envio de dados ao mesmo tempo, alguns sensores eram configurados para atrasar de um a dois
segundos.
Apesar de o protocolo CTP apresentar eventualmente problemas de roteamento de pacotes,
ele apresenta uma boa auto-organização dos nós sensores na rede, estabelecendo rotas
alternativas caso um dos sensores esteja indisponível.
Os valores de temperatura obtidos dos sensores podem ser observados na Figura 4-48. Nota-
se que algumas medidas de temperatura apresentam algumas falhas, com grandes quedas de
temperatura que não parecem ser reais.
66
Figura 4-48 - Dados de temperatura obtidos pelos sensores na aplicação de monitoramento ambiental.
As informações obtidas pelos sensores de luminosidade apresentam-se na Figura 4-49. Este
sensor apresenta medidas entre aproximadamente 500, situação de total ausência de luz, até
1000, o máximo que pode ser medido. Observa-se que, às 19 horas, hora em que normalmente
a noite se estabelece em Belém, todos os sensores já a detectam. O amanhecer começou a ser
detectado pouco depois de 5:40 h.
67
Figura 4-49 - Dados de luminosidade obtidos pelos sensores na aplicação de monitoramento ambiental.
Em uma aplicação desta natureza, não se requer que necessariamente todos os pacotes sejam
recebidos pela estação-base, uma vez que temperatura e luminosidade não são valores que
variam em um curto intervalo de tempo, como milissegundos ou segundos. Portanto, contanto
que não sejam perdidos grandes sequências de pacotes, isto não é um grande problema para a
aplicação. Neste experimento, a porcentagem máxima de perda de pacotes foi de 4,14% em
alguns nós sensores. Em outros, essa porcentagem foi menor ou próxima a zero.
68
5. CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS
As redes de sensores sem fio apresentam aplicações interessantes em potencial, em especial
para a região Amazônica, possibilitando, por exemplo, o controle de reservas protegidas de
ação humana ou auxiliando pesquisadores interessados em estudar ou controlar a
biodiversidade de fauna e flora a analisarem o ambiente. A facilidade de implantação da rede
em regiões de difícil acesso e suas características de auto-configuração são pontos positivos
que podem ser usados para popularizar o uso dessa tecnologia. Apesar disso, a limitação
energética dos nós sensores, imprecisão de sensores e questões referentes a tolerância à falha
de comunicação dos nós sensores são pontos que devem ainda ser estudados e aprimorados.
Os resultados obtidos neste trabalho apresentam as redes de sensores sem fio como uma ótima
alternativa para controle de áreas florestais às técnicas de sensoriamento tradicionais, com
alguns pontos a serem notados. Ao submeter os nós sensores MicaZ a testes de alcance em
ambientes de campo aberto conclui-se que uma comunicação de excelente qualidade entre um
nó sensor e outro, oferecendo uma baixa porcentagem de perda de pacotes, ocorre em até 50 a
70 metros, dependendo da altura do nó sensor em relação ao solo; enquanto que esta
qualidade em ambientes florestais com vegetação dispersa é observada em comunicações a
até 25 metros. Já em ambientes com vegetação densa, uma baixa taxa de perda de pacotes é
observada em uma distância máxima de 10 a 15 metros, dependendo da altura do nó sensor
em relação ao solo.
Dessa forma, observou-se que o monitoramento ambiental usando os nós sensores MicaZ
necessita de muitos nós sensores para que seja realizado o sensoriamento de uma região de
poucos metros, o que atualmente tornar o procedimento inviável economicamente. Uma vez
que o nó sensor MicaZ utiliza o padrão IEEE 802.15.4, com ondas com comprimento de cerca
de 12 centímetros, a comunicação entre os nós sensores fica muito susceptível à interferência
do meio florestal. Uma alternativa seria utilizar nós sensores com uma frequência de
transmissão menor, para que, com um comprimento de onda maior, a interferência causada
pelo ambiente seja minimizada.
Além disso, a placa sensora MTS310CA apresentou-se interessante para aplicações que não
exijam informações críticas, pois seus sensores são de baixa qualidade, fornecendo
informações imprecisas ou incertas, uma vez que os fabricantes de componentes não
fornecem fórmulas para realizar a conversão de valores de sensores, tornando esta placa
69
sensora capaz de oferecer pouca informação, como por exemplo, se há ou não luz em uma
região, ao invés de informar uma medida de intensidade de luz.
É importante ressaltar ainda, que este tipo de monitoramento requer um link de comunicação
com a Internet, para o envio de dados assim que eles estivessem disponíveis pela rede,
possibilitando o monitoramento em tempo real. Entretanto, a disponibilidade de rede é uma
questão problemática na região, em especial em reservas ambientais, devendo-se considerar o
uso de comunicações via satélite para um sistema de monitoramento apropriado.
No desenvolvimento deste trabalho inúmeras dificuldades foram encontradas, mais
notadamente no que diz respeito à quantidade e qualidade de documentação referente a certos
componentes dos nós sensores MicaZ, placas sensoras e certas funcionalidades do TinyOS.
Devido a dificuldade de utilização do protocolo ZigBee para regiões florestais, sugere-se,
como trabalhos futuros, o desenvolvimento de um nó sensor com rádio em operação em torno
de 900 MHz, por ser outra faixa de frequência livre, a fim de aumentar a distância de
comunicação entre eles. Assim, existiria a viabilidade financeira para o uso de sensores em
larga escala em ambientes florestais. Ainda, recomenda-se o desenvolvimento deste nó
apresentando somente os sensores necessários, a fim de um melhor aproveitamento de
energia.
70
6. BIBLIOGRAFIA
[1] Sohraby, K., Minoli, D., Znati, T., Sensor Networks: Technology, Protocols and
Applications. New Jersey: WILEY, 2007.
[2] Freitas, L., “Aplicação de Redes de Sensores Sem Fio em Ambientes Industriais: Estudo
de Caso em uma Subestação de Energia Elétrica”. Trabalho de Conclusão de Curso,
Departamento de Engenharia Elétrica e de Computação. Universidade Federal do Pará.
Belém, PA, Brasil. 2007.
[3] CodeBlue, http://fiji.eecs.harvard.edu/CodeBlue. Maio, 2011.
[4] Ren, H., Meng, M., Cheung, C., “Experimental Evaluation of On-body Transmission
Characteristics for Wireless Biosensors”, Proceedings of the 2007 International Technology,
IEEE, March, 2007, Shenzhen, China.
[5] Mainwaring, A., et al, “Wireless Sensor Networks for Habitat Monitoring”, Proceedings
of the 1st ACM international workshop on Wireless sensor networks and applications, ACM,
2002, New York, USA.
[6] ChipCon Inc., CC2420 2.4 GHz IEEE 802.15.4 / ZigBee-ready RF Transceiver Datasheet.
Disponível: http://inst.eecs.berkeley.edu/~cs150/Documents/CC2420.pdf. Maio, 2011.
[7] WirelessHART, http://www.hartcomm.org/protocol/wihart/wireless_technology.html.
Junho, 2011.
[8] IEEE, IEEE Standard 802.15.4. New York: IEEE, 2003.
[9] MEMSIC, MicaZ Wireless Measurement System Datasheet. Disponível em:
http://www.memsic.com/products/wireless-sensor-networks/wireless-modules.html Março 2011.
[10] Dargie, W., Poellabauer, C., Fundamentals of Wireless Sensor Networks: Theory and
Practice. United Kingdom:WILEY, 2010.
[11] Mohammad, I., Mahgoub, I., Handbook of Sensor Networks: Compact Wireless and
Wired Sensing Systems. Boca Raton, Florida: CRC PRESS, 2005.
71
[12] TinyOS Home Page. http://www.tinyos.net/ Junho 2011.
[13] Crossbow Inc. http://www.xbox.com Junho 2011.
[14] MEMSIC Corporation. http://www.memsic.com Junho 2011.
[15] Atmel. ATMega128L Datasheet. Disponível em:
http://www.atmel.com/dyn/resources/prod_documents/doc2467.pdf Junho 2011.
[16] Giacomin, J., Vasconcelos, F., “Qualidade da Medição de Intensidade de Sinal nas
Comunicações de uma Rede de Sensores Sem Fios: uma Abordagem da Camada Física”.
Journal of Computer Science, Universidade Federal de Lavras, 2006, Brasil.
[17] MEMSIC, Mote Sensor Boards, Disponível em:
http://www.memsic.com/products/wireless-sensor-networks/sensor-boards.html Maio 2011.
[18] Crossbow Inc. MTS/MDA Sensor and Data Aquisition Board User’s Manual. Document
7430-0020-04. Rev. A, January 2006. Disponível em:
http://www.xbow.com/Support/Support_pdf_files/MTS−MDA_Series_Users_Manual.pdf
Março 2010.
[19] TAOS Inc. http://www.taosinc.com/ Junho 2011.
[20] Leadtek Research Inc. http://www.leadtek.com Março 2010.
[21] Levis, P., Gay, D., TinyOS Programming. Cambrdge: CAMBRIDGE UNIVERSITY
PRESS, 2009.
[22] TinyOS Tutorials. http://docs.tinyos.net/tinywiki/index.php/TinyOS_Tutorials Junho
2011.
[23] TEP 111 – TinyOS Enhancement Proposal “message_t”, 2010. Disponível em:
http://www.tinyos.net/tinyos-2.1.0/doc/html/tep111.html Junho 2011.
[24] TEP 116 – TinyOS Enhancement Proposal “Packet Protocols”, 2010. Disponível em:
http://www.tinyos.net/tinyos-2.1.0/doc/html/tep116.html Junho 2011.
[25] TEP 126 – TinyOS Enhancement Proposal “CC2420 Radio Stack”, 2007. Disponível em:
http://www.tinyos.net/tinyos-2.1.0/doc/html/tep126.html Junho 2011.
72
[26] TEP 113 – TinyOS Enhacement Proposal “Serial Communication”, 2010. Disponível
em: http://www.tinyos.net/tinyos-2.1.0/doc/html/tep113.html Junho 2011.
[27] TinyOS Contrib. http://tinyos.cvs.sourceforge.net/viewvc/tinyos/tinyos-2.x-contrib/
contrib.html Junho 2011.
[28] TEP 114 – TinyOS Enhacement Proposal “Source and Sink Independent Drivers”, 2010.
Disponível em: http://www.tinyos.net/tinyos-2.1.0/doc/html/tep114.html Junho 2011.
[29] TEP 112 – TinyOS Enhacement Proposal “Microcontroller Power Management”, 2007.
Disponível em: http://www.tinyos.net/tinyos-2.1.0/doc/html/tep112.html Junho de 2011.
[30] TEP 106 – TinyOS Enhacement Proposal “Schedulers and Tasks”, 2010. Disponível em:
http://www.tinyos.net/tinyos-2.1.0/doc/html/tep106.html Junho de 2011.
[31] TEP 118 – TinyOS Enhacement Proposal “Dissemination of Small Values”, 2010.
Disponível em: http://www.tinyos.net/tinyos-2.1.0/doc/html/tep118.html Junho de 2011.
[32] TEP 123 – TinyOS Enhacement Proposal “The Collection Tree Protocol (CTP)”, 2007.
Disponível em: http://www.tinyos.net/tinyos-2.1.0/doc/html/tep123.html Junho de 2011.
[33] Deluge: TinyOS Network Programming.
http://www.cs.berkeley.edu/~jwhui/deluge/documentation.html Junho de 2011.
[34] Gomez, C., Boix, A., Paradells, J., “Impacto f LQI-Based Routing Metrics on the
Performance of a One-to-One Routing Protocol for IEEE 802.15.4 Multihop Networks”.
73
74