Beruflich Dokumente
Kultur Dokumente
Belo Horizonte
2011
Ilo Amy Saldanha Rivero
Belo Horizonte
2011
FICHA CATALOGRÁFICA
Elaborada pela Biblioteca da Pontifícia Universidade Católica de Minas Gerais
CDU: 528.7
Para minha filha Giovana.
AGRADECIMENTOS
Agradeço primeiramente a Deus por ter feito com que várias pessoas cruzassem o meu
caminho e me ajudassem nessa caminhada. Agradeço especialmente à minha esposa Silvia
pelo apoio, amor, dedicação, coragem e pela paciência enquanto estávamos distante um do
outro e de nossa filha, e sem o qual o Mestrado não seria possível. À minha mãe Anete, pelo
apoio incondicional, em todos os momentos, para que eu conseguisse atingir meus objetivos. À
minha prima Elaine, pelo acolhida inicial em Belo Horizonte.
À minha orientadora, Profa. Raquel Mini, meus agradecimentos especiais por confiar
e acreditar no meu trabalho, pela paciência nas inúmeras correções e ajustes necessários para
melhorar esta dissertação e, também, pelo apoio e incentivo para que eu pudesse voltar para BH
para trabalhar e possibilitar, com isso, o ingressar no Doutorado. Obrigado por tornar esse sonho
realidade. Ao Prof. Loureiro pelas palavras de incentivo na defesa e pelo voto de confiança para
o ingresso no Doutorado. Ao Max do Val, que indicou o excelente aluno da graduação Marcelo
Abi-Acl, que tanto ajudou no desenvolvimento desse trabalho e a quem também estendo os
agradecimentos.
Aos professores do Mestrado da PUC Minas, meus sinceros agradecimentos, pois aprendi
muitas coisas sobre computação: Prof. Mark, que me fez entender o que realmente era computa-
ção; Prof. Humberto, que me ensinou a como fazer com que os computadores me entendessem;
Prof. Henrique, que me ensinou como os computadores funcionavam por dentro; Profs. Ze-
nilton e Ana, que me ensinaram a como escrever e falar corretamente sobre os computadores;
Profa. Fátima, que me ensinou tudo sobre as siglas em telecomunicações, mostrando como os
computadores conversam; Prof. Silvio, que me ensinou o que era trivial e o que era não trivial
para os computadores (e que eles gostam de matemática); e, de novo, Profa. Raquel, que me
ensinou que os computadores vão desaparecer...
Agradeço também à Giovana Cássia pelo apoio, paciência e competência para resolver
as minhas demandas na secretaria. Meus agradecimentos ao Prof. Sandro Jerônimo, do MIC,
pelas oportunidades de trabalho e treinamento oferecidas. Ao pessoal do CRC/Prodabel, em
especial Conceição, Samir, Márcio e Geordana. Aos colegas e amigos da turma de 2009 do
Mestrado, Anna, Angelo, André, Cláudia, Francisco, Henrique, Kleber, Pedro, e também do
lab, Gabriel, Luciana e Felipe e a todos que colaboraram direta ou indiretamente para que este
trabalho fosse possível.
“Seu trabalho vai preencher uma parte grande
da sua vida, e a única maneira de ficar real-
mente satisfeito é fazer o que você acredita ser
um ótimo trabalho. E a única maneira de fazer
um excelente trabalho é amar o que você faz.”
Steve Jobs
RESUMO
A modernização das salas de aula permitiu novas metodologias de ensino, mas também
tornou o gerenciamento dos equipamentos eletrônicos utilizados como ferramentas de apren-
dizagem muito mais complexo. Problemas como controle do consumo de energia elétrica, de
utilização dos equipamentos e roubos estão se tornando comuns nas instituições de ensino. Este
trabalho propõe o desenvolvimento de uma Rede de Sensores sem Fio (RSSF), com o objetivo
de monitorar equipamentos eletrônicos, permitindo a uma instituição de ensino um controle
patrimonial em tempo real. O projeto de uma rede de sensores sem fio para monitoramento
de equipamentos eletrônicos exige não somente o desenvolvimento e montagem dos módulos
sensores, mas também precisa contemplar o desenvolvimento do software para gerenciar e tra-
tar os dados coletados, transformando-os em uma fonte de informação útil e confiável para os
administradores de um campus universitário. Foram desenvolvidos algoritmos para otimizar
as tarefas de identificação dos tipos de dados sensoreados e diminuir a quantidade de dados
redundantes transmitidos pela RSSF, melhorando o tempo de resposta da rede a um evento e
diminuindo o consumo de energia. Os experimentos realizados neste trabalho culminaram no
desenvolvimento de um nó sensor com um menor consumo de energia, se comparado aos nós
sensores utilizados inicialmente. O desenvolvimento do nó sensor, em conjunto com os algo-
ritmos desenvolvidos, permitiu um aumento no tempo de vida de um módulo sensor acima de
500%, além da redução do envio de dados redundantes em cerca de 59,7%. O desenvolvimento
do hardware do novo nó sensor também possibilitou uma redução de pouco mais de 40% no
custo de aquisição de módulos de RSSF, em relação aos nós sensores utilizados inicialmente
neste trabalho.
The classrooms modernization have enabled new teaching methods, but also made the
electronic devices management, used as tools for learning, much more complex. Issues such
as power consumption control, equipment utilization and thefts are becoming commonplace in
educational institutions. This paper proposes the development of a Wireless Sensor Network
(WSN), in order to monitor electronic equipments, allowing a real time equity control for edu-
cational institutions. The design of a wireless sensor network for environmental monitoring
requires not only the development and installation of sensor modules, but also must include
the software development to manage and process the data collected, turning them into a source
of reliable information for the college campus administrators. Algorithms were developed to
optimize the tasks of sensor type identification and decrease in the amount of redundant data
transmitted by the WSN, improving the network response time to an event and reducing energy
consumption. The experiments in this work culminated in the development of a new sensor
node, with a lower power consumption if compared to the sensor nodes used initially. The sen-
sor node development, together with the algorithms developed, allowed an increase in the sensor
module lifetime above 500%, while reducing the redundant data transmission about 59.7%. The
new sensor node development also provided a cost savings of up to 40% in WSN new modules
acquisition, compared to those originally used in this work.
CTS Clear-to-Send
Ghz Gigahertz
Mhz Megahertz
RF Rádio Frequência
RFD Reduced Function Device
RTS Request-to-Send
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 FUNDAMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.1 Monitoramento de Ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5 RESULTADOS OBTIDOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1 INTRODUÇÃO
1.1 Motivação
Há alguns anos, as salas de aula eram simples, compostas apenas por mesas, carteiras e
um quadro negro. Com a tecnologia chegando às salas de aula, os ambientes de ensino estão
mais complexos, com aulas sendo ministradas através de projetores Liquid Crystal Display -
Tela de Cristal Líquido (LCD), apresentações de vídeos em aparelhos de DVD e computadores
com acesso à internet, como pode ser observado na figura 1. Apesar dos benefícios no ensino,
essa nova infraestrutura presente em algumas escolas e universidades torna mais complexo o
gerenciamento do patrimônio.
sos. Para uma instituição de ensino, o furto de um projetor LCD acarreta não somente o prejuízo
financeiro relativo ao equipamento, mas também causa um prejuízo no ensino, causando trans-
torno a professores e alunos. O furto de equipamentos também leva a um aumento dos gastos
em segurança e na reparação do patrimônio afetado, aumentando, por consequência, o custo
para a manutenção das atividades de ensino.
Dentre as soluções utilizadas para coibir o furto de projetores LCD destacam-se a uti-
lização de meios físicos de proteção, como armários, gaiolas com cadeado (figura 2) e travas
Kensington. Apesar dessas soluções tornarem a ação criminosa mais difícil, são tecnologias
passivas, não alertando os órgãos de segurança das instituições sobre um furto em andamento.
Um criminoso pode utilizar ferramentas como serras e alicates para cortar um cabo de aço ou
cadeado. Uma proposta para alertar a central de segurança de um campus universitário a res-
peito de um possível furto é a utilização de tecnologias de comunicação sem fio, permitindo o
monitoramento em tempo real de qualquer atividade suspeita.
A Rede de Sensores sem Fio (RSSF) é uma tecnologia de comunicação sem fio que uti-
liza dispositivos de rede de baixo consumo de energia. Esses dispositivos de rede transmitem
dados coletados por sensores, permitindo monitorar tanto o estado de utilização de um equi-
pamento eletrônico quanto o ambiente em que esse equipamento está inserido, com pouco ou
nenhum impacto físico nesse ambiente (MINI; LOUREIRO, 2008). Os dispositivos de rede
de uma RSSF são também chamados de módulos sensores e são compostos por um rádio de
comunicação, uma unidade de processamento, por sensores e por baterias. Uma vez que os
módulos sensores são alimentados por baterias, o tempo de monitoramento de um equipamento
20
Uma infraestrutura de rede de sensores sem fio é composta de módulos sensores, mó-
dulos roteadores e um módulo coordenador para receber e processar as informações transmiti-
das pela rede. A implementação de uma infraestrutura de RSSF em um campus universitário
permite não apenas o monitoramento de equipamentos eletrônicos, mas também permite o de-
senvolvimento de aplicações com características de Computação Ubíqua (WEISER, 1991). A
computação ubíqua tem como principal característica a computação presente nos ambientes,
interagindo com os seres humanos de forma transparente.
1.2 Objetivos
O objetivo deste trabalho é desenvolver uma rede de sensores sem fio para monitorar pro-
jetores LCD em um campus universitário, utilizando módulos de RSSF baseados na plataforma
de prototipagem rápida Arduino (ARDUINO, 2009a) e no rádio de comunicação XBee (DIGI,
2009a), tendo como protocolo de comunicação da RSSF o padrão ZigBee (ALLIANCE, 2009).
Para atingir o objetivo proposto, este trabalho apresenta experimentos para verificar o tempo de
vida de um módulo sensor e efetividade da atividade de monitoramento proposta. Com base
na análise dos experimentos, este trabalho apresenta um algoritmo para maximizar o tempo de
vida da rede e um novo módulo de RSSF, chamado Modulino, com menor consumo de energia
e menor custo em relação ao Arduino.
Os resultados deste trabalho mostram que é possível utilizar uma RSSF baseada no pro-
tocolo ZigBee para realizar o monitoramento de equipamentos eletrônicos. O desenvolvimento
de um novo módulo sensor, chamado Modulino, permite um aumento do tempo de vida da rede
de mais de 500%, em comparação à solução de mercado adotada no início neste trabalho. O
nó sensor Modulino, em conjunto com o desenvolvimento de algoritmos de concatenação de
dados e de níveis de alerta, reduzem a quantidade de dados transmitidos em mais de 59,7%, ao
mesmo tempo que permitem uma diminuição do consumo de energia do nó sensor. As soluções
apresentadas neste trabalho permitem uma melhor escalabilidade e um aumento no tempo de
vida da rede, além de uma redução de 40% no custo de desenvolvimento do nó sensor.
2 FUNDAMENTOS
Neste capítulo é apresentado o referencial teórico utilizado neste trabalho. A seção 2.1
apresenta os conceitos sobre rede de sensores sem fio, sua composição e arquitetura. O padrão
de comunicação ZigBee e sua implementação sobre o protocolo IEEE 802.15.4 é apresentado
na seção 2.2. Os módulos de RSSF neste trabalho utilizam o rádio de comunicação XBee,
apresentado na seção 2.3, onde é mostrada a arquitetura do rádio de comunicação, o formato
das mensagens enviadas e recebidas, a configuração e os modos de operação do rádio. Na seção
2.4 é apresentado o microcontrolador ATMega 328, utilizado em conjunto com o rádio XBee
no módulo sensor, o funcionamento das portas de entrada e saída e o gerenciamento de energia
do microcontrolador, sendo descritas também as placas Arduino e XBee Shield, utilizadas como
solução de mercado para RSSF.
A Rede de Sensores sem Fio (RSSF) é uma tecnologia de comunicação sem fio que
utiliza dispositivos de rede de baixo consumo de energia. Esses dispositivos de rede, também
denominados nós sensores, transmitem dados coletados por sensores, permitindo sensorear o
ambiente em que esse equipamento está inserido, com pouco ou nenhum impacto físico nesse
ambiente. Mini e Loureiro (2008) citam que as RSSF diferem das redes tradicionais ad hoc e
sem fio (WiFi e WiMax) por diversos fatores: limitação de energia, localização dinâmica, não
possuem uma topologia previamente definida, podem ser extremamente densas e trabalham de
forma colaborativa, uma vez que um nó sensor encaminha as informações para outro nó sensor
até que essa informação chegue ao destino.
Quando um dado é coletado pelo sensor, ele passa pelo conversor analógico digital e é
preparado para o envio para o rádio (TX). Os rádios de comunicação possuem buffers tanto para
envio quanto para recepção de dados, permitindo controlar o fluxo de transmissão e recepção
(RX). O rádio converte os sinais recebidos pela antena Rádio Frequência (RF) em bytes para
serem transmitidos de forma serial. Tanto o rádio quanto o microcontrolador possuem sistemas
para o controle e gerenciamento de energia, permitindo a economia de energia quando não
estão em uso. A recepção e a transmissão de RF pela antena não ocorre de forma simultânea,
por este motivo é utilizada uma chave RF para alternar o rádio para os modos de recepção ou
de transmissão.
O componente que consome mais energia em uma RSSF é o rádio de comunicação (MINI;
LOUREIRO, 2008). Transmitir um bit de informação, em termos de consumo de energia, é
equivalente ao processamento de 3000 instruções (MASRI; MAMMERI, 2007). Em RSSF,
uma solução para economizar energia é analisar e processar as informações dos sensores no
microcontrolador módulo sensor, transmitindo apenas os dados que estão de acordo com os
requisitos do projeto da rede, tendo também um importante papel na agregação de dados (HA-
DIM; MOHAMED, 2006). Neste trabalho, o microcontrolador realiza o tratamento dos dados
antes da transmissão, permitindo economizar energia ao enviar apenas informações que sejam
relevantes para o objetivo da rede.
Esta seção apresenta o padrão ZigBee, padrão este desenvolvido com base no protocolo
IEEE 802.15.4. O protocolo IEEE 802.15.4 é apresentado na seção 2.2.1. O funcionamento do
ZigBee é descrito na seção 2.2.2, onde são apresentadas as topologias utilizadas e a descrição
24
O protocolo IEEE 802.15.4 foi ratificado pelo Institute of Electrical and Electronics
Engineers (IEEE) (IEEE, 2009) como padrão para redes de baixa velocidade e baixo consumo
de energia, sendo por esta razão utilizado em RSSF. As redes IEEE 802.15.4 operam na faixa
de frequência de 2, 4 Gigahertz (Ghz) - de 2400 a 2483,5 Megahertz (Mhz), e com taxa de
transmissão de 250 Kilobits por segundo (kbps). Outras faixas de frequência são permitidas pelo
protocolo, com variação do número de canais de comunicação e da velocidade de transmissão,
como pode ser observado na tabela 1.
O protocolo IEEE 802.15.4 implementa camadas física e Medium Access Control (MAC),
deixando as camadas de rede e superiores livres para implementação de acordo com a utilização.
A camada física é a responsável pela interligação do protocolo com o rádio de comunicação e
provê serviços para a camada imediatamente superior, que controla o acesso à rede, a camada
MAC (FARAHANI, 2008). Como o IEEE 802.15.4 define apenas estas duas camadas, ele per-
mite que outros protocolos o utilizem como base para a implementação de camadas superiores,
como é o caso do protocolo ZigBee, visto na seção 2.2.2.
O protocolo IEEE 802.15.4 opera com dois tipos de dispositivos físicos: o Full Function
Device (FFD), que é responsável pelo roteamento na rede, sendo que um nó FFD é utilizado
como coordenador da rede, controlando a topologia e endereçamento dos nós e também como
roteador, fazendo o encaminhamento de mensagens; e o Reduced Function Device (RFD), que
é um dispositivo de baixo custo, não faz roteamento e só pode se conectar a um nó FFD de
cada vez. O roteamento permite que um nó encaminhe uma mensagem de um nó RFD ou FFD
para outros nós FFD até o nó coordenador e normalmente tanto os nós FFD para roteamento
quanto os nós FFD coordenadores necessitam de uma fonte de energia constante, pois neces-
sitam estar ativos a todo o momento para a transmissão de mensagens, diferente dos nós RFD
que normalmente são alimentados por baterias e necessitam economizar o máximo de energia
possível.
25
O padrão ZigBee (ALLIANCE, 2009) foi especificado pela ZigBee Alliance em 2006
e utiliza as camadas física e MAC do protocolo IEEE 802.15.4, adicionando as camadas de
rede e aplicação, além de criptografia AES de 128 bits e pode endereçar até 65535 nós por
sub-rede. Um exemplo deste tipo de topologia pode ser visto na figura 4, em que o nó ZigBee
Coordinator (C) e ZigBee Router (R) são implementados como nós FFD e o ZigBee End Device
(E) é implementado como nó RFD, uma vez que não faz roteamento. Neste trabalho, o nó
ZigBee End Device é denominado nó sensor.
da rede (PAN ID). Esse identificador será comum a todos os outros nós que ingressarem nessa
rede. Normalmente os dispositivos ZigBee são pré-configurados com um endereço PAN ID para
serem adicionados a uma rede existente, mas podem também selecionar um PAN ID de alguma
rede próxima para solicitar o ingresso. O PAN ID é composto por dois endereços, um de 16 bits
e outro de 64 bits. A quantidade de combinações do endereço de 16 bits (65535 possibilidades)
faz com que exista a possibilidade de duas redes diferentes utilizarem o mesmo PAN ID e por
este motivo também é utilizado o endereço de 64 bits como identificador da rede.
Esta seção apresenta a arquitetura de camadas da rede ZigBee, importante para entender
o funcionamento do protocolo e sua implementação sobre o protocolo IEEE 802.15.4. No
trabalho de Adams (2006) é descrito o funcionamento das camadas física e MAC do protocolo
IEEE 802.15.4, além citar como a camada de rede é implementada em conjunto com o protocolo
ZigBee. Tanto o protocolo IEEE 802.15.4 quanto o protocolo ZigBee foram alvo de uma análise
e de uma simulação em cenários de larga escala no trabalho de Kohvakka et al. (2006). Na
figura 5 é apresentada a estrutura de camadas da rede ZigBee, onde pode ser visualizada a
implementação do padrão ZigBee sobre o protocolo IEEE 802.15.4.
A rede ZigBee trabalha com vários tipos de roteamento. No trabalho de Sun et al. (2007),
é apresentada uma descrição das topologias mesh, estrela e árvore, bem como os protocolos
de roteamento AODV, Cluster Tree e roteamento integrado, além de fazer uma análise dos
protocolos com foco no mecanismo de roteamento, custo e manutenção. Cuomo et al. (2008)
apresentam uma análise do funcionamento das topologias de rede no protocolo IEEE 802.15.4,
fazendo uma simulação nos cenários com um único destino e com múltiplos destinos, para os
pacotes que trafegam na rede.
dentre outros. No perfil de gerenciamento de energia, são definidos, por exemplo, dispositivos
como termostato e controle de carga. O perfil de gerenciamento de energia define também a
funcionalidade requerida por cada dispositivo, como, por exemplo, um controle de carga deve
responder a um comando padronizado para ser ativado ou desativado. Isto permite que diferen-
tes fabricantes de dispositivos possam interagir com diferentes fabricantes de nós ZigBee. Os
fabricantes podem, também, desenvolver perfis privados, para aplicações proprietárias e espe-
cíficas, mas devem manter a compatibilidade com o padrão ZigBee.
2.3.1 Introdução
Esta seção apresenta o rádio XBee, utilizado neste trabalho como rádio de comunicação
da RSSF proposta. Os módulos XBee foram escolhidos por terem representante oficial no Brasil
e por serem utilizados em trabalhos de domótica (BOLZANI; MONTAGNOLI; NETTO, 2006)
e em aplicações de RSSF (LOUSADA, 2009) (LIBELIUM, 2009). Em (EADY, 2007), são
apresentadas implementações de hardware de rádios de comunicação ZigBee, de fabricantes
como Texas Instruments, Maxstream (Digi International) e Freescale.
Os módulos de comunicação XBee (DIGI, 2009a), denominado rádio XBee neste traba-
lho, adotam os protocolos IEEE 802.15.4 e ZigBee. A fabricante do rádio XBee, a Digi Interna-
tional, disponibiliza dois modelos de rádio XBee. O primeiro modelo implementa estritamente
o protocolo IEEE 802.15.4, modelo este denominado Series 1. O segundo modelo, denominado
Series 2, utilizado neste trabalho, além do IEEE 802.15.4, implementa o padrão ZigBee, e, ao
contrário do modelo Series 1, permite a utilização de redes do tipo Mesh.
Segundo Farahani (2008), o rádio XBee não possui controle de potência, ou seja, não
importa a distância entre o nó sensor e o nó coordenador, a potência utilizada para a transmissão
dos dados é a mesma. Por este motivo, o controle do estado de atividade do rádio é muito
importante, pois permite que o rádio seja desligado sempre que estiver ocioso. Os módulos
podem ser fornecidos com as implementações de antena de fio, conector para antena externa
padrão U.FL (conector coaxial em miniatura) e antena de chip (figura 7), utilizados de acordo
29
Na seção 2.3.2, são descritos os formatos de envio e recepção de dados dos rádios XBee.
Na seção 2.3.3, são apresentadas as formas de configuração do rádio. Na seção 2.3.4, é descrita
a configuração das portas de entrada e saída do módulo de configuração. Por último, na seção
2.3.5, os modos de operação e de economia de energia do rádio XBee são apresentados.
O rádio XBee trabalha com dois modos de operação de transmissão e recepção de da-
dos. No primeiro modo, Transparent Operation ou AT, os dados são enviados e recebidos
diretamente pela porta serial, tendo uma interface simples e sendo mais fácil o desenvolvimento
de aplicações, bastando a aplicação se conectar à porta serial do módulo e enviar os dados uti-
lizando comandos AT. Este modo, apesar de simples, não é escalável para enviar dados para
múltiplos destinatários e também não permite o envio de configurações remotas de módulos.
O segundo modo, que é utilizado neste trabalho, é o modo Application Programming In-
terface (API), baseado no envio e recepção de quadro de dados, especificando como comandos,
respostas de comandos e mensagens sobre o estado de funcionamento do módulo são enviados
e recebidos, permitindo um aumento na escalabilidade da rede. Comandos AT também podem
ser enviados e recebidos através do modo API, permitindo a coexistência dos dois modos em
uma rede. A estrutura do quadro de dados é descrita na figura 8 e as aplicações que utilizem o
modo API devem estar em conformidade com esta estrutura.
O quadro de dados da API tem como delimitador inicial 1 byte com o valor 0x7E,
seguidos por dois bytes com o tamanho do quadro de dados, dividido em Most Significant
Byte (MSB) - Byte Mais Significativo e Least Significant Byte (LSB) - Byte Menos Significativo.
No tamanho do quadro de dados não está incluso o último byte, de checksum.
Na API ID 0x90, os primeiros 8 bytes (5 a 12) do quadro após o cmdID (neste caso
0x90) são referentes ao endereçamento de 64 bits e os dois bytes subsequentes (13 e 14) são
referentes ao endereçamento de 16 bits, todos do nó que envia o pacote de dados. Com essas
informações é possível identificar a origem do pacote, sabendo de qual sensor os dados foram
enviados.
enviado por um nó end device. A estrutura da API ID 0x90 pode ser observada na figura 9.
Após a configuração das opções de conexão, deve-se realizar o teste de conexão, através
do botão Test/Query. Caso esteja correta a configuração, deverá aparecer uma janela com a frase
Communication with modem OK, o tipo do modem (Modem type) e a versão do firmware (Mo-
dem firmware version). Outras opções do programa X-CTU incluem Range Test, para testar a
conexão entre módulos, Terminal, utilizado para verificar a recepção de dados da porta serial e
interagir com o módulo no modo AT e, por último, Modem Configuration, onde são realizadas
as configurações dos parâmetros do modem, atualização e escolha do firmware, do conjunto de
funções do módulo (coordenador, roteador ou nó sensor) e salvar e recuperar esses parâmetros
em arquivo. Os principais parâmetros para realizar a comunicação de dados utilizada neste
trabalho são apresentados a seguir.
32
Os comandos de interface serial são responsáveis pela comunicação entre o rádio XBee
e o microcontrolador ou dispositivo serial conectado a ele, onde é definido o modo API e con-
figurações da taxa de transmissão de dados. Além dos comandos de interface serial, na tabela
10 no apêndice (LIBELIUM, 2009) são descritos comandos para verificar o nível de tensão,
configurar o modo de dormência do módulo e os comandos de execução, para identificação dos
nós da rede. Na figura 11 podem ser observadas algumas configurações de um nó coordenador
no programa X-CTU.
33
O módulo XBee possui 13 portas de E/S (DIO0 a DIO12), algumas possuindo mais
de uma função, que podem ser configuradas através do programa X-CTU. O diagrama com a
pinagem do módulo XBee e suas respectivas funções é apresentado na figura 12. A alimentação
do módulo é realizada através do pino 1 (VCC) e deve ser suprida a tensão de 3,3 volts e o terra
/ ground através do pino 10.
A entrada e saída de dados são realizadas através das portas DIN (pino 3) e DOUT (pino
2) respectivamente. Esses pinos podem ser conectados ao microcontrolador, para o envio e
recepção de dados dos sensores. A função de RESET do módulo XBee é executada conectando-
se uma chave do tipo push-button entre o pino 5 (RESET ) e o pino 10(Ground). O pino 6, além
da função DIO10, pode ser utilizado para medir o sinal RSSI da última transmissão recebida
pelo módulo. O pino 8 é de uso reservado, não devendo ser conectado. O pino 9, além da porta
DIO8, pode ser utilizado para ativar/desativar o estado de dormência do módulo. Esta porta,
quando em nível alto, ou seja, quando existe um nível de tensão aplicado a ela coloca o módulo
no estado de dormência e, quando está em nível baixo ou conectado ao pino 10 (Ground), o
módulo passa a operar normalmente.
Os pinos 4 (DIO12), 7 (DIO11) e 11 (DIO4) são utilizados como entrada ou saída digital
e possuem apenas esta função. Os pinos 12 (CT S/DIO7) e 16 (RT S/DIO6) podem ser utilizados
para controle de fluxo Clear-to-Send (CTS) e Request-to-Send (RTS) respectivamente. O pino
13 (ON/SLEEP), além da função E/S Digital 9 (DIO9) pode ser utilizada como indicativo do
status de funcionamento do módulo, utilizando um LED que, quando ligado indica o funcio-
namento normal e quando desligado indica que o módulo se encontra em estado de dormência
(SLEEP). O pino 15 possui um funcionamento semelhante, mas indicativo do status da asso-
ciação do módulo com a rede, além da função E/S Digital 5 (DIO5). Se o módulo não está
associado a uma rede, o LED permanece ligado. Quando o módulo está associado a uma rede,
34
ele deverá piscar em um intervalo regular, de 500 ms para nós coordenadores e de 250 ms para
nós roteadores e end devices.
O módulo XBee também possui quatro portas que podem ser utilizadas como E/S digital
ou como entrada analógica apenas, das portas 17 a 20, respectivamente, AD3/DIO3, AD2/DIO2,
AD1/DIO1 e AD0/DIO0. A última porta, 20, pode também ser usada como botão de comissio-
namento, quando conectada a um botão do tipo push-button e este à porta 10 (Ground). Quando
o módulo está em uma rede, ao pressionar o botão uma vez, um módulo end device acorda du-
rante 30 segundo e envia uma transmissão de broadcast com a identificação do nó. Ao se
pressionar o botão duas vezes, o módulo envia uma transmissão de broadcast permitindo ao co-
ordenador e a todos os outros nós a ingressar na rede durante 1 minuto. Pressionar quatro vezes
o botão força o módulo a deixar a PAN, restaurando parâmetros de ID da rede e de procura de
canais (SC) para os valores default e tenta se conectar a PAN utilizando esses valores.
Na figura 13 são apresentados os cinco modos de operação do rádio XBee: Idle, Trans-
mit, Receive, Command e Sleep. Ele permanece, por padrão, no modo Idle quando não está em
operação de envio e recebimento de dados. A partir desse modo, ele poderá mudar para os mo-
dos Transmit, quando necessita transmitir dados; Receive, quando um pacote de dados válido
é recebido pela antena; Command, quando está em modo para receber instruções de controle e
configuração do rádio e Sleep, em que o rádio fica em estado de dormência, explicados a seguir.
O rádio XBee possui o parâmetro de configuração SM, que especifica o modo de opera-
ção Sleep Mode. Abaixo são explicados os modos de economia de energia. Os parâmetros são
35
a) 0 - No Sleep: sem modo de dormência, o rádio fica ligado o tempo inteiro, modo indicado
quando o coordenador está ligado a um computador para recepção de dados. Não é indicado
para o uso com baterias sem utilizar um dos modos de dormência, pois tem alto consumo de
energia (típico ≥ 60 mA).
b) 1 - Pin Hibernate: entra do modo de dormência após receber um nível alto de tensão no
pino 9 do rádio. O tempo necessário para mudar do modo de dormência para o modo ativo
(wake-up) é de 13,2 ms. É o modo com maior economia de energia. O rádio pode, então,
ser controlado externamente por um evento ou por um microcontrolador ligado ao pino 9.
Tem um consumo de energia menor do que 10 µA quando no estado de dormência. Nesse
modo, quando é aplicado um nível de tensão CMOS de 3, 3 volts, o rádio entra no estado
de dormência e quando esse nível de tensão é retirado, ele volta à sua condição normal de
operação. O rádio, no entanto, só volta ao nível de dormência após todos os dados em seu
buffer sejam transmitidos.
c) 2 - Pin Doze: entra do modo de dormência após receber um nível alto de tensão no pino 9
do rádio, sendo que tem um tempo de wake-up menor que o do Pin Hibernate, em torno de
2 ms, mas com uma economia de energia menor. Tem um consumo de energia menor do
que 50 µA quando no estado de dormência.
d) 3 - Reservada
e) 4 - Cyclic Sleep Remote: possui o mesmo nível de economia de energia do Pin Doze, para
entrar em estado de dormência após um determinado tempo ocioso, configurado pelo parâ-
metro ST e acorda durante um período, especificado pelo parâmetro SP. Os valores tanto para
o coordenador quando para o nó sensor devem ser iguais. Esse modo possui um consumo
de energia menor do que 50 µA quando no estado de dormência.
f) 5 - Cyclic Sleep Remote with Pin Wake-up: equivalente ao Cyclic Sleep Remote, entretanto o
rádio acorda tanto em função dos parâmetros ST e SP quanto pela atividade do pino 9. Esse
modo possui um consumo de energia menor do que 50 µA quando no estado de dormência.
Neste trabalho, os principais modos utilizados foram o Pin Hibernate e o Cyclic Sleep. O
modo Pin Hibernate é o que permite a maior economia de energia. O modo Cyclic Sleep Remote
with Pin Wake-up não foi utilizado devido à rede experimental transmitir apenas quando o
microcontrolador ativa o rádio e envia os dados e o rádio XBee só voltar ao estado de dormência
após terminar o envio.
36
2.4.1 Introdução
O ATMega 328 é fornecido em quatro versões de configuração de pinos, sendo três delas
utilizando montagem de superfície (Surface Mount Device (SMD)) e uma através da montagem
através de duas linhas paralelas de pinos (Dual In-line Package (DIP)), que é a utilizada neste
trabalho. A configuração dos pinos pode ser observada na figura 14. As portas de E/S do
microcontrolador são divididas em três grupos, PB0 a PB5, PC0 a PC6 e PD0 a PD7.
37
Os pinos 2 (PD0 - RXD) e 3 (PD1 - TXD) são utilizados para comunicação serial com
outros dispositivos, como, por exemplo, o rádio XBee descrito na seção 2.3. As portas PD2
a PD4 (pinos 4 a 6), PD5 a PD0 (pinos 11 a 13) e PB0 a PB5 (pinos 14 a 19) correspon-
dem, respectivamente, à portas digitais 2 a 13 do Arduino. Os pinos 23 a 28 (PC0 a PC5) são
responsáveis por prover a funcionalidade de portas de entrada e saída analógicas, através de
conversores analógico-digitais de 10 bits para cada porta.
b) I/O Clock(clkI/O ): utilizado pelos módulos de I/O como Contadores e Universal Synchro-
nous Asynchronous Receiver Transmitter (USART) - unidade responsável pela transmissão
e recepção de dados de forma serial, além do módulo de interrupção externa;
d) ADC Clock(clkADC ): permite a suspender o clock da CPU e I/O para reduzir o ruído gerado
pelo circuito digital, permitindo uma maior precisão ao conversor analógico digital (Analog
Digital Converter (ADC)).
O ATMega possui seis modos de economia de energia. Cada modo permite uma maior
ou menor economia de energia, de acordo com as áreas do sinal de clock desabilitadas. Neste
trabalho são utilizados basicamente dois modos, Power-save e Power-down, por serem os modos
38
que permitem a maior economia de energia. Os modos de economia de energia são descritos a
seguir.
a) Idle Mode: basicamente suspende a operação do clkCPU e clkFLASH , mas mantendo todos
os outros sinais de clock funcionando normalmente, habilitando o microcontrolador a ser
acordado por interrupções externas ou mesmo internas, como USART e Timer Overflow;
e) Standby Mode e Extended Standy Mode: esses dois últimos modos trabalham de maneira
semelhante ao Power-down Mode e Power-save Mode respectivamente, mas não desligam
o oscilador, permitindo o retorno ao modo normal em seis ciclos de clock. Este modo é
recomendado somente quando forem utilizados osciladores externos.
39
A alteração dos modos de energia é realizada através da configuração dos bits SM2,
SM1 e SM0 do registrador SMCR do microcontrolador. Estes parâmetros são utilizados para
tornar possível a hibernação do microcontrolador.
As outras portas podem ser utilizadas para sensores que retornem valores booleanos,
como verdadeiro ou falso, ativar e desativar relés/transistores para controlar dispositivos de
maior potência ou tensão, além de ligar e desligar lampadas Light Emission Diode (LED) -
40
Diodo Emissor de Luz. As portas digitais 3, 5, 6, 9, 10 e 11 podem ser utilizadas como portas
Pulse Width Modulation (PWM) - Modulação por Largura de Pulso.
Além das portas digitais, o Arduino possui 6 portas analógicas, cada porta com um con-
versor analógico-digital de 10 bits. Estes conversores funcionam medindo a tensão existente em
cada porta, fornecendo um valor entre 0, sem sinal, e 1023, equivalente a 3,3 volts ou 5 volts,
de acordo com o nível de tensão utilizado. Podem ser acopladas a estas portas sensores como
luminosidade, umidade, temperatura, gás e sísmico/acelerômetro. Outros componentes impor-
tantes da placa Arduino são o botão de reset, para a reinicialização do módulo, e os conectores
com tensão regulada em 3,3 volts e 5 volts, para utilização em sensores e/ou placas acopladas à
placa principal do Arduino.
A plataforma oferece o conceito de shields, que são placas que podem ser adicionadas
ao Arduino para aumentar sua funcionalidade. Existem shields para conexão do Arduino com
módulos Bluetooth, Ethernet, relés para controle de potência. A placa utilizada neste trabalho,
denominada XBee Shield, permite a interligação do Arduino ao rádio XBee, e é descrita na
seção 2.4.5. O fabricante do Arduino também fornece um software para o desenvolvimento de
aplicações, baseadas na linguagem C, permitindo a programação em alto nível. Existem várias
versões customizadas do Arduino desenvolvidas em diversos países (ARDUINO, 2009b), dentre
as quais uma placa desenvolvida no Brasil, a Arduino Severino (AKASHI, 2010), que utiliza a
porta serial para comunicação com o microcomputador. Este trabalho apresenta o Modulino,
uma versão do Arduino com menor consumo de energia.
A placa XBee Shield (LIBELIUM, 2010) tem por função permitir a conexão entre o
rádio XBee e a placa Arduino, apresentada na seção 2.4.4. A placa mantém a funcionalidade
das portas de E/S do Arduino, como pode ser visto na figura 17, mas pela disposição da placa
não é possível ter acesso às saídas de tensão de 3,3 volts, 5 volts e terra (GND), sobrepostas
pela placa XBee Shield. A sobreposição ocorre também com o botão de reset e por este motivo,
a placa XBee Shield tem um botão de reset adicional. A placa também possui um regulador de
tensão, para manter os 3,3 volts necessários para o funcionamento do rádio XBee, além de um
LED indicador do estado da conexão da rede, conectado ao pino 15 (DIO5), descrito na seção
2.3.4.
Um par de jumpers é utilizado na placa XBee Shield para a seleção do modo de co-
municação. Quando a placa XBee Shield é utilizada sem o microcontrolador ATMega 328 na
placa Arduino, o conjunto pode ser utilizado como nó coordenador (gateway), conectado a um
computador. Nesse caso utiliza-se os jumpers na posição USB, onde todo o tráfego de dados
recebido pelo rádio é direcionado para o microcomputador. Os jumpers nessa posição também
41
permitem que o microcomputador possa configurar o rádio XBee através do software X-CTU.
3 TRABALHOS RELACIONADOS
As características das RSSF, apresentadas na seção 2.1, permitem a sua utilização como
uma plataforma para controle patrimonial e segurança de ambientes. No trabalho de Buttyan
et al. (2010) são abordados os desafios para se construir uma infraestrutura de proteção contra
ameaças, como ataques terroristas, de criminosos ou mesmo catástrofes e discute os aspectos
que tornam as redes de sensores sem fio confiáveis para o monitoramento da segurança de um
ambiente. Esses aspectos envolvem a própria segurança do módulo e segurança da comunicação
da rede, para tornar fidedigno todo o tráfego de dados.
Uma solução utilizada em dispositivos eletrônicos para proteção contra furtos de equi-
pamentos, denominada trava Kensington (KENSINGTON, 2010), consiste de um cabo de aço
e uma trava com cadeado que é conectado ao dispositivo eletrônico. Na figura 18 pode ser vi-
sualizado um exemplo de segurança física de um projetor LCD, onde são utilizadas uma gaiola
de proteção com cadeado e uma trava Kensington acoplada ao aparelho eletrônico.
As aplicações no sensoreamento sem fio são das mais diversas. Akyildiz et al. (2002)
citam algumas: aplicações militares, como vigilância e patrulhamento, monitoramento e de-
tecção de armas químicas e biológicas; aplicações ambientais, como detecção de incêndios em
florestas, detecção de inundações, mapeamento da bio complexidade em um ambiente; aplica-
ções na área da saúde, como tele monitoramento de dados fisiológicos de pacientes, localização
de médicos e pacientes em hospitais. Um exemplo de um nó sensor é apresentado na figura 19.
Zucatto et al. (2007) realizam uma comparação entre Bluetooth e ZigBee, ao apresentar
os requisitos utilizados no desenvolvimento de uma rede ZigBee de controle residencial. Lin,
Liu e Fang (2007) estudam a aplicabilidade do ZigBee em indústrias, apresentando os requisitos
necessários para aplicações industriais, como alcance desejado, e suas características. Lee e
Moon (2009) fazem um estudo sobre a utilização de uma RSSF padrão IEEE 802.15.4 em
um ambiente industrial, apresentando uma diminuição de custo e de tempo parado na troca de
máquinas industriais, em relação a máquinas conectadas através de rede cabeada.
padrão IEEE 802.15.4. A arquitetura proposta neste trabalho tem como ambiente as salas de
aula de um campus universitário, sendo importante considerar o funcionamento da rede em
ambientes fechados. Gonçalo e Helena (2009) fazem uma proposta para localização dos nós
sensores em ambientes indoor, com os modelos de propagação e atenuação de sinais levando
em consideração as paredes entre as salas.
Uma aplicação de redes ZigBee em um campus universitário foi feita por Huang (2009),
em que cita que os maiores desafios na implementação de uma RSSF ubíqua recaem sobre a
administração de banco de dados e das interfaces utilizadas. Nesse trabalho, são exploradas
as questões sobre a melhor localização dos nós ZigBee, fluxo de dados, além do design do
banco de dados e seu processo de análise on line (OLAP). Duran-Faundez, Aguilera-Carrasco e
Norambuena (2010) utilizam sinais RSSI para detectar a movimentação de pallets em ambientes
industriais. Os experimentos demonstraram que quanto maior a potência do sinal, menor a
interferência e melhor a precisão das medições. Foram utilizados módulos ZigBee modelo
XBee, semelhantes aos utilizados neste projeto de pesquisa.
Kawahara et al. (2003) cita que é desejável que um nó sensor seja construído em mó-
dulos, provendo flexibilidade no desenvolvimento e adaptação dos nós sensores para diferentes
necessidades em RSSF. Kawahara desenvolveu um nó sensor sem fio, denominado U 3 (figura
20),com sensores de movimento, luminosidade e temperatura, utilizando módulos separados
de processador, rádio de comunicação, de gerenciamento de energia e placa com sensores. O
nó sensor U 3 tem a dimensão de um cubo de 5cm, com taxa de transmissão de 100 kbps e
alimentado por três baterias recarregáveis tamanho AAA.
46
Os rádios de comunicação XBee utilizados neste trabalho são versáteis, podendo ser in-
terligado com diversos microcontroladores. No trabalho de Yussoff et al. (2010) é utilizado um
microcontrolador de propósito geral PIC interligado a um rádio XBee 802.15.4 para o monito-
ramento de temperatura em vários pontos de um ambiente, transmitindo essas informações para
um nó coordenador. Apesar da utilização da linguagem C para programação do microcontrola-
dor e da implementação do hardware, ou seja, a interligação entre o microcontrolador e o rádio
XBee, serem bem semelhantes à utilizada neste trabalho, somente é possível a compatibilidade
na camada de comunicação de dados, se forem utilizados rádios utilizando o mesmo protocolo,
IEEE 802.15.4 ou ZigBee, uma vez que tanto a pinagem quanto a implementação do software
do microcontrolador são diferentes. No trabalho de (SARIJARI et al., 2008) é utilizado um
rádio XBee para automação doméstica, no qual o coordenador da rede é conectado a um rádio
GSM para o envio e recepção de mensagens SMS para controle da rede.
Uma rede de sensores sem fio semelhante à utilizada neste trabalho foi alvo do trabalho
de Lousada (2009), em que o foco principal foi o consumo de energia dos módulos XBee para
a utilização de uma RSSF na medição do consumo de energia elétrica. A medição do consumo
de energia do nó XBee foi semelhante a utilizada neste trabalho, mas o módulo de processa-
mento que envia as informações à rede possui sua própria fonte de energia, não sendo possível
controlar o consumo integrado entre processamento e rádio.
Uma proposta de envio de amostras de dados em intervalos de tempo é feita por Al-
Karaki e Kamal (2004), onde é utilizada a correlação espaço-temporal das amostras medidas
pelos nós, com o intuito de reduzir a quantidade de transmissões. Os nós, na proposta de Al-
Karaki, podem passar para um estado de inatividade (ou economia de energia) e, com isso,
prolongar o tempo de vida da rede. Um conceito que pode ser explorado com o intuito de mini-
mizar o número de transmissões e, portanto, economizar energia é a Taxa de Inovação (HENRI-
QUES; LOVISOLO; GONC, 2009). Os nós apenas transmitiriam medidas que apresentassem
uma determinada quantidade de inovação, ou um determinado nível de variação entre amostras
do sinal medido. O algoritmo de níveis de alerta, visto na seção 4.2.3, utiliza uma abordagem
semelhante, mas dependendo do tipo do sensor que fez a leitura, o ciclo de trabalho do nó sensor
é alterado.
estão ociosos, devido à potência estática presente nos circuitos. Uma das técnicas utilizadas
para reduzir o consumo de energia pode ser a hibernação de recursos (JUNIOR, 2007). A
vantagem dessa técnica é a redução do consumo de energia estática do sistema para próximo
de zero, pois ela permite transições entre modos de operação que irá inibir a passagem de
corrente para partes do circuito. O impacto da hibernação temporária é normalmente bastante
expressivo no consumo de energia, entretanto, alguns cuidados devem ser tomados, por exemplo
o custo de reativação e o tempo de hibernação do sistema. A abordagem deste trabalho é alterar
dinamicamente o ciclo de trabalho do nó sensor, hibernando o microcontrolador e o rádio de
comunicação de forma integrada.
A escolha do local para posicionamento dos nós roteadores foi feita após a realização de
experimentos para verificar o alcance do sinal entre o nó sensor mais distante, na sala 308 e o nó
coordenador, na sala 303. Foi verificado que o nó coordenador não recebia pacotes de dados do
50
nó sensor situado na sala 308. Optou-se pela colocação de três nós roteadores, para permitir um
fluxo melhor de dados e também para facilitar o sensoreamento da sala 306 e eventualmente,
da sala 305. No corredor, próximo às salas 308 e 309, foi instalado o primeiro nó roteador,
permitindo o roteamento dos dados destas duas salas.
Na frente da sala 305 foi colocado o segundo nó roteador e na frente da sala 303 foi
posicionado o terceiro nó roteador. Na figura 23 pode ser visualizado três nós roteadores, qua-
tro nós sensores SquidBee, o nó coordenador e três placas Arduino conectados à placas XBee
Shield. As três placas Arduino foram utilizadas apenas como apoio nos experimentos de al-
cance e configuração dos nós, não sendo utilizadas diretamente na rede. Os nós sensores foram
denominados PUC0001, PUC0002, PUC0003, PUC0004 e PUC0005, os nós roteadores de-
nominados ROTEADOR001, ROTEADOR002 e ROTEADOR003 e o nó coordenador como
COORDENADOR.
uma rede de sensores SquidBee pode ser realizada de acordo com a necessidade de pesquisa. O
SquidBee tem como base de comunicação a plataforma Arduino e um módulo de comunicação
XBee (DIGI, 2009a).
Uma vez que os nós roteadores ficaram expostos no corredor, foi necessário construir
uma caixa metálica para acomodar cada módulo roteador. As três caixas metálicas foram fixadas
nos locais escolhidos, com os nós roteadores nelas inseridos. O acesso físico aos nós roteadores
dentro das caixas metálicas é realizado através de uma tampa com cadeado. A caixa metálica
com um nó roteador pode ser visualizada na figura 24. A figura 25 mostra a caixa metálica com
o nó roteador (PUC0001), fixada no teto do corredor do prédio do Mestrado em Informática.
Para monitorar um projetor LCD, foi desenvolvido um nó sensor com um sensor de pre-
sença do tipo Passive Infrared (PIR) e com um sensor sísmico, que consegue detectar pequenas
variações de movimento. O nó sensor, denominado PUC0001 pode ser visualizado na figura
26. O sensor PIR emite uma luz infravermelha, invisível aos olhos humanos, e mede a reflexão
da emissão dessa luz. Caso uma pessoa entre em um ambiente monitorado por um sensor PIR,
irá ocorrer uma variação na intensidade da luz refletida e medida pelo sensor, ativando a porta
do microcontrolador responsável por monitorar presença.
O módulo sensor deve estar disposto sobre o aparelho eletrônico a ser monitorado. Caso
ocorra algum evento que altere o estado de repouso do módulo sensor, como por exemplo, uma
tentativa de roubo de um projetor LCD, o nó sísmico detecta essa alteração de estado e envia
uma mensagem ao nó coordenador com a intensidade da variação do repouso.
52
Para execução dos experimentos, os nós foram configurados sem criptografia de dados,
identificação da rede número 3332, canal 0xD, modo API nível 2, nível da potência de rádio 4
(máximo) e velocidade de comunicação com a interface serial a 9600 bps, sem paridade, 1 bit de
parada e sem controle de fluxo, sendo que o nó coordenador foi configurado com a velocidade
de comunicação serial a 115200 bps. Na tabela 2 são apresentados os endereços de 16 e 64 bits
dos nós sensores utilizados, bem como a função exercida por cada nó (sensor ou roteador) e
o nome de identificação do nó. Neste trabalho, o endereço de 16 bits e o de 64 bits H são os
mesmos para todos os dispositivos, seguindo a configuração padrão do fabricante do módulo.
Para verificar o funcionamento da rede, foi realizado um experimento, onde os nós sen-
sores enviaram informações sobre o ambiente para o nó coordenador. Ocorreu o roteamento dos
pacotes de dados de cada módulo sensor, fornecendo as informações de temperatura, umidade
e luminosidade de cada ambiente sensoreado. Notou-se, porém, que muitos dados eram envi-
ados de forma repetida, em um intervalo de tempo constante. Na configuração proposta pelo
fabricante do SquidBee, os dados de cada sensor, de cada módulo, são separados pelo caractere
k com o número do sensor. Consta, ainda, um número sequencial de transmissão e um código
para identificar o nó sensor. A faixa de valores aceitáveis dos sensores de umidade e lumino-
sidade podem variar entre 0 e 100% e a temperatura possui valores aceitáveis entre -25◦ C e
54
125◦ C.
Os módulos SquidBee, utilizados pela solução proposta na seção 4.1, possuem uma pe-
quena aplicação para a captura de informações dos sensores neles conectados, desenvolvida
pelo fabricante do módulo. As informações são enviadas em uma ordem pré-determinada, em
formato texto separadas por ponto-e-vírgula, tendo um tamanho do pacote de dados de 37 bytes,
por transmissão. A aplicação original do SquidBee envia as informações a cada cinco segun-
dos, não possuindo nenhum tipo de tratamento dos dados e nenhuma técnica para economia de
energia do módulo.
ção original do SquidBee, é realizada através da alteração da própria aplicação, tornando mais
complexa a instalação de múltiplos sensores em um ambiente. O quadro de dados no padrão AT,
utilizado pelo SquidBee, não possui o endereço físico do nó sensor. Pelos motivos apresentados
acima, verificou-se a necessidade de desenvolver uma aplicação para o nó sensor que satisfaça
os seguintes requisitos:
e) Utilize as técnicas de economia de energia, presentes tanto no rádio XBee quanto no micro-
controlador;
Na seção 4.2.2, é apresentado o algoritmo para identificar qual o tipo de dado que está
sendo sensoreado pelo nó sensor (requisito 1). Este algoritmo permite que a aplicação de moni-
toramento identifique qual o tipo do dado recebido, possibilitando a devida conversão dos dados
para valores que possam ser interpretados pelos usuários responsáveis pelo monitoramento de
ambientes.
O modo API do rádio XBee permite que, através das informações contidas na recepção
de um quadro de dados (figura 9), a aplicação de monitoramento possa identificar qual o nó
sensor que enviou a informação, satisfazendo o requisito 6. A aplicação desktop para o monito-
ramento da rede de sensores, denominada PUCAdmin, é proposta na seção 4.2.4. A PUCAdmin
deve tratar os dados enviados pelos nós sensores, permitindo a identificação do tipo do dado en-
viado e qual o nó sensor que enviou a informação, através das informações contidas no quadro
de dados no padrão API.
56
A abordagem inicial para a identificação dos dados era agregar mais um byte à infor-
mação coletada pelos módulos sensores, permitindo a identificação da origem de cada valor
transmitido. Foi verificado que o microcontrolador do módulo sensor possui um conversor
analógico-digital de 10 bits, percebendo valores entre 0 e 1023. Por este motivo, ao enviar os
valores captados por cada sensor do módulo, são necessários 2 bytes para o envio da informa-
ção. Os dois bytes podem ser divididos em dois grupos de oito bits, fazendo com que pelo
menos 6 bits de informação não sejam utilizados.
bytes separados. O valor do tipo do sensor é deslocado dois bits para a esquerda e é adicio-
nado ao byte mais significativo (MSB). O valor do byte menos significativo (LSB) permanece
inalterado. Posteriormente, quando esses dois bytes forem transmitidos para a aplicação de
monitoramento, será feita a extração do tipo do sensor e a reconstrução do valor original senso-
reado.
Para identificar quando o envio dos dados lidos pelos sensores é necessário, é proposto o
algoritmo de níveis de alerta. O algoritmo de níveis de alerta incorpora o algoritmo de integra-
ção de dados apresentado anteriormente, permitindo que os dados identificados de acordo com
o tipo do sensor que realizou a medição. Para tratar a necessidade de informações, de acordo
com os requisitos da rede, podem ser estabelecidos níveis de alerta em cada módulo sensor,
58
permitindo que um nó sensor tenha um ciclo de trabalho variável. Os níveis de alerta permi-
tem que, de acordo com a atividade de sensoreamento, um nó sensor possa entrar em estado
de dormência, acordar apenas áreas do microcontrolador ou do rádio, de acordo com critérios
dinâmicos de alteração dos valores lidos. Neste trabalho, optou-se por configurar o módulo
sensor com quatro níveis de alerta, onde a transmissão de dados irá ocorrer somente quando
forem constatadas as seguintes situações:
a) Dormência: nível padrão do módulo. O sensor acorda a cada 8 segundos, verifica o estado
das medições e, não havendo alterações, volta a hibernar. Quando repetir esse ciclo por
3 vezes, ele envia para o nó coordenador informações sobre o nível de tensão da bateria.
O módulo sai deste ciclo ao detectar qualquer variação considerada anormal em relação à
política de monitoramento adotada nos requisitos da rede.
b) Crítico: quando ocorrer alteração na leitura de sensores considerados essenciais para o mo-
nitoramento, e, no caso deste trabalho, a detecção de movimento foi considerada essencial.
Foi especificado um intervalo de 2 segundos entre envios das informações.
c) Importante: quando o sensor detectar alguma alteração que deva ser comunicada à aplicação
de monitoramento, como por exemplo, a presença de alguma pessoa no ambiente mas sem
a alteração no movimento. O módulo passa a enviar informações com um intervalo de 4
segundos, com um tempo de dormência maior que o do nível crítico.
d) Relevante: quando é detectada uma alteração relevante nos dados, como por exemplo, uma
alteração de 2% na temperatura, em relação à leitura anterior. O tempo de dormência é
alterado para 8 segundos.
Os sensores que apresentaram uma variação acima de um limite estabelecido nos re-
quisitos são classificados de acordo com o nível de alerta a ele atribuído, alterando o ciclo de
trabalho (duty cycle) do módulo sensor. Caso a alteração seja classificada como crítica, o al-
goritmo prepara novamente os dados para envio, repetindo o processo inicial. Caso a alteração
seja classificada como importante, o ciclo de trabalho é alterado para um tempo de dormência
59
maior, repetindo o processo de ligar o rádio, transmitir os dados, desligar o rádio e hibernar o
microcontrolador de acordo com o novo nível de alerta. A mesma situação ocorre para o nível
de alerta de alteração de dados.
Após o microcontrolador repetir o ciclo três vezes, sem alteração nos valores lidos pelos
sensores, o rádio é ligado e são enviadas as informações sobre o nível de tensão da bateria. Essa
é uma medida necessária para manter o coordenador ciente de que um determinado nó está
ativo. O algoritmo permite que o rádio hiberne de forma independente do microcontrolador,
sendo ativado somente quando existem alterações nos valores medidos pelos sensores.
A quantidade de ciclos que o algoritmo utiliza para enviar informações sobre o nível
de tensão pode ser alterada, de acordo com a necessidade da aplicação de monitoramento.
Optou-se por utilizar o valor três, que permite uma dormência do rádio de aproximadamente
24 segundos, por se aproximar do tempo máximo recomendado de 30 segundos do rádio XBee.
Após 30 segundos sem receber nenhuma comunicação do nó sensor, o nó coordenador entende
que o nó sensor não faz mais parte da rede, fazendo com que em uma próxima conexão, o nó
sensor gaste mais tempo para se reconectar à RSSF.
Para monitorar os dados de múltiplos sensores de uma RSSF, foi desenvolvida uma
aplicação para tratar os dados recebidos pelo nó coordenador. A aplicação PUCAdmin recebe
informações do nó coordenador através da porta USB do microcomputador. As informações
recebidas foram divididas em dois grupos. O primeiro grupo trata as informações relativas aos
nós da RSSF, como a identificação do nó sensor, os endereços de 16 e 64 bits, o atraso do sinal
na rede e o tipo do nó (roteador ou nó sensor). O segundo grupo de informações são relacionadas
às medições realizadas pelos nós sensores, como dados de temperatura, luminosidade, presença,
luminosidade e movimento/trepidação. A tela da aplicação em desenvolvimento no programa
Visual Studio pode ser vista na figura 29.
A aplicação PUCAdmin permite que os nós sensores e roteadores sejam alocados visual-
mente em um mapa do ambiente sensoreado. Quando uma informação sobre uma determinada
sala é enviada pelo nó sensor ao nó coordenador, essa informação é atualizada automaticamente
na aplicação. Isto permite que, quando um sensor detecta presença em um ambiente através
de um sensor PIR, essa informação seja encaminhada imediatamente à aplicação de monitora-
61
mento.
Nesta seção são descritos os resultados dos experimentos para verificar o funcionamento
da RSSF proposta. Na seção 4.3.1, é apresentado o experimento para verificar o funcionamento
da aplicação PUCAdmin e a recepção dos dados enviados pelos nós sensores, que utilizaram
os algoritmos de níveis de alerta e de concatenação de dados. Na seção 4.3.2, é realizada a
avaliação do consumo de energia dos nós sensores utilizados na RSSF proposta. A seção 4.3.3
apresenta o experimento para verificar o tempo de vida do nó sensor. Na seção 4.3.4, é realizada
uma análise do consumo de cada componente do nó sensor.
os nós sensores da rede e verificar alterações no estado do nó sensor para monitorar o projetor
LCD.
Foi realizado um experimento, nos módulos sensores, para verificar o consumo da ener-
gia. Este experimento é necessário para estimar o tempo de vida dos módulos sensores quando
da utilização de baterias e serviu para dois propósitos: inicialmente, saber em condições nor-
mais qual era o consumo de energia em miliampere/hora, e, também para verificar qual o tipo
de alimentação permitiria o maior tempo de vida da rede.
Foram testados dois níveis de tensão, simulando as alimentações de três baterias recar-
63
regáveis de 1, 2 volts em corrente contínua cada, totalizando 3, 6 volts e quatro baterias recar-
regáveis de 1, 2 volts cada, totalizando 4, 8 volts. Como valor de referência, foram testadas as
placas com e sem o microcontrolador, e com e sem os módulos de comunicação, além dos mó-
dulos sensores utilizados na rede. Os experimentos foram realizados com a placa Arduino sem
nenhum sensor, pois cada nó sensor pode ter uma quantidade de sensores diferente, de acordo
com o tipo da aplicação. Os resultados podem ser vistos na tabela 4.
Foram realizados dois experimentos para verificar quanto tempo os módulos sensores
ficariam ativos utilizando-se baterias, de acordo com o consumo medido na seção 4.3.4. Para
verificar o tempo de vida dos módulos sensores, foi projetada uma rede de testes com o objetivo
de medir o consumo de cada nó sensor. Devido à especificação de tensão mínima recomendada
pelo fabricante, optou-se por utilizar o nível de tensão de quatro baterias recarregáveis de 1,2
volts.
O cenário de cada experimento compreende uma rede com dois nós: um módulo Ar-
duino conectado a um rádio XBee configurado como RFD, através de uma placa XBee Shield e
alimentados por quatro baterias de 1, 2 volts de 2000 mAH cada totalizando 4, 8 volts e por um
módulo Arduino sem o microcontrolador e também conectado ao rádio XBee através da placa
XBee Shield, este configurado como FFD e conectado a um microcomputador através da porta
USB. Este nó FFD é responsável por receber os dados enviados pelo nó FFD e enviá-los pela
porta USB para a aplicação de monitoramento. Na figura 32 pode ser visualizado o experimento
para medir o tempo de vida do nó sensor.
Para coletar, processar e enviar os dados, foi desenvolvida uma aplicação para ser execu-
tada no microcontrolador, com a função inicializar o modo de dormência do microcontrolador,
capturar uma informação, no caso o nível de tensão interna do ATMega 328, ativar o rádio,
transmitir a informação coletada, desligar o rádio e entrar em modo de dormência power-down.
Após o período de tempo especificado na inicialização do modo de dormência, o microcontro-
lador retorna à atividade normal e repetindo o ciclo de trabalho na leitura do nível de tensão
interna, como pode ser observado na figura 33. O tempo do watchdog timer foi estipulado com
65
Foi desenvolvida uma aplicação para monitorar o nível de tensão da bateria do nó sensor.
A aplicação foi desenvolvida utilizando a linguagem de programação C# e a ferramenta Visual
Studio 2010, além do framework XBee.NET, que permite uma integração entre a plataforma
.NET e o rádio XBee. A tela da aplicação pode ser visualizada na figura 34.
Inicialmente, o rádio XBee foi configurado para permanecer ativo 100% do tempo. O
parâmetro SM do rádio XBee SM foi configurado com o valor 0 - No Sleep Mode, nunca sendo
desligado, e também nenhuma técnica hibernação do microcontrolador foi utilizada. Foram
utilizadas quatro baterias recarregáveis de 1, 2 volts, totalizando 4, 8 volts e 2000 mAh de ca-
pacidade total. O experimento teve a duração de 21 horas e 15 minutos e recebeu um total de
69371 transmissões do módulo sensor, como pode ser visto na figura 35.
Em uma análise da capacidade de carga de baterias, realizada por Park, Savvides e Sri-
vastava (2001), foi verificada a influência dos reguladores de tensão no consumo de um nó
67
Figura 36: Módulo sensor Arduino com rádio no modo cyclic sleep
tensão, o MC33269, é utilizado tanto na placa Arduino quanto na placa XBee Shield, e possui
um consumo de 5, 5 mA a 8 mA quando não está em uso (quiescent current ou corrente de
repouso), segundo a especificação do fabricante (MOTOROLA, 2010b). O total do consumo
teórico, especificado pelos fabricantes dos reguladores de tensão e somando-se os valores mí-
nimos e máximos de consumo, tem uma variação entre 12, 5 mA mínimo e 19 mA máximo,
confirmando o valor medido no experimento, de 9, 1 mA são consumidos pela placa Arduino
sem o microcontrolador e 4, 3 mA consumidos pela placa XBee Shield, totalizando 13, 4 mA.
O Arduino é uma placa utilizada para prototipagem rápida e é uma razão pela qual é
necessário um efetivo controle de energia para que ele possa funcionar com diversas fontes
de alimentação. Nas aplicações em RSSF, diminuir o consumo de energia é um fator deter-
minante para aumentar o tempo de vida da rede. Em uma aplicação como o sensoreamento
69
A placa Arduino, como explicado na seção 2.4.4, é baseada em hardware aberto, sendo
permitida a alteração e adaptação da placa de acordo com a necessidade da aplicação. Uma
placa com um menor consumo de energia para a aplicação de monitoramento de equipamentos
eletrônicos é desejável para satisfazer aos objetivos deste trabalho. A proposta de um novo nó
sensor, com menor consumo de energia, é apresentada na seção 4.4 a seguir.
interface USB, uma vez que esta última é utilizada apenas para programar o microcontrolador e
passar os dados do nó coordenador para o computador que armazena as informações coletadas
pela rede, não sendo mais utilizada em um ambiente de monitoramento.
Para poder desenvolver a placa Modulino, foi necessário realizar um mapeamento das
portas do Arduino, onde a aplicação para controle do nó sensor foi desenvolvida, para os pinos
do microcontrolador ATMega 328, devido ao endereçamento das portas utilizado pelo algo-
ritmo dos nós sensores. O mapeamento inclui a porta utilizada no Arduino, o pino utilizado
no microcontrolador ATMega 328 e a função nele desempenhada, como pode ser observado na
tabela 12, no anexo C.
Observou-se durante os testes que a placa XBee Shield é responsável pelo consumo de 4mAH,
devido ao regulador de voltagem nela incluso. Ao se retirar os leds da placa, a economia foi
ainda maior, diminuindo o consumo em 4 mAH no modo power-down e 5, 6 mAH no modo
de transmissão de dados, representando uma economia de 67% e de 14,25% respectivamente.
Ao analisar a placa Modulino sem o módulo XBee, o consumo de energia ficou em 25µAH no
modo de dormência e 14, 75 mAH no modo ativo, com tensão de 4, 8 volts.
5 RESULTADOS OBTIDOS
5.1 Introdução
O experimento do algoritmo de níveis de alerta na placa Arduino não foi realizado devido
à placa XBee Shield não possuir uma conexão direta com o Arduino para controlar a dormên-
cia do rádio. A placa Arduino também tem um consumo de energia muito maior que a placa
Modulino, quando utilizando os modos de dormência.
O experimento para verificar o aumento de tempo de vida da rede também foi utilizado
para verificar a quantidade de dados transmitidos. Foi utilizado o mesmo cenário do experi-
mento anterior, com a placa Arduino e a placa Modulino utilizando o modo cyclic sleep e com
a placa Modulino utilizando o algoritmo de níveis de alerta. Os resultados desse experimento
são apresentados na seção 5.3.
de 1, 2 volts, sendo a única diferença em relação ao experimento realizado com o Arduino, que
é alimentado por quatro baterias de 1, 2 volts neste trabalho.
Apesar do rádio XBee permitir uma configuração para mais de 30 segundos de dormên-
75
cia, esta opção é contra-indicada, uma vez que o microcontrolador não conseguiria enviar a
informação sobre alteração dos dados enquanto o rádio estivesse dormindo. É possível, no en-
tanto, configurar o rádio para trabalhar no modo pin hibernate em conjunto com o modo cyclic
sleep, mas nos experimentos realizados optou-se por deixar o controle de hibernação do rá-
dio somente com o microcontrolador. Com isso, evitou-se que o rádio entrasse no modo ativo
mesmo sem ter dados para enviar/receber.
Como o algoritmo de níveis de alerta envia apenas as informações que sofreram alte-
ração significativa, ocorre também uma redução na quantidade de transmissões realizadas pelo
nó sensor. No experimento apresentado na seção 5.2, além de medir o tempo de vida da rede,
foi contabilizada a quantidade de transmissões efetuadas em cada cenário. Na figura 43 é apre-
sentada uma comparação na quantidade de dados transmitidos pelos nós sensores Arduino e
Modulino utilizando o modo de economia de energia cyclic sleep e com o nó sensor Modulino
77
O Modulino com algoritmo de níveis de alerta transmitiu, por minuto, quase quatro
vezes menos que o Modulino com cyclic sleep. A diferença na quantidade de dados transmitidos
por minuto do Arduino em relação ao Modulino com cyclic sleep é devido à variação no nível
de tensão no final do tempo de vida da rede, causando mais transmissões. Como o Modulino
possui menor consumo de energia, a queda no nível de tensão é mais suave, acarretando um
menor número de transmissões.
78
24 bytes × 8 bits
τs = = 9, 14 ms (1)
21 kbps
24 bytes × 8 bits
τs = = 8 ms (2)
24 kbps
Foi realizado um experimento para calcular o ciclo de trabalho do nó sensor, onde foi
medido o tempo que o nó sensor permanece ativo antes de hibernar. Os resultados dos experi-
mentos apresentados são relativos ao sensor de movimento, no qual o nó sensor sai do estado
de hibernação imediatamente após o módulo sofrer qualquer tipo de alteração no estado de re-
pouso. O experimento é apresentado no apêndice B, onde o nó sensor, inicialmente em estado
de dormência, gastou 159, 99 ms para acordar, ler as informações dos sensores, processar a
informação, ligar o rádio XBee e enviar a informação para o rádio. Esse resultado é relativo
a uma taxa de transmissão entre o microcontrolador e o rádio XBee de 57600 bps, como pode
ser observado na tabela 11. Após esta etapa, o rádio realiza a transmissão dos dados para o nó
roteador mais próximo, gastando τs segundos, voltando a hibernar após a transmissão.
η
T = τe + τs + ∑ τr (3)
i=0
Para uma rede com 10 enlaces, que é o máximo recomendado pelo fabricante do rádio
XBee, o tempo que o nó coordenador leva para receber informações sobre um evento sensoreado
80
pelo nó sensor é de 241, 13 ms, como pode ser observado na equação (5), sendo um enlace entre
o nó sensor e o nó roteador pai e outros nove enlaces até o nó coordenador.
9
T = 159, 99 ms + 9, 14 ms + ∑ 8 ms = 241, 13 ms (5)
i=0
A vazão da transmissão de dados de 25 kbps entre roteadores permite que sejam transmi-
tidas as informações de 130 nós sensores por segundo, com cada nó sensor enviando um pacote
de informações com um tamanho de 24 bytes. Com um tamanho de 14 bytes, a quantidade
de transmissões entre roteadores é calculada em 223 transmissões por segundo. O nó roteador
permite 187 transmissões por segundo de nós sensores, para informações com o tamanho de
14 bytes, e de 109 transmissões por segundo quando o tamanho do pacote é de 24 bytes.
Os resultados mostram que, tanto com um enlace quanto com dez enlaces entre o nó
sensor e o nó coordenador, o tempo de resposta a um evento foi inferior a um segundo, permi-
tindo a aplicação da RSSF para o monitoramento de equipamentos eletrônicos. Segundo (DIGI,
2009a), cada nó roteador XBee permite a conexão de até 12 nós sensores e o nó coordenador
permite a conexão de até 10 nós sensores, ficando abaixo do limite de 109 transmissões do nó
sensor para o nó roteador ou coordenador. A especificação do rádio XBee, no entanto, não limita
a quantidade de conexões entre nós roteadores e entre os nós roteadores e o nó coordenador.
08/07/2011 (e1 = R$ 2,23), com frete incluso para entrega em Belo Horizonte. Por serem pro-
dutos importados, os produtos estão sujeitos a um imposto de importação de 60% sobre o valor
do produto e frete, totalizando R$ 231,92. O orçamento pode ser visualizado na tabela 6.
REFERÊNCIAS
ARAUJO, R. B. de; VILLAS, L.; BOUKERCHE, A. Uma solução de QoS com processamento
centrado para redes de atuadores e sensores sem fio. In: SIMPÓSIO BRASILEIRO DE REDES
DE COMPUTADORES E SISTEMAS DISTRIBUÍDOS, 25, 2007, Belém. XXV Simpósio
Brasileiro de Redes de Computadores e Sistemas Distribuídos. Belém: SBRC, 2007.
BERGMANN, N. W.; WALLACE, M.; CALIA, E. Low cost prototyping system for sensor
networks. In: INTELLIGENT SENSORS, SENSOR NETWORKS AND INTORMATION
PROCESSING INTERNATIONAL CONFERENCE, 6, 2010, Melbourne. Proceedings of
Sixth Int Intelligent Sensors, Sensor Networks and Information Processing. Melbourne:
ISSNIP, 2010. p. 19-24
BIGNELL, J.; DONOVAN, R. Eletrônica Digital - Lógica Sequencial. 3. ed. São Paulo:
Makron Books, 1995.
HADIM, S.; MOHAMED, N. Middleware for wireless sensor networks: A survey. In:
INTERNATIONAL CONFERENCE COMMUNICATION SYSTEM SOFTWARE AND
MIDDLEWARE, 1, 2006. Proceedings of First International Conference Communication
System Software and Middleware. Washington: IEEE, 2006. p. 1-7
HUANG, C.-P. Zigbee wireless network application research case study within taiwan
university campus. In: INTERNATIONAL CONFERENCE ON MACHINE LEARNING
AND CYBERNETICS, 2009, Hebei. Proceedings of International Conference on Machine
Learning and Cybernetics. Washington: IEEE, 2009
KAASINEN, E.; TUOMISTO, T.; VALKKYNEN, P. Ambient functionality: use cases. In:
CONFERENCE ON SMART OBJECTS AND AMBIENT INTELLIGENCE. Proceedings of
the 2005 Joint Conference on Smart Objects and Ambient Intelligence. New York: ACM,
2005. ISBN 1-59593-304-2.
KAWAHARA, Y. et al. Design and implementation of a sensor network node for ubiquitous
computing environment. In: VEHICULAR TECHNOLOGY CONFERENCE. Proceedings of
58th Vehicular Technology Conference, 2003. ISSN 1090-3038.
KOHVAKKA, M. et al. Performance analysis of IEEE 802.15.4 and zigbee for large-
scale wireless sensor network applications. In: INTERNATIONAL WORKSHOP ON
PERFORMANCE EVALUATION OF WIRELESS AD HOC, SENSOR AND UBIQUITOUS
NETWORKS. Proceedings of the 3rd ACM international workshop on Performance
evaluation of wireless ad hoc, sensor and ubiquitous networks. New York: ACM, 2006. p.
48–57.
LEE, H.-R.; MOON, I.-Y. A study on IEEE 802.15.4 based factory automation
system in wireless network. In: INTERNATIONAL CONFERENCE ON ADVANCED
COMMUNICATION TECHNOLOGY. Proceedings of 11th International Conference on
Advanced Communication Technology. Phoenix Park, Coréia do Sul: IEEE, 2009. v. 01, p.
851–854.
87
LIN, S.; LIU, J.; FANG, Y. Zigbee based wireless sensor networks and its applications in
industrial. In: INTERNATIONAL CONFERENCE ON AUTOMATION AND LOGISTICS.
Proceedings of 2007 IEEE International Conference on Automation and Logistics. [S.l.:
s.n.], 2007. p. 1979–1983.
PARK, S.; SAVVIDES, A.; SRIVASTAVA, M. Battery capacity measurement and analysis
using lithium coin cell battery. In: INTERNATIONAL SYMPOSIUM ON LOW POWER
ELECTRONICS AND DESIGN. Proceedings of the 2001 International Symposium on
Low Power Electronics and Design. New York: ACM, 2001. ISBN 1-58113-371-5.
SUN, J. et al. Research on routing protocols based on zigbee network. In: INTERNATIONAL
CONFERENCE ON INTELLIGENT INFORMATION HIDING AND MULTIMEDIA
SIGNAL PROCESSING. Proceedings of Third International Conference on Intelligent
Information Hiding and Multimedia Signal Processing IIHMSP 2007. Kaohsiung:IEEE,
2007. v. 1, p. 639–642.
WEISER, M. The computer for the 21st century. Scientific American, v. 265, n. 3, p.
94–104, 1991.
YARZA, M.; GASCON, D. How to Save Energy in the WSN Sleeping the Motes. Disponível
em: <http://www.sensor-networks.org>. Acesso em: 03 set. 2008.
YUSSOFF, Y. et al. Development of a pic-based wireless sensor node utilizing xbee technology.
In: INTERNATIONAL INFORMATION MANAGEMENT AND ENGINEERING
CONFERENCE. Proceedings of 2nd IEEE International Information Management and
Engineering Conference. Chengdu, China: IEEE, 2010. p. 116–120.
ZUCATTO, F. L. et al. Zigbee for building control wireless sensor networks. In:
INTERNATIONAL MICROWAVE AND OPTOELECTRONICS CONFERENCE.
Proceedings of SBMO/IEEE MTT-S International Microwave and Optoelectronics
Conference IMOC 2007. Salvador: IEEE, 2007. p. 511–515.
89
Tabela 10: Rádio XBee - Comandos de Interface Serial, E/S, Dormência e Execução
O cálculo do duty cycle (DC) é dado pelo tempo em que o módulo está ativo (τ) dividido
pelo tempo total do ciclo de vida (T), que é composto pela duração do tempo em que o módulo
está ativo somado à duração do tempo em que o módulo está em estado dormência, como pode
ser visto na fórmula 1. O microcontrolador pode trabalhar com taxas de transmissão entre
1200 bps e 115200 bps, mas aumentar essa taxa aumenta a quantidade de erros de transmissão
e em contrapartida, diminuir a taxa de transmissão aumenta o tempo que o nó sensor deve ficar
ativo, e, consequentemente, aumenta o consumo de energia da rede.
τ
DC = × 100% (1)
T
Inicialmente, foi realizado um experimento para medir o tempo que o módulo sensor
leva para sair do modo de hibernação, ler as portas do microcontrolador, verificar se ocorreu
alteração no nível de tensão da bateria, enviar o pacote de dados e voltar ao modo de hibernação.
Os resultados, vistos na figura 1, retratam que o aumento da taxa de transmissão diminui o
tempo de atividade do módulo sensor. A velocidade escolhida para a comunicação entre o
microcontrolador e o rádio de comunicação nos testes subsequentes foi de 57600 bps, o que
significa um aumento de 20,86% em relação à velocidade configurada por padrão nos rádios
XBee de 9600 bps. Quando configurado a 115200 bps ocorreram alguns erros de transmissão
de dados, motivo pelo qual essa velocidade não foi utilizada.
O duty cycle é variável, de acordo com a variação na medição dos sensores. Conforme
a velocidade de transmissão, o tempo de atividade τ do módulo varia, variando consequente-
mente o duty cycle. Na tabela 11 são mostrados os resultados da relação entre a velocidade de
93
Com a taxa de transmissão entre o rádio e o microcontrolador configurada para 57600 bps,
o nó sensor demora 159, 99 ms para sair do estado de hibernação, ler os dados dos sensores, pro-
cessar as informações capturadas, ligar o rádio XBee, enviar as informações, desligar o rádio
XBee e voltar à hibernação. Quando o nó sensor está configurado para permanecer em hiber-
nação por 2 segundos, o duty cycle é de 7,41%. Para 4 segundos, 3,85%, configurado em 8
segundos, 1,96% e na configuração de 24 segundos de hibernação, o duty cycle é de 0,65%.
94
Para poder desenvolver placa Modulino, foi necessário realizar um mapeamento das
portas do Arduino, onde a aplicação para controle do nó sensor foi desenvolvida, para os pinos
do microcontrolador ATMega328, devido ao endereçamento das portas utilizado pelo algoritmo
dos nós sensores. O mapeamento inclui a porta utilizada no Arduino, o pino utilizado no micro-
controlador ATMega 328 e a função nele desempenhada, como pode ser observado na tabela
12.
Tabela 12: Mapeamento das Portas do Arduino para os Pinos do ATMega 328
Porta do Arduino Pino do ATMega 328 Função no ATMega 328
Porta Digital 0 / RX Pino 2 PD0 / RXD
Porta Digital 1 / TX Pino 3 PD1 / TXD
Porta Digital 2 / INT0 Pino 4 PD2 / INT0
Porta Digital 3 / INT1 Pino 5 PD3 / INT1
Porta Digital 4 Pino 6 PD4
Porta Digital 5 Pino 11 PD5
Porta Digital 6 Pino 12 PD6
Porta Digital 7 Pino 13 PD7
Porta Digital 8 Pino 14 PB0
Porta Digital 9 Pino 15 PB1
Porta Digital 10 Pino 16 PB2
Porta Digital 11 Pino 17 PB3
Porta Digital 12 Pino 18 PB4
Porta Digital 13 Pino 19 PB5
Porta Analógica 0 Pino 23 PC0
Porta Analógica 1 Pino 24 PC1
Porta Analógica 2 Pino 25 PC2
Porta Analógica 3 Pino 26 PC3
Porta Analógica 4 Pino 27 PC4
Porta Analógica 5 Pino 28 PC5
Fonte: Elaborado pelo autor
95
A montagem dos nós sensores, a configuração dos rádios XBee e a programação do mi-
crocontrolador, para os experimentos iniciais, foi extremamente fácil, do ponto de vista técnico.
Porém, ao realizar os primeiros experimentos, foi constatado que o nó coordenador recebia as
informações em uma ordem pré-determinada pelo fabricante e, nessa informação, não constava
qual o nó que estava enviando os dados sensoreados.
Devido a este problema, foi necessário estudar os diagramas esquemáticos das placas
Arduino e XBee Shield, onde foi constatado que alguns componentes dessas placas consumiam
energia desnecessariamente e que, se retirados, não causariam nenhum impacto no nó sensor.
Foram adquiridos componentes para a montagem de um novo nó sensor, com o nome de Mo-
dulino, adaptando o Arduino às necessidades da aplicação de monitoramento de equipamentos
eletrônicos. O nó sensor Modulino permitiu atender aos requisitos da RSSF proposta, que, em
conjunto com os algoritmos propostos, permitiu o aumento do tempo de vida da rede em mais
de 500% em relação ao Arduino. Foi possível reduzir a quantidade de dados transmitidos pela
rede e também diminuir o custo de um nó sensor.
Pontos Positivos
Pontos Negativos