1
UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO
CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO
Sérgio Aurélio Ferreira Soares
Rede de Sensores Sem Fio Para Localização e
Monitoramento de Pequenos Ruminantes
Juazeiro – BA
2012
2
UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO
CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO
Sérgio Aurélio Ferreira Soares
Rede de Sensores Sem Fio Para Localização e Monitoramento de
Pequenos Ruminantes
Trabalho de conclusão de curso apresentado à
Universidade Federal do Vale do São Francisco –
UNIVASF, campus Juazeiro–BA, como requisito
parcial para obtenção do título de Engenheiro de
Computação.
Orientador: Professor Dsc. Brauliro Gonçalves Leal
Co-orientador: Professora Dsc. Silvia Helena Nogueira Turco
Juazeiro – BA
2012
3
S676r
Soares, Sérgio Aurélio Ferreira.
Rede de sensores sem fio para localização e monitoramento de
pequenos ruminantes/ Sérgio Aurélio Ferreira Soares. –- Juazeiro-BA,
2012.
XIII; 79f. : il. ; 29 cm.
Trabalho de Conclusão de Curso (Graduação em Engenharia de
Computação) - Universidade Federal do Vale do São Francisco,
Juazeiro-BA, 2012.
Orientador (a): Prof. Dsc. Brauliro Gonçalves Leal
1. Sistemas de comunicação sem fio 2. Rastreamento de animal.
3. Sensoriamento Remoto. I. Título. II. Leal, Brauliro Gonçalves. III.
Universidade Federal do Vale do São Francisco
CDD 621.3821
Ficha catalográfica elaborada pelo Sistema Integrado de Biblioteca SIBI/UNIVASF
Bibliotecário: Renato Marques Alves
4
UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO
CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO
FOLHA DE APROVAÇÃO
Sérgio Aurélio Ferreira Soares
Rede de Sensores Sem Fio Para Localização e
Monitoramento de Pequenos Ruminantes
Trabalho de Conclusão de Curso apresentado como requisito parcial
para obtenção do título de Engenheiro de Computação, pela
Universidade Federal do Vale do São Francisco.
__________________________________________________________
Brauliro Gonçalves Leal, Doutor, Universidade Federal do Vale do São Francisco
__________________________________________________________
Silvia Helena Nogueira Turco, Doutora, Universidade Federal do Vale do São Francisco
__________________________________________________________
Fabrício Braga Soares de Carvalho, Mestre, Universidade Federal do Vale do São Francisco
__________________________________________________________
Ricardo Argenton Ramos, Doutor, Universidade Federal do Vale do São Francisco
Aprovado pelo Colegiado de Engenharia da Computação em
/
/
5
Dedico essa conquista a minha mãe.
6
AGRADECIMENTOS
Agradeço a Deus pela vida e por ser meu porto seguro em momentos de dificuldade.
A minha querida mãe e melhor amiga Lucilene, pelo amor, preocupação, apoio
incondicional e sabedoria. Por me ensinar através do seu exemplo, a ser forte e lutar
pelos meus objetivos respeitando e ajudando o próximo.
Ao meu pai Sérgio pelo amor e por despertar em mim o interesse pela computação.
Aos meus familiares, em especial a minha irmã Aryadne e meu primo Anderson, que
indiretamente contribuíram para o sucesso deste projeto.
Ao meu orientador, amigo e principal fonte de inspiração professor Brauliro Leal,
pelos ensinamentos, confiança, lealdade e esforços dedicados.
Ao meu grande amigo Bruno Pinho, pela amizade, incentivo e colaboração técnica
essencial neste trabalho.
Aos amigos de faculdade em especial a Rodrigo Bacurau, Diego Amando, Manoel
Alexandre, Felipe Pinheiro, Ícaro Gonzalez e Daniel Costa.
Ao professor Fabrício Braga pelo apoio, confiança e amizade.
Aos meus amigos de infância.
Aos meus irmãos DeMolays.
Aos professores Ricardo Ramos, Marcus Ramos, Jadsonlee Sá, Anderson Perez,
Rômulo Calado, Marcelo Linder, Silvia Turco e Rodrigo Rimoldi.
A todos aqueles que direta ou indiretamente contribuíram para o êxito deste
trabalho.
7
RESUMO
As Redes de Sensores Sem Fio constituem uma tecnologia emergente, que tem
proporcionado um crescimento significativo das perspectivas industriais e científicas
em todo o mundo. A capacidade de monitorar e controlar o ambiente, aliada a um
baixo consumo de energia, permite a aplicação da tecnologia em diversos setores
da sociedade. No entanto, a utilização de novas tecnologias principalmente no setor
agropecuário ainda é bastante tímida. Dessa forma, neste trabalho é apresentado o
processo de desenvolvimento de um sistema composto por hardware e software
capaz de monitorar animais utilizando uma Rede de Sensores sem Fio baseada no
protocolo ZigBee 802.15.4. Cada animal utiliza um colar com um nó sensor sem fio
responsável por medir a temperatura ambiente, umidade relativa e frequência
cardíaca do animal, bem como estimar a sua localização, através de métodos
baseados na intensidade do sinal recebido (RSSI). O objetivo do trabalho é servir
como ferramenta facilitadora no estudo do efeito de variáveis meteorológicas na
qualidade de vida e produção dos animais, bem como na análise de hábitos de
pastejo e alterações de comportamento dos animais através do rastreamento da sua
localização. Adicionalmente, espera-se que a ferramenta possa auxiliar a análise e
projeto de novos algoritmos para a localização por RSSI e detecção automática de
alterações comportamentais e fisiológicas dos animais.
Palavras-chave: XBee, ZigBee 802.15.4, Frequência Cardíaca, Umidade Relativa,
Temperatura,
Rastreamento
por
Bioclimatologia, Zootecnia de Precisão.
RSSI,
Ambiência,
Conforto
Térmico,
8
ABSTRACT
The Wireless Sensor Networks are an emerging technology that has provided a
significant growth of industrial and scientific perspectives in the world. The ability to
monitor and to control the environment with low power hardware makes it applicable
to a wide variety of society needs. However, the use of new technologies, especially
in the agricultural sector, is not so common. Thus, this work presents a proposal to
develop a system composed of hardware and software for monitoring and tracking
goats using a Wireless Sensor Network based on 802.15.4 ZigBee protocol. Each
animal wears a collar with a wireless sensor node that estimates the animal's
location, using methods based on received signal strength (RSSI), and measures his
temperature, relative humidity and heart rate. The goal of this work is to be a useful
tool for studying the effect of meteorological variables on quality of life and livestock
production as well as the analysis of grazing habits and changes in animal behavior
by tracking their position. Additionally is expected that this tool can help analyze and
design new algorithms for RSSI tracking and automatic detection of behavioral or
physiological changes in the animals.
Keywords: XBee, Zigbee 802.15.4, Heart Rate, Relative Humidity, Temperature,
RSSI Tracking, Environment, Thermal Comfort, Bioclimatology, Animal Science
Precision.
9
Lista de Figuras
Figura 1 - Ilustração de um Animal Equipado com um Nó Sensor ........................................................ 15
Figura 2 - Visão Geral do Sistema de Localização de Monitoramento Baseado em RSSF .................... 16
Figura 3 – Descrição de Alto Nível de um Nó Sensor ............................................................................ 18
Figura 4 – Visão Geral da Organização e Arquitetura de Uma RSSF ..................................................... 19
Figura 5 - Comparação de Tecnologias Sem Fio. (FONTE: GISLASON, 2008) ........................................ 20
Figura 6 – Aplicações do padrão ZigBee (ADAPTADO: GISLASON, 2008).............................................. 21
Figura 7 – Diagrama da Arquitetura e Pilha de Protocolos ZigBee. (FONTE: BARONTI et al., 2007) .... 22
Figura 8 - Topologias de Redes ZigBee .................................................................................................. 24
Figura 9 – Principais Modelos de Módulos XBee PRO da Digi International ........................................ 26
Figura 10 - Estrutura Geral de um Quadro (frame) API. (Fonte: DIGI, 2011). ....................................... 28
Figura 11 - Tela do Software X-CTU. Utilizado para Configuração de Módulos XBee........................... 30
Figura 12 - Sintaxe de Comandos AT no Modo de Operação Transparente ......................................... 31
Figura 13 - Exemplos de Execução de Comandos AT no Modo Transparente ...................................... 32
Figura 14 - Troca de Pacotes API Para a Execução Local de Comandos AT .......................................... 33
Figura 15 - Troca de Pacotes API Para a Execução Remota de Comandos AT ...................................... 35
Figura 16 - Troca de Pacotes Para a Transmissão de Dados ................................................................. 38
Figura 17 – Algoritmo de Lateração Para Localização de Nós Móveis .................................................. 49
Figura 18 - Algoritmo do Mínimo Máximo Para a Localização de Nós Móveis ..................................... 50
Figura 19 – Gráfico de Participação Percentual das Regiões Brasileiras no Rebanho Nacional ........... 52
Figura 20 – Gráfico de Participação Percentual dos Cinco Maiores Produtores de Caprinos no Brasil 53
Figura 21 - Visão Geral do Software em Desenvolvimento................................................................... 57
Figura 24 - Diagrama Entidade Relacionamento................................................................................... 59
Figura 25 - Diagrama de Pinos do Módulo XBee Pro Series 2 ............................................................... 61
Figura 26 - Estação Coordenadora da Rede .......................................................................................... 62
Figura 27 - Esquemático do Circuito de uma Estação de Referência .................................................... 63
Figura 28 - Diagrama de Blocos de Uma Estação Móvel ....................................................................... 63
Figura 29 - Esquemático do Circuito da Estação Móvel ........................................................................ 64
Figura 30 - a) Sensor de umidade Honeywell HIH-5031. b) Curva Tensão (Vdc) X Umidade Relativa
(%UR) a 25°C e Tensão de Alimentação 3,3V Vdc. ................................................................................ 65
Figura 31 – Encapsulamento: a) TO-92 e b) SOIC; Diagrama de pinos: c) TO-92 e d) SOIC. ................. 66
Figura 32 - a) Placa Receptora de Frequência Cardíaca Polar RE07 e b) Faixa Transmissora T34 ........ 66
Figura 33 – Imagem Real e Diagrama de Pinos do PIC18LF4620. ......................................................... 67
Figura 34 - Desenvolvimento da Placa de Circuito Impresso Para a Estação Móvel ............................ 70
Figura 22 - Tela do Software. Aba Banco de Dados. ............................................................................. 71
Figura 23 - Tela do Software. Aba Amostragem. .................................................................................. 71
Figura 35 - Experimentação em Animais. a) Animal equipado com o sistema; b) Circuito alimentado
por uma bateria de 9 volts; c) Hardware encapsulado em uma caixa de plástico; d) Colar para fixar o
equipamento no animal; e) Computador com a estação coordenadora e software em funcionamento;
e f) Animal utilizado no experimento e autor do projeto. .................................................................... 73
10
Lista de Tabelas
Tabela 1 - Especificações da Camada Física .......................................................................................... 23
Tabela 2 - Estrutura de Um Pacote API Para Comando AT Local (0x08) ............................................... 33
Tabela 3 - Estrutura de Um Pacote API de Resposta a um Comando AT Local (0x88) .......................... 34
Tabela 4 - Estrutura de Um Pacote API Para Comando AT Remoto (0x17) .......................................... 36
Tabela 5 - Estrutura de Um Pacote API de Resposta a um Comando AT Remoto (0x97) ..................... 37
Tabela 6 - Estrutura de Um Pacote API de Requisição de Transmissão (0x10) ..................................... 38
Tabela 7 - Estrutura de Um Pacote API de Recebimento de Dados (0x90)........................................... 39
Tabela 8 - Estrutura de Um Pacote API de Status de Transmissão(0x8B) ............................................. 40
Tabela 9 - Pinos Configuráveis (GPIO) no Módulo XBee PRO S2 (Adaptado: DIGI, 2011). ................... 41
Tabela 10 – Parâmetros para Comandos AT de Configuração dos Pinos GPIO (Adaptado: DIGI, 2011).
............................................................................................................................................................... 42
Tabela 11 – Organização de Uma Amostra de Canais Analógicos e Digitais de Um Módulo XBee.
(Adaptado: DIGI, 2011).......................................................................................................................... 43
Tabela 12 - Exemplo de Uma Amostra de Canais Analógicos e Digitais (Adaptado: DIGI, 2011). ........ 44
Tabela 13 - Comparação Entre os Modos de Operação API e Transparente (ADAPTADO: DIGI, 2011).
............................................................................................................................................................... 45
Tabela 14 - Ranking dos Maiores Criadores de Caprinos do Mundo. (Fonte: FAO, dados de 2010). .. 52
Tabela 15 - Características do Módulo XBee PRO Series 2 da Digi ....................................................... 60
Tabela 16 - Principais Características do Microcontrolador PIC18LF4620............................................ 67
11
Lista de Abreviaturas
API - Application Programming Interface
APL - Application Layer
APS - Application SubLayer
BPSK - Binary Phase Shift Keying
CSMA-CA - Carrier Sense Multiple Access Collision Avoidance
DER - Diagrama Entidade Relacionamento
DHCP - Dynamic Host Configuration Protocol
DSSS - Direct Sequence Spread-Spectrum
EC - Estação Coordenadora
EM - Estações Móveis
ER - Estações de Referência
FAWC - Farm Animal Welfare Council
FC - Frequência cardíaca
FFDs - Full Function Devices
GPIO - General Purpose Input/Output
GPS - Global Positioning System
GSM - Global System for Mobile Communications
IEEE - Institute of Electrical and Electronics Engineers
LED - Light-emitting diode
LR-PAN, Low-Rate Wireless Personal Area Networks
MAC - Medium Access Control
NWK - Network Layer
O-QPSK - Offset Quadrature Phase Shift Keying
OSI - Open Systems Interconnection
PWM – Pulse Width Modulation
RFDs - Reduced Function Devices
RSSF - Redes de Sensores Sem Fio
RSSI - Received Strength Signal Indication
SBC - Sociedade Brasileira de Computação
SGBD - Sistema Gerenciador de Banco de Dados
TA - Temperatura do ar
TCP/IP - Transmission Control Protocol/Internet Protocol
UR - Umidade relativa
WSN - Wireless Sensor Networks
ZDO - ZigBee Device Objects
SMD – Surface Mounted Device
12
Sumário
1.
INTRODUÇÃO .............................................................................................................................. 14
1.1.
1.2.
2.
OBJETIVO ................................................................................................................................................ 16
OBJETIVOS ESPECÍFICOS ............................................................................................................................. 17
REVISÃO BIBLIOGRÁFICA ......................................................................................................... 18
2.1.
REDE DE SENSORES SEM FIO ....................................................................................................................... 18
™
2.2.
O PADRÃO ZIGBEE /IEEE 802.15.4 ........................................................................................................... 19
2.2.1.
Surgimento .................................................................................................................................. 19
2.2.2.
Organização e Arquitetura do Padrão ZigBee/IEEE 802.15.4...................................................... 22
2.3.
DISPOSITIVOS XBEE ................................................................................................................................... 24
2.3.1.
Modos de Operação do XBee ...................................................................................................... 27
2.3.1.1.
2.3.1.2.
2.3.2.
Modo de Operação Transparente (AT)....................................................................................................27
Modo de Operação API ...........................................................................................................................28
Configuração dos Módulos XBee ................................................................................................. 29
2.3.2.1.
Comandos AT no Modo de Operação Transparente (AT) .......................................................................30
2.3.2.2.
Comandos AT no Modo de Operação API ...............................................................................................32
2.3.2.2.1. Comandos AT Locais ..........................................................................................................................32
2.3.2.2.2. Comandos AT Remotos ......................................................................................................................35
2.3.3.
2.3.4.
2.3.4.1.
Transmissão de Dados no Modo de Operação API ...................................................................... 38
Entradas/Saídas Digitais e Analógicas nos Módulos XBee .......................................................... 41
Amostragem de Entradas Analógicas e Digitais ......................................................................................42
2.3.5.
Comparação Entre os Modos de Operação API e Transparente (AT) .......................................... 44
2.4.
LOCALIZAÇÃO DE NÓS MÓVEIS EM REDES DE SENSORES SEM FIO ....................................................................... 46
2.4.1.
Cálculo da Distância Relativa Entre Nós (Ranging) ..................................................................... 47
2.4.2.
Estimação da Localização dos Nós .............................................................................................. 48
2.4.2.1.
2.4.2.2.
Lateração .................................................................................................................................................49
Algoritmo do Mínimo Máximo ................................................................................................................50
2.4.3.
Refinamento ................................................................................................................................ 51
2.5.
CAPRINOCULTURA NO BRASIL ...................................................................................................................... 51
2.6.
BEM-ESTAR ANIMAL, BIOCLIMATOLOGIA E ZOOTECNIA DE PRECISÃO .................................................................. 53
2.6.1.
Influência de Variáveis Meteorológicas na Produção de Caprinos.............................................. 54
3.
MATERIAIS E MÉTODOS ............................................................................................................ 57
3.1.
SOFTWARE .............................................................................................................................................. 57
3.1.1.
Interface Gráfica do Software ..................................................................................................... 58
3.1.2.
Camada de Processamento de Dados ......................................................................................... 58
3.1.2.1.
Banco de Dados .......................................................................................................................................58
3.1.3.
Montagem e Gerenciamento de Pacotes de Rede API XBee ....................................................... 59
3.1.4.
Comunicação Serial ..................................................................................................................... 59
3.2.
HARDWARE ............................................................................................................................................. 60
3.2.1.
Características dos Módulos XBee PRO Series 2 .......................................................................... 60
3.2.2.
Estação Coordenadora (EC) ......................................................................................................... 61
3.2.3.
Estações de Referência (ER) ........................................................................................................ 62
3.2.4.
Estações Móveis (EM).................................................................................................................. 63
3.2.4.1.
3.2.4.2.
3.2.4.3.
3.2.4.4.
4.
Sensor de Umidade Relativa Honeywell HIH-5031..................................................................................64
Sensor de Temperatura ...........................................................................................................................65
Sensor de Frequência Cardíaca ...............................................................................................................66
Microcontrolador PIC 18LF4620 ..............................................................................................................67
RESULTADOS .............................................................................................................................. 69
13
4.1.
4.1.
4.2.
HARDWARE ............................................................................................................................................. 69
SOFTWARE .............................................................................................................................................. 70
EXPERIMENTOS EM ANIMAIS ....................................................................................................................... 72
5.
CONCLUSÕES ............................................................................................................................. 75
6.
REFERÊNCIAS ............................................................................................................................. 77
14
1.
Introdução
As Redes de Sensores Sem Fio (RSSF ou WSN em inglês, Wireless Sensor
Networks) constituem uma tecnologia emergente que tem proporcionado um
crescimento significativo das perspectivas industriais e científicas em todo o mundo.
O avanço da eletrônica tem permitido o desenvolvimento de sensores e
transceptores com consumo de energia e dimensões cada vez menores. Assim, o
uso de sensores sem fio organizados em rede com o objetivo de monitorar e
controlar um determinado ambiente, é uma forte tendência para os próximos anos.
No Brasil, a Sociedade Brasileira de Computação (SBC) identificou a
tecnologia como um dos principais desafios da pesquisa em computação no período
de 2006 a 2016 (SBC, 2006). Outros países, como Reino Unido e Estados Unidos
da América, também reconheceram as RSSF como uma das tecnologias mais
importantes para os próximos anos (HOPE e MILNER, 2004; BUTLER, 2006).
O uso de redes de sensores na agropecuária ainda é tímido. No entanto, o
potencial de aplicação da tecnologia neste setor é alto. No trabalho realizado por
WARK et al. 2007, por exemplo, é apresentado um sistema computacional baseado
em RSSF para medir o estado de um sistema complexo, composto por clima, solo,
pasto e animais (gado). Cada animal é equipado com um nó sensor que contém um
sistema de localização por GPS. Dessa forma, é possível, por exemplo, monitorar o
comportamento dos animais de acordo com as variações climáticas do ambiente e
seus hábitos de pastejo.
Além do comportamento diante de variações climáticas e hábitos de pastejo,
é interessante avaliar o bem-estar dos animais, que consiste basicamente em
mensurar a influência do ambiente sobre a saúde dos mesmos. Para NÓBREGA et
al. 2011, o bem-estar animal é fator determinante quando se deseja a maximização
da produção.
Para avaliar a influência do ambiente é necessário analisar as respostas
fisiológicas apresentadas pelos animais às variações do ambiente externo. Para
tanto, alguns indicadores podem ser utilizados, como, por exemplo, frequência
respiratória, frequência cardíaca, temperatura retal, sudorese e outros (SOUZA et
al., 2005). A escolha dos pequenos ruminantes como objeto de estudo é devida a
sua popularidade no Nordeste brasileiro, que atualmente concentra 90,8% do
15
rebanho nacional de caprinos. Mais informações sobre a caprinocultura no Brasil são
apresentadas na seção 2.5.
Neste trabalho é proposto um sistema completo para localização e
monitoramento de pequenos ruminantes baseado em uma rede de sensores sem fio
composta por módulos XBee/ZigBee 802.15.4. Cada animal é equipado com um
colar que possui um nó sensor.
O sistema proposto pode ser dividido em duas partes: subsistema de
monitoramento e subsistema de localização. O primeiro é responsável por medir e
armazenar dados de três variáveis: temperatura ambiente, umidade do ar e
frequência cardíaca do animal. Essas variáveis são medidas individualmente, em
cada animal. Logo, é possível obter dados mais precisos, uma vez que animais que
estejam sob a sombra de uma árvore, por exemplo, podem experimentar uma
sensação térmica diferente daqueles que estão sob o sol. A Figura 1 ilustra um
animal com o equipamento de monitoramento descrito.
Figura 1 - Ilustração de um Animal Equipado com um Nó Sensor
Já o subsistema de localização é responsável por determinar as coordenadas
geográficas de cada animal. Neste trabalho, com o objetivo de reduzir custos, optouse pelo uso de métodos de localização baseados na intensidade do sinal recebido
pelos transceptores (RSSI, Received Signal Strength Indicator). Assim, evita-se a
necessidade de uso de módulos GPS (Global Positioning System).
Os algoritmos de localização utilizados calculam a intensidade do sinal entre
transceptores instalados nos animais e transceptores instalados em quatro torres
fixas de referência (com coordenadas conhecidas) para estimar a localização de
16
cada animal. Dessa forma, é possível estimar as coordenadas do animal utilizando,
por exemplo, o método da lateração, como é discutido na seção 2.4. A Figura 2
apresenta uma visão geral do sistema proposto.
Figura 2 - Visão Geral do Sistema de Localização de Monitoramento Baseado em RSSF
1.1. Objetivo
Desenvolver um sistema composto por uma rede de sensores sem fio capaz
de auxiliar a análise do bem-estar animal por meio da medição de variáveis
meteorológicas (temperatura ambiente e umidade do ar) e da resposta fisiológica
fornecida pelo animal sob a forma de variações da frequência cardíaca. Além do
monitoramento dessas variáveis, o sistema deve ser capaz de estimar a localização
de cada animal, de forma a facilitar a identificação de hábitos de pastejo e alterações
comportamentais.
Os dados medidos pelos sensores e as coordenadas dos animais calculadas
pelo sistema devem ser armazenados em um banco de dados para que possam ser
consultados e analisados posteriormente.
17
1.2. Objetivos Específicos

Montagem e configuração de uma rede de sensores sem fio, baseada em
módulos XBee/ZigBee 802.15.4, para a aquisição de dados dos sensores
instalados nos animais;

Estudo e desenvolvimento de uma metodologia para a localização de nós
sensores utilizando a intensidade do sinal (RSSI) fornecida pelos módulos
XBee;

Projeto dos circuitos de condicionamento de sinal e métodos para a leitura
dos sensores de temperatura, umidade e frequência cardíaca;

Desenvolvimento do firmware a ser embarcado no microcontrolador
acoplado no animal para estimar a localização do nó sensor móvel e
realizar a leitura dos sensores;

Desenvolvimento de um software de aplicação composto por um banco de
dados e uma interface gráfica, que permita a visualização das medições
dos sensores em tempo real e consulta dos dados armazenados;

Desenvolvimento de placas de circuito impresso para os circuitos
projetados.
18
2.
Revisão Bibliográfica
2.1. Rede de Sensores Sem Fio
Uma RSSF pode ser definida como uma rede composta por nós sensores
que, cooperativamente, monitoram e podem controlar o ambiente. Dessa forma,
constituem uma tecnologia emergente que habilita uma funcionalidade sem
precedentes de interação entre pessoas, computadores e o ambiente à sua volta.
(BURATTI et al., 2009; LOUREIRO, 2006).
Os nós sensores, em uma RSSF típica, são capazes de medir variáveis em
um determinado ambiente, por meio de sensores ou transdutores, e transmitir esses
dados por meio de ondas eletromagnéticas para outras estações da rede. Para
tanto, esses nós possuem componentes comuns, tais como transceptor de rádio,
sensores, fonte de energia e microcontrolador. Opcionalmente, nós sensores,
podem incluir módulos de localização, geração de energia e atuadores. Na Figura 3
é apresentada uma descrição de alto nível de um nó sensor genérico.
Figura 3 – Descrição de Alto Nível de um Nó Sensor
Uma RSSF possui um nó sorvedouro (sink node) responsável por receber os
dados das leituras realizadas pelos nós sensores e repassá-las a um computador.
Esse computador possui soluções de software capazes de realizar o gerenciamento
e configuração da RSSF, armazenar os dados recebidos e tomar decisões de
acordo com a interpretação feita sobre esses dados, como, por exemplo, o
acionamento de um atuador. O nó coordenador não necessita estar conectado
diretamente ao computador, essa conexão pode ser feita através de um gateway de
internet, ou algo semelhante.
19
Em geral, os dados recebidos pelo sistema são armazenados em bancos de
dados com o auxílio de um Sistema Gerenciador de Banco de Dados (SGBD).
Adicionalmente, o software pode oferecer ao usuário final a funcionalidade de
acesso ao sistema por meio da Internet, o que demanda o uso de um servidor de
internet. Na Figura 4 é apresentada uma visão geral da arquitetura e organização de
uma RSSF típica.
Figura 4 – Visão Geral da Organização e Arquitetura de Uma RSSF
2.2. O Padrão ZigBee™/IEEE 802.15.4
2.2.1. Surgimento
As redes sem fio estão presentes em todos os lugares. No nosso dia a dia é
comum manusearmos aparelhos eletrônicos que utilizam diversos padrões de rede
sem fio para se comunicar, como WiFi e Bluetooth. Apesar da grande quantidade de
padrões existentes, no ano de 1999 foi identificado um nicho de mercado ainda não
explorado e que motivou a criação do padrão ZigBee™(Figura 5).
20
Figura 5 - Comparação de Tecnologias Sem Fio. (FONTE: GISLASON, 2008)
A maioria das tecnologias existentes até então oferecia altas taxas de
transmissão para um número relativamente pequeno de dispositivos e com um alto
consumo de energia. Nenhuma delas proporcionava uma infraestrutura de rede que
apresentasse as seguintes características:

Formação autônoma de redes com grandes quantidades de dispositivos em
uma grande área de cobertura, em que os dispositivos pudessem se
comunicar de forma confiável e segura por anos, sem a intervenção de um
operador;

Baixo consumo de energia associado a um reduzido custo de infraestrutura,
complexidade e tamanho;

Taxa de transmissão de dados relativamente baixa;

Um protocolo padronizado e aberto que permitisse a interoperabilidade entre
produtos de diferentes fabricantes para um mercado global.
Assim, em 2002 surgiu a ZigBee Alliance com o Slogan: “Wireless Control
That Simply Works” (Controles sem fios que simplesmente funcionam), e atualmente
engloba mais de 225 empresas (GISLASON, 2008). O padrão ZigBee pode ser
encontrado em uma variedade de aplicações em diversos setores da sociedade. A
Figura 6 ilustra as principais áreas de aplicação da tecnologia ZigBee.
21
Figura 6 – Aplicações do padrão ZigBee (ADAPTADO: GISLASON, 2008).
A pesquisa envolvendo RSSF tem avançado de forma significativa nos
últimos anos. No trabalho proposto por YICK et. al (2008) é apresentado um estado
da arte onde é possível observar o rápido crescimento desta área de pesquisa em
relação a um estudo semelhante realizado por AKYLDIZ et al. (2002) seis anos
antes. Isso se deve, principalmente, à popularização do padrão ZigBee.
Na área industrial, SUNG e HSU (2011) demonstraram a viabilidade de uso
do padrão ZigBee num ambiente industrial, visando o monitoramento de grandezas
em tempo real e controle remoto de equipamentos que oferecem risco à saúde do
operador.
Na área médica, apesar de existirem diversas aplicações, como o sistema de
monitoramento médico pessoal proposto por CERNY e PENHAKER (2010), os
avanços ainda encontram alguns desafios como a privacidade, largura de banda,
consumo de energia e outros elencados por ALEMDAR e HERSO (2010).
As RSSF também se destacam na agricultura de precisão uma vez que
permitem um acompanhamento em tempo real de variáveis (como umidade do solo
e temperatura) que podem proporcionar uma melhor qualidade da produção. (WARK
et al., 2007; Kalaivani et al., 2011). No estudo realizado por CARDENASLAILHACAR e DUKES (2010) foi verificado que o manejo da irrigação feito via
sensoriamento da umidade do solo pode resultar em uma economia de até 80% de
água.
22
2.2.2. Organização e Arquitetura do Padrão ZigBee/IEEE 802.15.4
É importante ressaltar a diferença entre os padrões IEEE 802.15.4 e ZigBee.
O padrão IEEE 802.15.4 define as duas camadas de mais baixo nível: a camada
física (PHY, Physical) e de controle de acesso ao meio (MAC, Medium Access
Control) para redes sem fio caracterizadas por possuírem custo e taxa de
transmissão reduzidos (LR-PAN, Low-Rate Wireless Personal Area Networks).
Já o padrão ZigBee, define as cinco camadas de mais alto nível: a camada de
rede (NWK, Network Layer) e a camada de aplicação (APL, Application Layer), que
por sua vez engloba as camadas de Quadros da Aplicação (Application Framework),
de Objetos de Dispositivos ZigBee (ZDO, ZigBee Device Objects) e a subcamada de
suporte a aplicação (APS, Application SubLayer). (BARONTI, 2007). De maneira
geral, neste trabalho iremos utilizar a terminologia ZigBee para tratar de todas as
camadas, incluindo as definidas pelo IEEE 802.15.4. Na Figura 7 é apresentado um
diagrama que ilustra a arquitetura e organização do padrão ZigBee.
Figura 7 – Diagrama da Arquitetura e Pilha de Protocolos ZigBee. (FONTE: BARONTI et al., 2007)
O ZigBee não se encaixa exatamente no modelo OSI de sete camadas, no
entanto possui alguns elementos semelhantes como as camadas PHY, MAC e
NWK. As demais camadas do modelo OSI (transporte, sessão, apresentação e
23
aplicação) estão englobadas nas camadas APS e ZDO do modelo ZigBee.
(GISLASON, 2008).
A camada física (PHY) é responsável, principalmente, por transformar
pacotes de dados digitais em ondas eletromagnéticas que serão transmitidas
através do ar e vice-versa. Paralelamente, também oferece as funcionalidades de
seleção de canais, estimativa da qualidade da transmissão e detecção de canais
disponíveis. Para tanto, suporta três bandas de frequência: 2450 MHz (16 canais,
250 kbps), 915 MHz (10 canais, 40 kbps) e 868 MHz (1 canal, 20 kbps), todas com
espalhamento espectral por sequência direta (DSSS, Direct Sequence SpreadSpectrum).
A modulação do sinal pode ser de dois tipos, O-QPSK (Offset Quadrature
Phase Shift Keying) para a frequência de 2450 MHz ou BPSK (Binary Phase Shift
Keying) para as frequências de 868 e 915 MHz. Para aumentar a confiabilidade, o
ZigBee adota a técnica CSMA-CA (Carrier Sense Multiple Access Collision
Avoidance), responsável por realizar a verificação da disponibilidade do canal antes
de iniciar uma transmissão. (BARONTI, 2007). A Tabela 1 resume as características
especificadas na camada fisica.
Tabela 1 - Especificações da Camada Física
2450 MHz
915 MHz
868 MHz
Máxima taxa de transmissão
250 kbps
40 kbps
20 kbps
Número de canais
16
10
1
Modulação
O-QPSK
BPSK
BPSK
Bits por símbolo
4
1
1
A camada define os Dispositivos de Função Completa (FFDs, Full Function
Devices), operando como roteadores ou coordenadores de rede e Dispositivos de
Função Reduzida (RFDs, Reduced Function Devices) que operam apenas como
dispositivo final. Esta camada também define outras características, incluindo a
identificação da rede (PAN ID), descoberta de rede através de envios de
sinalizações
(beacons)
e
recebimento
de
respostas.
Também
oferece
a
funcionalidade de confirmação de comunicação entre nós e alguns comandos para a
formação de redes. No entanto, a camada MAC não dá suporte a transmissões de
múltiplos saltos.
24
A camada de rede (NWK) é responsável por garantir transmissões de
múltiplos saltos, ou seja, habilita a funcionalidade de formação de redes em malha
(Mesh
Networking).
Esta
característica
inclui
transmissões
em
broadcast,
determinação de rotas de pacotes unicast, bem como a verificação da entrega
confiável destes pacotes. Dessa forma, uma rede ZigBee pode se organizar em
diversas topologias de rede, como ilustra a Figura 8. A camada de rede também
oferece serviços de segurança, incluindo a entrada e saída segura de nós em redes
e a criptografia de dados.
Figura 8 - Topologias de Redes ZigBee
Já a camada de aplicação (APL) e suas subcamadas, são responsáveis por
filtrar pacotes destinados a nós não registrados na rede, fornecer confirmação de
recebimento confiável fim-a-fim, manter tabelas de endereçamento, conexão e
grupos locais, bem como realizar tentativas automáticas de retransmissão quando
não há confirmação de entrega bem sucedida de um pacote. Também são
armazenados nesta camada o estado corrente do nó e suas características de
segurança e agrupamento.
2.3. Dispositivos XBee
Dentre os vários dispositivos de hardware baseados no protocolo ZigBee, um
modelo bastante conhecido é o XBee, atualmente fabricado pela líder de mercado
25
Digi International1, que adquiriu a MaxStream, antiga fabricante deste dispositivo. Os
módulos XBee são compostos, basicamente, por um microcontrolador e um
transceptor. O microcontrolador contém o firmware com a implementação do
protocolo ZigBee e a especificação do comportamento do dispositivo (Coordenador,
Roteador ou Dispositivo Final).
Cada dispositivo possui dois endereços, o MY (16 bits) e o Número Serial (64
bits). O MY é o endereço de rede, variável, e é distribuído automaticamente pelo
coordenador assim que o nó entra na rede. Uma analogia interessante é associar o
endereço MY com o endereço IP nas redes TCP/IP com DHCP, em que cada
máquina recebe um endereço automaticamente. Já o Número Serial é único e
invariável para cada dispositivo fabricado (semelhante ao endereço MAC das placas
de rede Ethernet).
Uma rede formada por dispositivos XBee possui apenas um coordenador,
com endereço de rede (MY) igual a zero. Roteadores e Dispositivos Finais podem
ser utilizados em várias quantidades, de acordo com a necessidade. No entanto,
Dispositivos Finais só se comunicam com Roteadores ou com o Coordenador da
rede. Transmissões broadcast e unicast estão disponíveis. No caso da transmissão
broadcast utiliza-se o endereço de 64 bits de destino igual a 0x000000000000FFFF.
Os módulos XBee são fabricados em diversas versões, que variam de acordo
com o modelo da antena, encapsulamento, frequência de operação e protocolo
utilizado. Na Figura 9 são apresentados os principais modelos.
1
www.digi.com
26
Figura 9 – Principais Modelos de Módulos XBee PRO da Digi International
Nota-se que há uma grande variedade de opções de módulos XBee
disponíveis no mercado, portanto, é interessante considerar alguns aspectos antes
da escolha de um modelo:
a) Frequência de operação e Taxa de Transmissão: os modelos que
operam na frequência de 2,4 GHz oferecem uma taxa de transmissão
maior em relação aos modelos de 900 e 868 MHz, por outro lado possuem
alcance menor. Outro detalhe importante é que em alguns países, como o
Brasil, a banda de frequência de 900 MHz, por exemplo, não é
homologada pela ANATEL para este tipo de aplicação.
b) Alcance X Antena: é importante considerar a relação entre o alcance que
os módulos podem atingir e a antena utilizada. Módulos com antenas on
chip (Figura 9c) proporcionam um menor alcance, no entanto, ocupam um
espaço físico também menor. Já módulos com antenas externas (Figuras
Figura 9b e Figura 9d) proporcionam um alcance maior, todavia ocupam
um grande espaço físico. De forma análoga, os modelos com antenas
Whip (Figura 9a) tentam equalizar essa relação oferecendo alcance e
tamanho intermediários.
27
c) Potência de transmissão X Consumo Energético: os módulos são
fabricados em duas versões, a versão XBee PRO e a XBee. A principal
diferença entre eles é que a potência de transmissão do modelo PRO é
maior. Logo, proporcionam um alcance mais elevado. Por outro lado, o
consumo de potência dos XBee em relação aos XBee PRO é
significativamente menor.
d) Custo: os modelos que possuem antena externa geralmente apresentam
um custo maior, uma vez que é necessário adquirir as antenas ou
conectores separadamente.
e) Complexidade do projeto: dependendo da complexidade do projeto,
projetistas experientes podem utilizar o modelo S2B que possui um
microcontrolador adicional incorporado ao módulo. Isso permite ao
projetista embarcar um firmware próprio que vai interagir com o firmware
do fabricante. Como vantagem, pode-se citar a ampliação da autonomia
do nó sensor, uma vez que decisões pré-programadas podem ser
tomadas automaticamente e localmente, sem a necessidade de um
comando externo. Por outro lado, é necessário, por parte do projetista, um
conhecimento mais aprofundado da tecnologia.
2.3.1. Modos de Operação do XBee
Os módulos XBee podem operar de duas maneiras: no modo Transparente
(AT) e no modo API (Application Programming Interface).
2.3.1.1.
Modo de Operação Transparente (AT)
No modo de operação transparente, o dispositivo atua simplesmente como
um substituto da linha de comunicação serial. Assim, todos os dados que são
recebidos via RS232 no pino de entrada (DIN) são transmitidos via Rádio
Frequência (RF) para o módulo de destino. Da mesma maneira, os dados que
chegam por meio da antena RF são direcionados ao pino de saída (DOUT) (DIGI,
2011).
Nesse modo de operação, os comandos de configuração só podem ser
recebidos localmente, por intermédio da interface serial (RS232), o que impossibilita
28
a configuração e a utilização à distância dos periféricos contidos no XBee (entradas
e saídas digitais, conversores AD, etc). Também não é possível identificar o
endereço de origem de dados recebidos ou receber mensagens de status indicando
o sucesso ou a natureza de uma falha na transmissão.
2.3.1.2.
Modo de Operação API
O modo de operação API (Application Programming Interface) é uma
alternativa ao modo de operação transparente. A API, baseada em quadros
(frames), estende o nível no qual a aplicação pode interagir com os recursos de rede
do módulo. Nesse modo de operação, todos os dados enviados e recebidos pelo
módulo XBee são organizados em pacotes (com formato especificado pelo
fabricante) que definem as operações ou eventos dentro do módulo.
A estrutura geral de um pacote API é apresentada na Figura 10. O primeiro
byte é o delimitador de início, que possui o valor 7E em hexadecimal. Qualquer dado
recebido antes do delimitador de início é descartado. Os bytes 2 e 3 informam o
tamanho do quadro que está sendo recebido. Os bytes 4 a n compõem o quadro de
dados e definem a operação a ser realizada. O último byte contém a soma de
verificação (checksum) do quadro de dados, calculado pela Equação 1 (0xFF –
Somatório dos bytes 4 a n do pacote). Caso o recebimento dos dados ou o valor do
checksum esteja incorreto, um pacote de status indicando a natureza do erro é
retornado.
Figura 10 - Estrutura Geral de um Quadro (frame) API. (Fonte: DIGI, 2011).
∑
Equação 1
29
Os dados mais importantes do pacote API estão contidos nos bytes 4 a n. O
byte 4 (cmdID) informa o tipo de mensagem API que está contida nos bytes 5 a n
(cmdData). Essas mensagens ou operações podem ser de vários tipos:

Transmissão de uma sequência de bytes (cmdID = 0x10 ou 0x11);

Recebimento de uma sequência de bytes (cmdID = 0x90 ou 0x91);

Execução de comandos (AT) de configuração remotos ou locais que incluem,
dentre outras operações (cmdID = 0x08, 0x09 ou 0x17):
o Configuração
do
comportamento
dos
pinos
de
entrada/saída,
possibilitando o acionamento de saídas digitais;
o Configuração de parâmetros de rede (Chave secreta, nome do nó,
PAN ID, número máximo de saltos, etc);
o Configuração de intervalos de tempo em modo sleep para dispositivos
finais;
o Aquisição de amostras de entradas digitais e analógicas;

Criação de rotas de rede (cmdID = 0x21);

Mensagens de status que informam se um determinado quadro foi entregue
corretamente e, em caso negativo, indicam a natureza do erro (cmdID = 0x88,
0x8B ou 0x97);
O formato do quadro de dados, bytes 5 a n (cmdData), varia de acordo com o
tipo de operação a ser realizada. Mais informações e exemplos sobre todos os tipos
de pacotes API podem ser encontradas em DIGI (2011).
2.3.2. Configuração dos Módulos XBee
Nos dispositivos XBee series 2 o usuário deve carregar previamente um
firmware que contém as informações sobre o comportamento do dispositivo na rede,
ou seja, determinar se ele é um Roteador, Dispositivo final ou o Coordenador. Para
tanto, o fabricante disponibiliza em seu sítio2, gratuitamente, a ferramenta X-CTU
(Figura 11), que permite o carregamento deste firmware e a configuração de todos
os parâmetros do dispositivo, a partir de uma interface intuitiva.
2
www.digi.com
30
As setas em vermelho da Figura 11 destacam alguns parâmetros importantes
do módulo XBee. À medida que o usuário solicita a leitura ou alteração de
parâmetros, o software envia automaticamente os respectivos comandos AT para
XBee pela interface RS232 e exibe os resultados na tela. Dentre os parâmetros
configuráveis, destacam-se: nome do nó, endereço de destino, velocidade de
comunicação RS232 (baud rate), comportamento dos pinos de entrada e saída,
chave secreta de criptografia, ID da rede, entre outros.
Figura 11 - Tela do Software X-CTU. Utilizado para Configuração de Módulos XBee.
2.3.2.1.
Comandos AT no Modo de Operação Transparente (AT)
A configuração dos parâmetros de um módulo XBee, operando no modo
Transparente (AT), é realizada por meio de comandos AT. Estes comandos são
recebidos a pela interface serial do módulo XBee.
Para que os comandos não sejam interpretados como uma sequência de
dados a ser transmitida para um módulo de destino, o XBee deve entrar no “modo
31
comando”. Essa operação é realizada pelo recebimento da sequência de três
caracteres “+++”3. Essa sequência faz com que o módulo XBee pare de transmitir os
dados que chegam à sua interface RS232 e passe a interpretá-los como comandos
de configuração (Comandos AT). Um comando AT é estruturado como apresentado
na Figura 12.
Figura 12 - Sintaxe de Comandos AT no Modo de Operação Transparente
Cada comando deve possuir o prefixo “AT” concatenado com o nome do
comando a ser executado (2 caracteres ASCII). Em seguida, se necessário, é
colocado o parâmetro do comando. Por fim, é confirmada a execução do comando
pelo envio de um byte de retorno de carro.
Quando um comando é executado sem a passagem de parâmetro, o módulo
XBee interpreta que o usuário deseja consultar o valor daquele comando e retorna
uma mensagem com o respectivo resultado. Caso algum parâmetro seja fornecido o
dispositivo altera o valor do referido parâmetro e retorna uma confirmação (“OK”). Se
o parâmetro ou o comando possuir um valor inválido, uma mensagem de erro
(“ERROR”) é retornada.
Como exemplo, considere a Figura 13, que apresenta uma sequência de
comandos AT enviados para um módulo XBee utilizando o terminal serial da
ferramenta X-CTU4. Os caracteres em cor azul foram digitados no computador e
enviados para o XBee. Os caracteres em cor vermelha são respostas enviadas do
módulo XBee para o computador. Os comentários em verde explicam o significado
de cada linha enviada ou recebida pelo terminal.
As definições e exemplos de todos os comandos AT disponíveis são
apresentados em DIGI (2011).
3
O caractere ‘+’ é utilizado por padrão. No entanto, o usuário pode utilizar qualquer outro caractere ASCII,
bastando apenas configurar o parâmetro CC (Command Sequence Character).
4
Neste exemplo foi utilizado o terminal serial da ferramenta X-CTU, no entanto, o projetista pode usar qualquer
outra ferramenta ou construir o seu próprio software de comunicação com a interface RS232 para enviar
comandos AT.
32
Figura 13 - Exemplos de Execução de Comandos AT no Modo Transparente
É importante ressaltar que os comandos AT, no modo de operação
Transparente (AT), só podem ser executados localmente, ou seja, diretamente por
meio da interface RS232 do dispositivo. Não podem, portanto, ser transmitidos
através do ar e executados em módulos remotos. Esta característica limita a
capacidade de gerenciamento da rede, uma vez que o usuário não poderá
configurar as funcionalidades ou utilizar os periféricos do dispositivo à distância.
2.3.2.2.
Comandos AT no Modo de Operação API
Conforme já mencionado na seção 2.3.1.2, o modo de operação API exige
que todas as informações trocadas com um módulo XBee sejam empacotadas em
um formato específico (Figura 10). Em contrapartida, este modo de operação
permite que comandos AT sejam executados tanto localmente quanto remotamente,
o que amplia o nível de gerenciamento e a funcionalidade da rede.
2.3.2.2.1.
Comandos AT Locais
A execução local de comandos AT considera que o XBee está conectado
diretamente, através de sua interface serial, ao dispositivo que deseja configurá-lo,
semelhante ao exemplo apresentado na Figura 13. Esse dispositivo pode ser um
33
computador, microcontrolador ou qualquer outro que possua interface de
comunicação serial.
A Figura 14 ilustra a troca de pacotes API para execução local de comandos
AT. O dispositivo que envia os comandos deve montar pacotes do tipo 0x08 ou 0x09
e enviá-los por meio da interface serial. Como resposta, um pacote de status do tipo
0x88 é recebido informando se o comando foi executado com sucesso e, caso
negativo, informa a natureza da falha.
Figura 14 - Troca de Pacotes API Para a Execução Local de Comandos AT
A estrutura completa de um pacote API para comando AT local é apresentada
na Tabela 2. Como exemplo, foi utilizado o comando “NI” (Node Identifier) que pode
alterar ou consultar o nome do dispositivo. Observe que não foi atribuído parâmetro;
logo, este comando consultará o nome do módulo XBee e retornará um pacote do
tipo 0x88 com o resultado.
A diferença entre os pacotes 0x08 e 0x09 é que no primeiro o comando AT é
executado imediatamente após o recebimento. Já no segundo, o comando é
enfileirado na memória do módulo XBee e só é executado quando um comando AT
de confirmação (AC – Apply Changes) ou algum pacote do tipo 0x08 é recebido.
Tabela 2 - Estrutura de Um Pacote API Para Comando AT Local (0x08)
Campos do Pacote
Índice
PACOTE API
Tipo do pacote API
ID do quadro (ACK)
Comando AT
Valor do Parâmetro
Descrição
0
0x7E
MSB 1
0x00
LSB
2
0x04
Quantidade de bytes entre o tamanho do pacote e
o checksum. Neste exemplo 4 bytes = 0x04
3
0x08
Pacote do tipo 0x08 (comando AT local)
Delimitador de Início
Tamanho do Pacote
Exemplo
4
0x01
5
0x4E (Letra ‘N’)
6
0x49 (Letra ‘I’)
Obrigatório em todo pacote API
O usuário pode Identificar o pacote com um
número arbitrário para conferir a mensagem de
status. Se for configurado como 0, nenhuma
resposta de status é enviada.
Nome do Comando AT – Dois caracteres ASCII.
Neste exemplo executa-se o comando NI – Node
Identifier
Quando presente indica que se deseja alterar o
34
(Opcional)
Soma de verificação
(Checksum)
7
0x5F
parâmetro do módulo para o valor fornecido.
Neste exemplo, sem parâmetro, realiza-se uma
consulta do nome do dispositivo (Comando NI).
0xFF – Soma dos bytes a partir do índice 3 até o
byte anterior ao checksum:
0xFF – (0x08+0x01+0x4E+0x49) = 0x5F
O pacote de resposta a um comando AT local é muito semelhante ao pacote
descrito na Tabela 2. A única diferença é a adição de um byte de status que informa
se foi possível realizar a operação. A Tabela 3 apresenta a estrutura de um pacote
de resposta (0x88). Observe, neste exemplo, a presença do nome do dispositivo
(“SENSOR_UMIDADE”), retornado como parâmetro do comando NI (Node Identifier)
e o byte de status que informa o sucesso na operação.
Tabela 3 - Estrutura de Um Pacote API de Resposta a um Comando AT Local (0x88)
Campos do Pacote
Delimitador de Início
Tamanho do Pacote
Tipo do pacote API
ID do quadro (ACK)
Comando AT
PACOTE API
Status do Comando
Índice
Descrição
0
0x7E
MSB 1
0x00
LSB 2
0x13
Quantidade de bytes entre o tamanho do pacote e
o checksum. Neste exemplo 19 bytes = 0x13
3
0x88
Pacote do tipo 0x88 (Status de comando AT local)
4
0x01
5
0x4E (‘N’)
6
0x49 (‘I’)
7
0x00
8
9
10
11
Valor do Parâmetro
(Opcional)
Exemplo
12
13
14
15
16
17
Obrigatório em todo pacote API
O usuário pode Identificar o pacote com um
número arbitrário para conferir a mensagem de
status. Se for configurado como 0, nenhuma
resposta de status é enviada.
Nome do Comando AT – Dois caracteres ASCII
Este exemplo é a resposta do comando NI – Node
Identifier
0 = OK
1 = ERRO
2 = Comando Inválido
3 = Parâmetro Inválido
4 = Falha na Transmissão
0x53 (‘S’)
0x45 (‘E’)
0x4E (‘N’)
0x53 (‘S’)
0x4F (‘O’)
0x52 (‘R’)
0x5F (‘_’)
0x55 (‘U’)
0x4D (‘M’)
0x49 (‘I’)
Se um parâmetro for configurado, este campo não
retorna nada. Se for realizada uma consulta, o
valor do parâmetro é retornado.
Neste exemplo é retornado o valor do parâmetro
NI (Node Identifier) que é “SENSOR_UMIDADE”.
35
18
19
20
21
Soma de verificação
(Checksum)
2.3.2.2.2.
22
0x44 (‘D’)
0x41 (‘A’)
0x44 (‘D’)
0x45 (‘E’)
0xAD
0xFF – Soma dos bytes a partir do índice 3 até o
byte anterior ao checksum
Comandos AT Remotos
A principal vantagem proporcionada pelo uso do modo de operação API, em
relação ao modo Transparente (AT) é a capacidade de execução remota (à
distância) de comandos AT. Isto inclui, dentre outras funcionalidades, a configuração
de parâmetros de rede, acionamento de saídas digitais, leitura de entradas
analógicas (sensores) e recebimento de mensagens de status da execução destes
comandos.
Quando nos referimos à execução remota de comandos AT podemos nos
basear na Figura 15, na qual um dispositivo que possui interface serial (computador,
microcontrolador, etc) é responsável por montar o pacote de requisição de Comando
AT Remoto (0x17) e enviá-lo através da interface serial para um módulo XBee. Este
módulo verifica o endereço de destino e encaminha a mensagem via RF para o
destinatário que, por sua vez, responde com um pacote do tipo 0x97 informando o
resultado da operação.
Figura 15 - Troca de Pacotes API Para a Execução Remota de Comandos AT
A estrutura de um pacote de requisição de comando AT remoto é
apresentada na Tabela 4 e, como exemplo, configura-se o pino “D2” como entrada
analógica. Observe que na requisição de comando AT remoto aparecem novos
campos, como os endereços do destinatário e as opções de comando remoto que
permitem, dentre outras funcionalidades, o enfileiramento da requisição.
36
Tabela 4 - Estrutura de Um Pacote API Para Comando AT Remoto (0x17)
Campos do Pacote
Índice
Exemplo
Descrição
0
0x7E
MSB 1
0x00
LSB
2
0x10
Quantidade de bytes entre o tamanho do pacote e o
checksum. Neste exemplo 16 bytes = 0x10
Tipo do pacote API
3
0x17
Pacote do tipo 0x17 (comando AT remoto)
ID do quadro (ACK)
4
0x02
O usuário pode Identificar o pacote com um número
arbitrário para checar a mensagem de status. Se for
configurado como 0, nenhuma resposta de status é
enviada.
5
0x00
6
0x13
7
0xA2
8
0x00
9
0x40
10
0x6C
0x0000000000000000: Reservado para o coordenador
da rede
11
0x52
0x000000000000FFFF: Endereço de Broadcast
12
0x9B
13
0xA1
14
0x83
15
0x02
16
0x44 (‘D’)
17
0x32 (‘2’)
Delimitador de Início
Tamanho do Pacote
Endereço de 64 bits
de destino (SH,SL)
PACOTE API
Endereço de 16 bits
de destino (MY)
Opções de Comando
Remoto
Comando AT
Valor do Parâmetro
(Opcional)
Soma de verificação
(Checksum)
0x02
18
0xFA
Obrigatório em todo pacote API
Endereço de 64 bits do destinatário. Os seguintes
endereços também são suportados:
Endereço de 16 bits do destinatário. Deve ser igual a
0xFFFE se o endereço do destinatário é desconhecido ou
a transmissão broadcast.
Configurado bit a bit, este campo pode habilitar
algumas funcionalidades:
0x01 – Desabilita resposta ACK
0x02 – Executa o comando imediatamente (Apply
Changes). Se este bit não for setado, a requisição fica
enfileirada e comando AC deve ser enviado para
confirmar a execução.
0x40 - Usa o tempo limite de transmissão estendida
para este destino.
Nome do Comando AT – Dois caracteres ASCII. Neste
exemplo executa-se o comando D2, que permite
configurar o comportamento do pino D2.
Quando presente indica que se deseja alterar o
parâmetro do módulo para o valor fornecido.
Neste exemplo, configura-se o pino D2 como entrada
analógica. O comando D2, utilizado como exemplo,
admite os seguintes argumentos:
0x00 – Desabilitado
0x01 – Não utilizado
0x02 – Conversor Analógico-Digital
0x03 – Entrada Digital
0x04 – Saída Digital em Nível Baixo
0x05 – Saída Digital em Nível Alto
0xFF – Soma dos bytes a partir do índice 3 até o byte
anterior ao checksum.
37
O pacote de resposta a um comando AT remoto é semelhante ao pacote de
requisição apresentado anteriormente. A única diferença é a substituição do campo
de opções do comando remoto pelo campo de status do comando. A Tabela 5
apresenta a estrutura de um pacote API de resposta ao comando AT remoto
exemplificado na Tabela 4.
Tabela 5 - Estrutura de Um Pacote API de Resposta a um Comando AT Remoto (0x97)
Campos do Pacote
Índice
Exemplo
Descrição
0
0x7E
MSB 1
0x00
LSB
2
0x0F
Tipo do pacote API
3
0x97
ID do quadro (ACK)
4
0x02
5
0x00
6
0x13
7
0xA2
8
0x00
9
0x40
10
0x6C
0x0000000000000000: Reservado para o coordenador
da rede
11
0x52
0x000000000000FFFF: Endereço de Broadcast
12
0x9B
13
0xA1
14
0x83
15
0x00
16
0x44 (‘D’)
17
0x32 (‘2’)
Delimitador de Início
Tamanho do Pacote
Endereço de 64 bits
de destino (SH,SL)
PACOTE API
Endereço de 16 bits
de destino (MY)
Status do comando
Comando AT
Obrigatório em todo pacote API
Quantidade de bytes entre o tamanho do pacote e o
checksum. Neste exemplo 15 bytes = 0x0F
Pacote do tipo 0x97 (resposta a um comando AT
remoto)
O usuário pode Identificar o pacote com um número
arbitrário para checar a mensagem de status. Se for
configurado como 0, nenhuma resposta de status é
enviada.
Endereço de 64 bits da fonte. Os seguintes endereços
também são suportados:
Endereço de 16 bits da fonte. Deve ser igual a 0xFFFE se
o endereço do destinatário é desconhecido ou a
transmissão broadcast.
0x00 = OK
0x01 = ERRO
0x02 = Comando Inválido
0x03 = Parâmetro Inválido
0x04 = Falha na Transmissão
Nome do Comando AT – Dois caracteres ASCII. Neste
exemplo executa-se o comando NI – Node Identifier
Quando presente indica o valor do parâmetro
consultado.
Valor do Parâmetro
(Opcional)
Soma de verificação
(Checksum)
18
0x7E
Neste exemplo, o comando D2 foi utilizado para
configurar o pino D2 como entrada analógica. Logo,
nada é retornado, já que não foi realizada uma consulta.
0xFF – Soma dos bytes a partir do índice 3 até o byte
anterior ao checksum.
38
2.3.3. Transmissão de Dados no Modo de Operação API
Para realizar uma transmissão de dados, isto é, enviar uma sequência
arbitrária de bytes entre dispositivos XBee é necessário conhecer, pelo menos, três
tipos de pacotes:
Pacote de requisição de transmissão (Tipo do quadro 0x10);
Pacote de status da transmissão (Tipo do quadro 0x88);
Pacote com os dados recebidos (Tipo do quadro 0x90).
A Figura 16 ilustra a dinâmica da troca de pacotes durante a transmissão de
dados.
Figura 16 - Troca de Pacotes Para a Transmissão de Dados
Para iniciar a transmissão de uma mensagem deve-se enviar uma sequência
de bytes formatada como apresentado na Tabela 6. Neste exemplo, é realizada a
transmissão da mensagem “OLA” para um dispositivo XBee de destino com
endereço físico 0x0013A200406C529B.
Tabela 6 - Estrutura de Um Pacote API de Requisição de Transmissão (0x10)
Campos do Pacote
Índice
Tipo do pacote API
PACOTE API
ID do quadro (ACK)
Endereço de 64 bits
de destino (SH e SL
do destinatário)
Descrição
0
0x7E
MSB 1
0x00
LSB
2
0x16
Quantidade de bytes entre o tamanho do pacote e o
checksum. Neste exemplo 22 bytes (0x16)
3
0x10
Pacote do tipo 0x10 (Transmissão de dados RF)
4
0x01
O usuário pode Identificar o pacote com um número
arbitrário para checar a mensagem de status. Se for
configurado como 0, nenhuma resposta de status é
enviada.
MSB 5
0x00
6
0x13
7
0xA2
8
0x00
9
0x40
Delimitador de Início
Tamanho do Pacote
Exemplo
Obrigatório em todo pacote API
Endereço de 64 bits do destinatário. Os seguintes
endereços também são suportados:
0x0000000000000000: Reservado para o coordenador
da rede
39
10
0x6C
11
0x52
LSB 12
0x9B
Endereço de 16 bits
de destino. (MY do
destinatário)
13
0xFF
14
0xFE
Raio do Broadcast
15
0x00
Opções
16
0x00
17
0x4F (‘O’)
18
0x4C (‘L’)
19
0x41(‘A’)
20
0xC7
Mensagem (Dados)
Soma de verificação
(Checksum)
0x000000000000FFFF: Endereço de Broadcast
Endereço de 16 bits do destinatário. Deve ser igual a
0xFFFE se o endereço do destinatário é desconhecido ou
a transmissão broadcast.
Número máximo de saltos de uma transmissão
broadcast. (0x00 é o máximo possível).
Configurado bit a bit, este campo pode habilitar
algumas funcionalidades:
0x01 – Desabilita resposta ACK
0x20 – Habilita Encriptação (Se EE=1)
0x40 - Usa o tempo limite de transmissão estendida
para este destino.
Mensagem (dados) que serão transmitidos via RF.
0xFF – Soma dos bytes a partir do índice 3 até o byte
anterior ao checksum.
Após o pacote de requisição de transmissão ser enviado, o dispositivo XBee
de destino irá fornecer no pino de saída da serial (DOUT) um pacote do tipo 0x90,
contendo a mensagem recebida (“OLA”), endereço do XBee de origem e outras
informações como apresentado na Tabela 7.
Tabela 7 - Estrutura de Um Pacote API de Recebimento de Dados (0x90)
Campos do Pacote
Índice
Tipo do pacote API
(Frame Type)
PACOTE API
Endereço de 64 bits
do XBee fonte
(SH,SL)
Endereço de 16 bits
Descrição
0
0x7E
MSB 1
0x00
LSB
2
0x16
Quantidade de bytes entre o tamanho do pacote e o
checksum. Neste exemplo 22 bytes (0x16)
3
0x90
Pacote do tipo 0x90 (Recebimento de Dados RF)
MSB 4
0x00
5
0x13
6
0xA2
7
0x00
8
0x40
9
0x6C
10
0x52
LSB 11
0x9B
12
0x7D
Delimitador de Início
Tamanho do Pacote
Exemplo
Obrigatório em todo pacote API
Endereço de 64 bits do remetente. É atribuído
0x000000000000FFFF se o endereço é desconhecido.
Endereço de 16 bits do remetente.
40
do XBee fonte (MY)
13
Opções de recepção
Dados recebidos
Soma de verificação
(Checksum)
0x85
14
0x00
15
0x4F (‘O’)
16
0x4C (‘L’)
17
0x41(‘A’)
18
0x43
0x01 – Pacote reconhecido
0x02 – Pacote broadcast
0x20 – Pacote encriptado com APS
0x40 – Pacote enviado de um end device
Nota: Opções podem ser combinadas. Por exemplo,
0x40 e 0x01 vão aparecer como 0x41. Outros valores
possíveis são 0x21, 0x22, 0x41, 0x42, 0x60, 0x61, 0x62.
Mensagem (dados) recebidos via RF.
0xFF – Soma dos bytes a partir do índice 3 até o byte
anterior ao checksum.
Após a transmissão dos dados o dispositivo XBee que originou a transmissão
recebe um pacote de status que informa se a mensagem foi entregue com sucesso
e, caso contrário, informa a natureza da falha. A Tabela 8 apresenta a estrutura de
um pacote de status da transmissão.
Tabela 8 - Estrutura de Um Pacote API de Status de Transmissão(0x8B)
Campos do Pacote
Índice
Exemplo
Descrição
0
0x7E
MSB 1
0x00
LSB
2
0x16
Quantidade de bytes entre o tamanho do pacote e o
checksum. Neste exemplo 22 bytes (0x16)
Tipo do pacote API
(Frame Type)
3
0x8B
Pacote do tipo 0x8B (Pacote de status da transmissão)
ID do quadro (ACK)
4
0x01
5
0x7D
6
0x84
Identifica o pacote de status com o mesmo ID do pacote
de requisição de transmissão enviado.
Endereço de 16 bits do XBee de destino (se a
mensagem foi entregue corretamente). Caso contrário
esse endereço é igual ao enviado no pacote de
requisição de transmissão.
7
0x00
Delimitador de Início
Tamanho do Pacote
Endereço de 16 bits
do destino (MY)
PACOTE API
Quantidade de
tentativas de
retransmissão
Status de entrega
(Delivery status)
8
0x00
Obrigatório em todo pacote API
Número de tentativas de retransmissão
0x00 = Success
0x01 = MAC ACK Failure
0x02 = CCA Failure
0x15 = Invalid destination endpoint
0x21 = Network ACK Failure
0x22 = Not Joined to Network
0x23 = Self-addressed
0x24 = Address Not Found
0x25 = Route Not Found
0x26 = Broadcast source failed to hear a neighbor relay
the message
0x2B = Invalid binding table index
0x2C = Resource error lack of free buffers, timers, etc.
41
Status de descoberta
(Discovery status)
9
0x01
Soma de verificação
(Checksum)
10
0x71
0x2D = Attempted broadcast with APS transmission
0x2E = Attempted unicast with APS transmission, but
EE=0
0x32 = Resource error lack of free buffers, timers, etc.
0x74 = Data payload too large
0x75 = Indirect message unrequested
0x00 = No Discovery Overhead
0x01 = Address Discovery
0x02 = Route Discovery
0x03 = Address and Route
0x40 = Extended Timeout Discovery
0xFF – Soma dos bytes a partir do índice 3 até o byte
anterior ao checksum.
2.3.4. Entradas/Saídas Digitais e Analógicas nos Módulos XBee
Os módulos XBee possuem pinos cujo comportamento pode ser configurado
através de software. Este tipo de interface é denominada GPIO (General Purpose
Input/Output). No módulo XBee PRO Series 2, existem 11 pinos configuráveis
através de comandos AT, conforme descrito na Tabela 9. Quatro destes pinos
podem ser configurados como entradas analógicas (pinos 17 a 20) e todos podem
ser configurados como entrada/saída digital.
Tabela 9 - Pinos Configuráveis (GPIO) no Módulo XBee PRO S2 (Adaptado: DIGI, 2011).
Nome do Pino
CD/DIO12
PWM0/RSSIM/DIO10
PWM/DIO11
DIO4
CTS/DIO7
ASSOC/DIO5
RTS/DIO6
AD3/DIO3
AD2/DIO2
AD1/DIO1
AD0/DIO0
Número do Pino
4
6
7
11
12
15
16
17
18
19
20
Comando AT de Configuração
P2
P0
P1
D4
D7
D5
D6
D3
D2
D1
D0
Para configurar um pino, um dos comandos AT apresentados na Tabela 10
deve ser enviado ao módulo XBee com o respectivo parâmetro que determina o seu
comportamento. De forma geral, os parâmetros mais comuns disponíveis para estes
comandos são apresentados na Tabela 10. Alguns pinos possuem funções
alternativas, como o Led associativo que indica se o módulo entrou numa rede ou
indicação da intensidade do sinal (RSSI) por meio de uma saída PWM ou ainda
pinos que permitem o controle de fluxo na serial (CTS e RTS).
42
Tabela 10 – Parâmetros para Comandos AT de Configuração dos Pinos GPIO (Adaptado: DIGI, 2011).
Valor do Parâmetro
Descrição
0
Desabilitado
Reservado para funções específicas de alguns pinos. (Led associativo,
RSSI PWM, etc.)
Conversor analógico digital Single Ended de 10 bits. Disponível somente
para os pinos 17 a 20.
Entrada digital
Saída digital em nível baixo
Saída digital em nível alto
Funções alternativas disponíveis em alguns pinos. (CTS, RTS, etc.)
1
2
3
4
5
6-9
2.3.4.1.
Amostragem de Entradas Analógicas e Digitais
Módulos XBee podem monitorar e adquirir amostras das suas entradas
digitais e analógicas. Se um módulo XBee estiver operando no modo Transparente
(AT), as amostras só podem ser obtidas localmente. Já se o módulo operar no Modo
API as leituras de amostras podem ser realizadas tanto localmente quanto
remotamente. Existem três maneiras de se obter amostras: a) Amostragem por
Requisição; b) Amostragem por Detecção de Mudança; e c) Amostragem Periódica.
Na
amostragem
periódica
o
módulo
XBee
adquire
e
transmite
automaticamente, para o endereço de destino (parâmetros DH e DL), amostras de
todas as suas linhas digitais e analógicas habilitadas. O período entre cada
amostragem é configurado através do comando AT “IR”, que admite valores entre
0x32 e 0xFFFF (50 a 65535) milissegundos. Caso seja configurado como zero, a
amostragem periódica é desabilitada.
Na amostragem por detecção de mudança, os módulos XBee são
configurados para monitorar o estado de suas entradas e saídas digitais. Assim que
detectam alguma mudança de estado enviam uma amostra de todas as entradas e
saídas habilitadas para o endereço de destino (parâmetros DH e DL). A seleção de
cada canal digital a ser monitorado é realizada a partir do comando AT “IC”, que
recebe como parâmetro uma máscara de bits.
Já na amostragem por requisição, técnica utilizada neste trabalho, o módulo
XBee adquire e transmite uma amostra somente quando recebe uma solicitação,
realizada a partir do comando AT “IS”. Este comando pode ser utilizado localmente
ou remotamente. Ao receber uma requisição de comando “IS”, o XBee realiza uma
43
leitura de todos seus canais digitais e analógicos e retorna para o dispositivo
solicitante a amostra com os resultados.
Em qualquer um dos modos de operação ou de amostragem, uma amostra é
um conjunto de bytes organizados, como apresentado na Tabela 11. O primeiro byte
define a quantidade de amostras existentes e é sempre igual a um. Os dois bytes
seguintes representam uma máscara de bit dos canais digitais que informa quais
linhas digitais estão habilitadas. O quarto byte representa a máscara de bit dos
canais analógicos, indicando quais entradas analógicas estão habilitadas. Em
seguida, tem-se uma quantidade de bytes variável, de acordo com a quantidade de
entradas analógicas e digitais habilitadas.
Caso haja algum canal de E/S digital habilitado, os bytes 5 e 6 indicam, bit a
bit, o estados de todos os canais digitais. Caso nenhum canal digital esteja
habilitado estes dois bytes são omitidos. Em seguida, cada entrada analógica
habilitada retornará 2 bytes representando o valor de 10 bits do seu conversor AD.
As amostras são ordenadas começando em AN0 até AN3, seguido da tensão de
alimentação (Supply Voltage), caso habilitada.
Tabela 11 – Organização de Uma Amostra de Canais Analógicos e Digitais de Um Módulo XBee.
(Adaptado: DIGI, 2011).
Quantidade
de Bytes
1
Nome
Descrição
Conjuntos de amostras
2
Máscara de canais digitais
1
Máscara de canais
analógicos
Quantidade de conjuntos de amostras no pacote. Sempre igual a 1.
Indica quais linhas digitais estão habilitadas. Cada bit corresponde
a um pino:
 bit 0 = AD0/DIO0
 bit 1 = AD1/DIO1
 bit 3 = AD3/DIO3
 bit 4 = DIO4
 bit 5 = ASSOC/DIO5
 bit 6 = RTS/DIO6
 bit 7 = CTS/GPIO7
 bit 8 = Não utilizado
 bit 9 = Não utilizado
 bit 10 = RSSI/DIO10
 bit 11 = PWM/DIO11
 bit 12 = CD/DIO12
Exemplo: uma máscara com valor 0x0021 indica que as linhas
digitais DIO 0 e 5 (Pinos 20 e 15, respectivamente) estão
habilitadas
Indica quais pinos estão configurados como entradas analógicas.
Cada bit representa um canal analógico:
44
Variável
Amostras dos canais
digitais e analógicos
habilitados
 bit 0 = AD0/DIO0
 bit 1 = AD1/DIO1
 bit 2 = AD2/DIO2
 bit 3 = AD3/DIO3
 bit 7 = Tensão de Alimentação (Supply Voltage)
Os primeiros 2 bytes indicam o estado de todas os canais digitais
habilitados. Se nenhum canal digital está habilitado, esses bytes
são omitidos.
Em seguida, cada entrada analógica habilitada retornará 2 bytes
representando o valor de 10 bits do seu conversor AD. As amostras
são ordenadas começando em AN0 até AN3, seguido da tensão de
alimentação (Supply Voltage), caso habilitada.
A resposta ao comando “IS” pode ser recebida de duas maneiras: a) Se o
módulo XBee estiver operando no Modo Transparente (AT), cada campo da Tabela
11 é retornado separado por um byte de retorno de carro; e b) Quando operando em
Modo API, ao receber uma requisição de comando “IS” o módulo XBee responde ao
solicitante com um pacote do tipo 0x88 ou 0x97 (Tabela 3 ou Tabela 5) incluindo no
campo “parâmetro do comando” a amostra de todos os seus canais digitais e
analógicos habilitados, conforme detalhado na Tabela 11. Um exemplo de amostra é
apresentado na Tabela 12.
Tabela 12 - Exemplo de Uma Amostra de Canais Analógicos e Digitais (Adaptado: DIGI, 2011).
Exemplo
Descrição
0x01 = 0000 0001b
0x0C0C = 0000 1100 0000 1100b
1 conjunto de amostras
0x03
= 0000 0011b
0x0408 = 0000 0100 0000 1000b
Canais digitais DIO 2,3,10 e 11 habilitados
Canais analógicos A/D 0 e 1 habilitados
Estado das entradas digitais: DIO 3 e 10 em nível alto. DIO 2 e
11 em nível baixo
0x03D0 = 976d
Entrada analógica AD0 = 0x03D0 = 976d
0x0124 = 292d
Entrada analógica AD1 = 0x124 = 292 d
2.3.5. Comparação Entre os Modos de Operação API e Transparente (AT)
As seções anteriores apresentaram, indiretamente, algumas vantagens e
desvantagens entre os modos de operação do XBee. De forma geral, é possível
identificar a relação inversamente proporcional entre o grau de gerenciamento da
rede e a complexidade de uso. Ou seja, o modo de operação API oferece um alto
grau de controle e gerenciamento da rede. No entanto, exige uma manipulação mais
complexa através da formatação de mensagens em pacotes. Já o modo de
45
operação Transparente restringe o uso de algumas funcionalidades, todavia,
apresenta uma interface muito simples.
Dessa forma, é interessante considerar alguns aspectos antes de escolher o
modo de operação a ser utilizado. De forma geral, o uso do modo de operação API é
recomendado quando (DIGI, 2011):

O dispositivo transmite informações para múltiplos destinatários;

Há necessidade de configuração remota dos dispositivos da rede;

Deseja-se realizar aquisição de amostras dos canais analógicos e digitais dos
dispositivos remotos;

São recebidos pacotes de múltiplos destinatários e a aplicação necessita
saber qual dispositivo enviou cada pacote;

A rede utiliza serviços específicos de perfis pré-programados ou necessita dar
suporte a outros recursos (profiles, clusters, endpoints, etc.).
Em qualquer outro caso, o modo de operação Transparente deve ser capaz
de suprir as necessidades do projeto. Na Tabela 13 é apresentada uma comparação
dos dois modos de operação do XBee.
Tabela 13 - Comparação Entre os Modos de Operação API e Transparente (ADAPTADO: DIGI, 2011).
Características do Modo de Operação Transparente (AT)
Interface simples
Todos os dados recebidos pela serial são transmitidos diretamente via RF, exceto
quando o módulo está no modo comando
Facilmente gerenciável
por uma aplicação
A simplicidade na execução de comandos AT e transmissão de dados torna fácil a
construção de uma aplicação de gerenciamento
Características do Modo de Operação API
Facilidade no envio de
dados para múltiplos
destinatários
Pacotes recebidos contém
o endereço do remetente
Configuração remota
Diagnóstico de rede
avançado
A transmissão RF de dados para diferentes destinatários requer apenas que o
endereço de destino seja alterado no pacote API. Este processo é muito mais rápido
do que no modo de operação transparente, já que no último, é necessário enviar um
comando AT para alterar o destinatário e só assim continuar a transmissão de dados
Todos os pacotes API recebidos via RF possuem o endereço do remetente
Comandos AT podem ser executados em dispositivos remotos, o que permite a
leitura e configuração de todos os parâmetros dos XBee, proporcionando um maior
nível de gerenciamento e potencial de aplicação da rede
Permite a descoberta de nós, resolução de endereços e o recebimento de
mensagens de status que indicam o sucesso ou falha na entrega de um pacote API
46
A complexidade da aplicação que dará suporte a uma rede composta por
dispositivos
XBee
operando
no
modo
API
muitas
vezes
desencoraja
o
desenvolvedor que, em alguns casos, prefere utilizar o modo de operação
Transparente o qual oferece uma manipulação mais fácil e imediata. No entanto,
essa opção, em alguns projetos, pode resultar no aumento do custo do projeto e
consumo de energia.
Para ilustrar essa constatação, tome-se como exemplo o trabalho proposto
por YUSSOFF et. al (2012). O autor apresenta uma proposta de um nó sensor sem
fio composto por três componentes: um módulo XBee, um microcontrolador PIC e
um sensor analógico de temperatura. No trabalho o autor utilizou o microcontrolador
apenas para realizar a leitura analógica do sensor, tarefa que poderia ser feita
diretamente pelo módulo XBee, caso o autor utilizasse o modo de operação API.
Dessa forma, o microcontrolador poderia ser eliminado do projeto, o que reduziria
significativamente o custo e o consumo de energia.
2.4. Localização de Nós Móveis em Redes de Sensores Sem Fio
O contínuo aperfeiçoamento das tecnologias de redes de sensores sem fio
tem tornado possível o desenvolvimento de aplicações eficientes destinadas à
estimação da localização ou rastreamento de um nó móvel. Uma ferramenta de
localização muito comum é o GPS (Global Positioning System), que fornece a
localização de um dispositivo através de satélite com uma boa precisão em
ambientes externos. Nas RSSF, a alternativa comumente utilizada é a localização
através da intensidade do sinal recebido na antena (RSSI, Received Strength Signal
Indication). Esta última possui a vantagem de não necessitar de um módulo
adicional de hardware (como é o caso do GPS) e, por isso, foi adotada neste
trabalho.
O processo de localização, de forma geral, pode ser divido em três etapas
(MASIERO, 2007):

Distanciamento (ranging): determinação da distância relativa entre os nós
da rede;

Posicionamento: a partir das distâncias entre os nós, fornece uma estimativa
inicial sobre a localização do nó. Existem vários métodos para fazer esta
tarefa e dependem da aplicação, orçamento disponível e topologia da rede;
47

Refinamento: refina os resultados obtidos nas duas fases anteriores.
2.4.1. Cálculo da Distância Relativa Entre Nós (Ranging)
Os módulos XBee possuem a capacidade de fornecer o valor da potência (em
dBm) do sinal recebido (RSSI) na última transmissão entre dois nós. Portanto, se
adotarmos um modelo de propagação eletromagnética podemos estimar a distância
entre esses nós a partir do valor da potência recebida.
Para este trabalho, considerando que o sistema é destinado à utilização em
campo aberto, foi adotado o modelo de propagação em espaço livre, que fornece a
estimativa da potência do sinal no receptor quando não há obstáculos entre o
emissor e o receptor. Este modelo é descrito matematicamente pela Equação 2,
também conhecida como equação de Friis (RAPPAPORT, 1996):
( )
(
)
Equação 2
Onde PT e Pr representam, respectivamente, as potências no transmissor e
receptor (em Watts); λ é o comprimento de onda (em metros) da frequência de
operação do dispositivo e é igual a 0,125 metros para os módulos de 2.4 GHz
utilizados; d é a distância (em metros) entre o emissor e receptor; L é um número
que representa o fator de perdas do sistema e GT e Gr são os fatores de ganho nas
antenas do transmissor e receptor, respectivamente. Pode-se reescrever a Equação
2 de forma a obter a razão entre a potência do receptor e a do emissor (Equação 3).
(
)
Equação 3
Uma vez que os módulos XBee retornam a razão entre a potência do
transmissor e do receptor em dBm, pode-se reescrever a Equação 3 da seguinte
forma:
48
( )
(
)
((
((
(
)
) )
)
(
)
(
)
)
Equação 4
De forma análoga, para obter a distância entre dois módulos XBee, em função
da potência do sinal (RSSI), basta reorganizar e inverter a
Equação 4:
( )
((
)
)
(
(√
))
(
(
(
)
)
(√
))
(
)
(
)
(√
(√
(
)
(
)
)
)
Equação 5
2.4.2. Estimação da Localização dos Nós
Existem vários métodos para a localização de nós móveis a partir do valor da
intensidade do sinal recebido (RSSI). Neste trabalho, com o intuito de identificar a
melhor técnica, foram utilizados dois algoritmos diferentes: Algoritmo de Lateração e
Algoritmo do Mínimo Máximo, nas versões propostas por MASIERO, 2007. Estes
algoritmos são cientificamente atraentes por apresentarem uma baixa complexidade
e custo de implementação. Estes métodos funcionam baseados na suposição de
que existem nós com coordenadas conhecidas (nós de referência). No entanto,
existem algoritmos para a localização de nós sensores sem a necessidade de uma
49
referência absoluta, como apresentado em MOORE, 2004 (MASIERO, 2007). Outras
técnicas de localização podem ser consultadas em PATWARI, 2005.
2.4.2.1.
Lateração
Considerando que os dados de distâncias relativas entre os nós de referência
(pelo menos três) e o nó móvel foram obtidos na etapa anterior (Equação 5), a
técnica de lateração consiste, basicamente, nos seguintes passos (MASIERO,
2007):
a. Desenham-se círculos centrados nos nós de referência com raio igual à
distância obtida entre o nó de referência e o nó móvel;
b. Calculam-se as intersecções entre todos os círculos (dois pontos para
cada par de círculos);
c. Define-se qual das duas coordenadas obtidas no passo “b” é verdadeira;
d. O nó móvel está localizado, idealmente, na intersecção entre todos os
círculos.
A Figura 17 ilustra a técnica descrita acima.
Figura 17 – Algoritmo de Lateração Para Localização de Nós Móveis
Uma das desvantagens deste algoritmo é a sensibilidade a incertezas, uma
vez que um erro no valor das intensidades dos sinais pode incorrer na ausência de
intersecção entre os círculos e, consequentemente, o algoritmo não fornecerá a
50
saída desejada. Outro detalhe importante neste algoritmo é a necessidade de decidir
qual ponto de intersecção é verdadeiro, uma vez que a intersecção entre um par de
círculos fornece dois pontos, no entanto, só um dos dois é a coordenada verdadeira.
Esta decisão é realizada no passo “c” através da técnica denominada
“descoberta do caminho mínimo”. Esta técnica consiste na construção de dois
conjuntos um para cada um dos dois pontos de intersecção. Cada conjunto possuirá
as distâncias entre uma das duas coordenadas de intersecção e todas as outras
coordenadas estimadas. Observe que a coordenada verdadeira gerará um conjunto
que possui um somatório dos seus elementos menor do que o outro conjunto. Assim
é possível decidir qual ponto de intersecção é verdadeiro.
2.4.2.2.
Algoritmo do Mínimo Máximo
Assim como na técnica anterior, são estimadas as distâncias entre os nós de
referência e o nó móvel através da potência do sinal recebido (RSSI). No entanto, ao
invés de círculos são desenhados quadrados centrados nos nós de referência, com
lado igual a duas vezes a distância estimada entre o nó móvel e os nós de
referência. O nó móvel é então localizado na região retangular, que representa a
intersecção de todos os quadrados. O algoritmo retorna o centroide do retângulo. A
Figura 18 ilustra o funcionamento do algoritmo.
Figura 18 - Algoritmo do Mínimo Máximo Para a Localização de Nós Móveis
51
As principais vantagens deste algoritmo em relação ao anterior são a sua
simplicidade e robustez na presença de ruído. No entanto, mesmo para canais com
pouco ruído, o algoritmo introduz uma incerteza inerente ao seu método de
estimação.
2.4.3. Refinamento
Existem vários métodos de refinamento utilizados para aumentar a precisão
dos algoritmos apresentados na seção anterior. Alguns exemplos incluem a
utilização de Filtros de Kalman, suavização e outras técnicas (que podem ser
consultadas em PATWARI, 2005, MASIERO, 2007 e LOU et. al, 2008). Neste
trabalho não foi utilizada nenhuma técnica de refinamento, já que a precisão na
localização não é o principal objetivo do projeto.
2.5. Caprinocultura no Brasil
Dentre os animais que compõem os a classe dos pequenos ruminantes, na
região Nordeste, destacam-se os caprinos e ovinos. Os caprinos são animais
conhecidos por apresentarem um fácil manejo, boa adaptabilidade climática e pouca
exigência, qualitativamente e quantitativamente, em termos alimentares (CANIELLO,
2012). Os principais produtos derivados dos caprinos são o leite de cabra, a carne e
a pele do animal. A carne caprina, além de saborosa, é caracterizada por apresentar
menor proporção de gordura saturada e calorias, mas, com a mesma quantidade de
ferro e proteínas, quando comparada à carne bovina (MALAN, 2000).
O Brasil possui atualmente o 17º maior rebanho de caprinos, com pouco mais
de nove milhões de cabeças, o que equivale a cerca de 1% da produção mundial.
Em primeiro lugar está a Índia com 16,71% da produção (Tabela 14). Para
CANIELLO, 2012, há uma margem grande de crescimento da caprinocultura no
Brasil, considerando as dimensões territoriais do país e as condições favoráveis
para a criação.
52
5
Tabela 14 - Ranking dos Maiores Criadores de Caprinos do Mundo. (Fonte: FAO , dados de 2010).
Posição
País
Rebanho (Cabeças)
Percentagem do
rebanho mundial
1º
Índia
154.000.000,00
16,71%
2º
China
150.706.554,00
16,36%
3º
Bangladesh
65.000.000,00
7,05%
4º
Paquistão
59.900.000,00
6,50%
5º
Nigéria
56.524.100,00
6,13%
6º
Sudão
43.441.000,00
4,71%
7º
Irã
25.700.000,00
2,79%
8º
Etiópia
21.960.700,00
2,38%
9º
Indonésia
16.821.000,00
1,83%
10º
Mali
16.522.500,00
1,79%
11º
Mongólia
13.883.200,00
1,51%
12º
Níger
13.673.100,00
1,48%
13º
Quênia
13.291.700,00
1,44%
14º
Tanzânia
12.900.000,00
1,40%
15º
Somália
12.700.000,00
1,38%
16º
Burkina Faso
12.377.500,00
1,34%
17º
Brasil
9.312.780,00
1,01%
Segundo dados do IBGE, na última pesquisa de Produção Pecuária Municipal
(PPM) em 2010 o nordeste brasileiro continuou líder absoluto na criação de
caprinos, com 90,8% do rebanho nacional equivalente a cerca de 8,5 milhões de
cabeças. Em segundo lugar, com apenas 3,7% da produção nacional, encontra-se a
região sul. O gráfico da Figura 19 ilustra a participação percentual de cada região do
brasil.
2,5%
3,7%
1,8% 1,2%
90,8%
Nordeste
Sudeste
Sul
Norte
Centro-Oeste
Figura 19 – Gráfico de Participação Percentual das Regiões Brasileiras no Rebanho Nacional
5
http://faostat.fao.org/
53
Além de ser uma atividade que promete avançar significativamente nos
próximos anos, a escolha da caprinocultura no desenvolvimento deste trabalho se
deve, principalmente, à localização da Universidade Federal do Vale do São
Francisco (UNIVASF). Mais especificamente, a UNIVASF possui campus em três
estados do Nordeste: Bahia, Pernambuco e Piauí. Juntos, esses estados
representam 64,1% da produção nacional de caprinos (Figura 20). Logo, a demanda
por pesquisa e desenvolvimento voltados para a otimização da produção e bemestar animal é alta.
11,0%
6,4%
30,6%
14,9%
18,6%
Bahia
Pernambuco
Piauí
Ceará
Paraíba
Figura 20 – Gráfico de Participação Percentual dos Cinco Maiores Produtores de Caprinos no Brasil
2.6. Bem-estar Animal, Bioclimatologia e Zootecnia de Precisão
O bem-estar animal é um assunto que vem ganhando cada vez mais
destaque nas discussões sobre produção animal atualmente. No entanto, o conceito
de bem-estar ainda não possui um consenso entre os pesquisadores, uma vez que
existem várias linhas de pensamento. Fraser et al, 1997, por exemplo, realiza uma
ampla análise de várias definições sobre bem-estar e apresenta uma visão sobre a
identificação de questões éticas na qualidade de vida dos animais.
Com o objetivo de tentar generalizar o conceito de bem-estar animal o Farm
Animal Welfare Council (FAWC) propôs as “cinco liberdades” dos animais que
definem estados ideais de bem-estar, ao invés de padrões aceitáveis, formando um
conjunto de ferramentas lógico e compreensível para análise do bem-estar animal
em qualquer sistema (FAWC, 2012):
1) Liberdade contra a fome e sede;
2) Liberdade contra o desconforto;
54
3) Liberdade contra dor, doença e lesões;
4) Liberdade para expressar seus comportamentos normais;
5) Liberdade contra o medo e estresse.
Alguns autores classificam a temperatura do ambiente, umidade do ar e
radiação solar como as principais variáveis que influenciam o conforto térmico e a
produção animal. (Lee et al., 1974; SOUZA et al., 2008; COELHO, 2011; SILVA et.
al, 2012;). Neste contexto insere-se a bioclimatologia animal que pode ser definida,
resumidamente, como a ciência que estuda as interações entre o clima e os animais
com o objetivo de proporcionar o bem-estar animal e, consequentemente, a
maximização da produção.
No entanto, para que a bioclimatologia possa analisar o bem-estar dos
animais é necessário dispor de dados precisos sobre as variáveis meteorológicas
presentes
no
ambiente,
bem
como
sobre
as
respostas
fisiológicas
e
comportamentais fornecidas pelos animais (COELHO, 2011; SILVA et. al, 2012).
Neste âmbito insere-se a zootecnia de precisão, que busca através de diversas
tecnologias
medir
variáveis
meteorológicas,
indicadores
fisiológicos,
comportamentais e de produção dos animais, de maneira individualizada
(POLYCARPO, 2012).
Dessa forma podemos classificar o trabalho ora proposto como uma
ferramenta em potencial da zootecnia de precisão podendo auxiliar futuras iniciativas
de pesquisa e desenvolvimento nesta área. Isso se deve à possibilidade de adquirir
dados sobre variáveis meteorológicas (temperatura e umidade), bem como dados
sobre respostas fisiológicas fornecidas pela frequência cardíaca e comportamento
dos animais (rastreamento da trajetória) através da rede de sensores sem fio.
2.6.1. Influência de Variáveis Meteorológicas na Produção de Caprinos
No Nordeste brasileiro a temperatura ambiente atinge valores elevados
durante quase todo o ano. Essa característica pode influenciar o desempenho
produtivo e reprodutivo dos animais. Segundo NÓBREGA et al. 2011, para atingir a
maximização da produção animal é necessário conhecer a capacidade de
adaptação das raças de animais exploradas, bem como suas interações com o
ambiente, sob a forma de respostas fisiológicas diárias ou sazonais. Dessa forma, é
55
possível tomar decisões quanto aos sistemas de criações, estratégias de manejo e
ajustes que proporcionem um maior conforto aos animais.
Os animais, de modo geral, possuem a capacidade de manter a temperatura
corporal constante, apesar das variações da temperatura ambiente. Esta
característica é denominada homeotermia (JHONSON, 1987). No entanto, quanto
maior a diferença entre a temperatura corporal do animal e a temperatura ambiente,
mais energia será gasta pelo animal na tentativa de manter a sua temperatura
constante. Segundo Baêta e Souza, 1997, existe uma faixa de temperatura na qual
gasto de energia do animal para manter o equilíbrio térmico é mínimo. Essa faixa de
temperatura é denominada zona de conforto térmico.
NÓBREGA et al. 2011, elenca algumas variáveis como parâmetros
importantes para a análise do bem-estar animal: temperatura ambiente, temperatura
superficial do animal, frequência respiratória, frequência cardíaca, radiação solar,
temperatura retal, etc.
SOUZA et al. 2005, avaliaram as respostas fisiológicas de caprinos de
diferentes raças na região do semiárido nordestino em relação às variações de
temperatura ambiente. Seus resultados demonstram, principalmente, alterações na
frequência respiratória dos animais como mecanismo de regulação da temperatura
corporal. Já Kaushish et al. (1987) verificou alterações na frequência cardíaca de
caprinos.
Assim,
percebe-se
que
os
animais
utilizaram
mecanismos
de
termorregulação para manter a temperatura constante, o que pode culminar num
estresse calórico e, consequentemente, na diminuição da produção (NÓBREGA et
al. 2011).
Alguns trabalhos, como o proposto por SOUZA et al. 2005, utilizaram como
metodologia para a medição da frequência cardíaca e respiratória dos animais, a
auscultação. Embora seja um método comumente utilizado, essa técnica oferece
pouca eficiência e certa imprecisão, uma vez que é necessária a medição e
contagem da frequência de forma manual. Dessa forma, acredita-se que novas
tecnologias, como o uso de sensores eletrônicos associado a uma rede de sensores
sem fio semelhante ao proposto neste trabalho, poderão no futuro proporcionar um
aumento na eficiência e confiabilidade dos resultados deste tipo de análise.
56
57
3.
Materiais e Métodos
O sistema proposto neste trabalho reúne várias de áreas de estudo e
ferramentas, como banco de dados, eletrônica, sistemas embarcados, engenharia
de software e redes. Assim, para facilitar o desenvolvimento, dividiu-se o projeto em
duas partes: hardware e software.
3.1. Software
O software da aplicação pode ser entendido como um conjunto de
ferramentas e subprogramas que interagem com o objetivo de gerenciar a RSSF e
armazenar os dados recebidos dos nós sensores. Para tanto, inclui um banco de
dados e subprogramas responsáveis pelo gerenciamento dos pacotes da rede,
interface gráfica, comunicação serial (RS232) e processamento de dados. A Figura
21 apresenta uma visão geral do software desenvolvido.
Figura 21 - Visão Geral do Software em Desenvolvimento
58
3.1.1. Interface Gráfica do Software
Devida a sua portabilidade, grande utilização e suporte a orientação a objetos,
a linguagem de programação escolhida para o desenvolvimento do software foi o
JAVA. A interface gráfica é baseada na biblioteca Swing e construída com o auxílio
da ferramenta de desenvolvimento NetBeans IDE 7.1. O principal objetivo da
interface gráfica é auxiliar o usuário na análise e visualização dos dados fornecidos
pelos sensores, bem como na visualização da localização dos animais.
3.1.2. Camada de Processamento de Dados
Esta camada de software é responsável por intermediar a troca de dados
entre a camada de gerenciamento de pacotes de rede, a interface gráfica e o banco
de dados. Na medida em que os pacotes de rede com os dados dos sensores
chegam ao computador, esta camada os interpreta e os armazena no banco de
dados, além de exibi-los na aba de monitoramento.
3.1.2.1.
Banco de Dados
Para armazenar os dados foi utilizado o Sistema Gerenciador de Banco de
Dados (SGBD) SQLite6, por ser uma ferramenta de código aberto, fácil manipulação,
autocontida e dispensar a utilização de um servidor de banco de dados. A interface
entre a aplicação e o banco de dados na linguagem JAVA foi realizada utilizando o
driver SQLite JDBC7.
O banco de dados foi modelado utilizando um Diagrama Entidade
Relacionamento (DER). As informações relevantes a serem armazenadas em disco
podem ser resumidas em apenas duas entidades: Estação e Amostra. As estações
representam cada nó móvel (animal) da rede e possuem um endereço único e um
nome. Já as amostras, possuem a data e hora em que foram recebidas, localização
do nó que as enviou e os valores instantâneos dos sensores de frequência cardíaca
(FC), temperatura do ar (TA) e umidade relativa (UR). A Figura 22 apresenta o DER
que representa o banco de dados do sistema.
6
7
www.sqlite.org
www.zentus.com/sqlitejdbc/
59
Figura 22 - Diagrama Entidade Relacionamento
3.1.3. Montagem e Gerenciamento de Pacotes de Rede API XBee
O modo de operação escolhido para os módulos XBee utilizados na rede foi o
modo API, uma vez que é necessário o envio de mensagens para destinos
diferentes e a execução de comandos AT remotos (seção 2.3.5). Dessa forma, foi
desenvolvida uma camada de software responsável pela montagem e desmontagem
dos pacotes API da rede que entram e saem do nó coordenador.
O principal objetivo dessa camada do software é facilitar o gerenciamento da
rede através de mecanismos automatizados de construção de pacotes API. Essa
camada também é responsável por enfileirar pacotes recebidos e verificar erros de
comunicação.
3.1.4. Comunicação Serial
A troca de pacotes API entre o nó coordenador da rede e o computador é
realizada através da interface serial RS232. Para tanto, foi desenvolvida uma classe
JAVA baseada na API RXTX8 para obter acesso ao hardware e realizar o envio e
recebimento de bytes.
Basicamente, a classe implementa duas threads, uma para envio de dados e
outra para recepção. Um evento aciona a thread de recepção de dados sempre que
um byte chega ao computador. Essa thread identifica o tamanho do pacote sendo
recebido e realiza a leitura dos demais bytes até o fim do pacote. Ao final, o pacote é
encaminhado para a camada de gerenciamento de pacotes que interpretará as
informações contidas no mesmo. Já a thread de envio é responsável por controlar e
8
http://rxtx.qbang.org/
60
enfileirar as informações a serem transmitidas. Assim que o buffer de transmissão
está liberado para envio de dados, um evento aciona a thread para que os dados
pendentes sejam transmitidos.
3.2. Hardware
O hardware do sistema consistiu no projeto e desenvolvimento de circuitos
eletrônicos para os diferentes tipos de estações da rede, bem como na codificação
do firmware utilizado nas estações móveis para a leitura de sensores e localização
do nó. Os nós (ou estações) da rede no sistema proposto podem ser classificados
em três tipos: Estação Coordenadora (EC), Estações de Referência (ER) e Estações
Móveis (EM).
Em todas as estações da rede são utilizados módulos transceptores XBee
PRO Series 2. Nas estações de referência e na estação coordenadora é utilizado o
modelo com antena externa (Figura 9b). Já nas estações móveis, acopladas aos
animais, optou-se por utilizar o modelo com antena Whip (Figura 9a) por não ocupar
um grande espaço físico, reduzindo assim o desconforto aos animais.
3.2.1. Características dos Módulos XBee PRO Series 2
A potência de transmissão deste módulo XBee é de até +17 dBm e a
sensibilidade do receptor é -102 dBm. Segundo o fabricante, o alcance deste
dispositivo pode chegar a 3,2Km. No entanto, esse número pode variar de acordo
com o modelo de antena utilizado e condições ambientais. A Tabela 15 apresenta as
principais características do dispositivo.
Tabela 15 - Características do Módulo XBee PRO Series 2 da Digi
Alcance (Campo aberto)
3,2 Km
Alcance (Ambientes internos)
90 m
Potência de transmissão
+17 dBm (50mW)
Sensibilidade do receptor
-102 dBm
Frequência de operação
ISM 2.4 GHz
Taxa de transmissão
250 Kbps
Tipo de modulação
O-QPSK com DSSS
61
Tensão de Alimentação
3,3 V
GPIO:
11
Conversores AD (10 bits)
Até 4 (VREF máximo 1,2 V)
Entradas e Saídas Digitais
Até 11
Basicamente, para o funcionamento deste módulo XBee, é necessária a
conexão de quatro pinos: VCC, GND, DOUT e DIN. Os dois últimos são
responsáveis pela saída e entrada de dados através da UART, respectivamente. Os
demais pinos, em geral, possuem mais de uma função e o seu comportamento pode
ser determinado através de software. A Figura 23 apresenta o diagrama de pinos do
módulo XBee.
Figura 23 - Diagrama de Pinos do Módulo XBee Pro Series 2
3.2.2. Estação Coordenadora (EC)
A estação coordenadora é responsável por receber os dados da localização e
leitura dos sensores da rede e repassá-los à aplicação (software), que armazenará e
processará os dados. Para tanto, a estação coordenadora é conectada ao
computador por meio de um adaptador USB/RS232 para módulos XBee, fabricado
pela Rogercom9 (Figura 24).
9
http://rogercom.com.br/
62
Figura 24 - Estação Coordenadora da Rede
3.2.3. Estações de Referência (ER)
Com coordenadas geográficas conhecidas, as estações de referência são
responsáveis por trocar mensagens com as estações móveis para auxiliar a
determinação da intensidade do sinal (RSSI) e, consequentemente, a distância entre
as estações móveis e as estações de referência. Neste trabalho, são utilizadas
quatro estações de referência, posicionadas ao redor da área de pastagem dos
animais.
Como as estações de referência são utilizadas apenas para trocar
mensagens com as estações móveis, o circuito eletrônico necessário para o
funcionamento é composto essencialmente por um circuito integrado regulador de
tensão 3.3V (LM1117) e o módulo XBee PRO Series 2. Capacitores são utilizados
para reduzir a interferência de variações de tensão no circuito. Um diodo emissor de
luz (LED) é utilizado para indicar o status de associação do módulo à rede.
Na Figura 25 é apresentado o esquemático do circuito eletrônico de uma
estação de referência. O circuito regulador de tensão utilizado nas estações de
referência é o mesmo utilizado nas estações móveis.
63
Figura 25 - Esquemático do Circuito de uma Estação de Referência
3.2.4. Estações Móveis (EM)
As estações móveis, acopladas aos animais, constituem o hardware mais
importante do projeto e são compostas, basicamente, pelos seguintes componentes:
Módulo transceptor XBee, Sensor de Umidade Relativa, Sensor de Temperatura do
Ar, Sensor de Frequência Cardíaca, Microcontrolador, Bateria Recarregável e
Circuito Regulador de Tensão. A maneira como esses componentes interagem é
apresentada no diagrama de blocos da Figura 26. O esquema elétrico do circuito de
uma estações móvel é apresentado na Figura 27.
Figura 26 - Diagrama de Blocos de Uma Estação Móvel
64
Figura 27 - Esquemático do Circuito da Estação Móvel
Com o objetivo de minimizar o consumo de energia, foram utilizados
componentes eletrônicos de baixa potência. Mais especificamente, procurou-se
manter o mesmo padrão de tensão de alimentação utilizado nos módulos XBee (3,3
Volts), de forma a obter compatibilidade direta entre os níveis de tensão dos
sensores, microcontrolador e XBee utilizados. As seções a seguir descrevem as
principais características dos materiais utilizados.
3.2.4.1.
Sensor de Umidade Relativa Honeywell HIH-5031
A umidade relativa do ar é medida localmente, no ambiente em torno do
animal. Para tanto, cada estação móvel utiliza um sensor Honeywell HIH-5031
(Figura 28a), que pode ser alimentado por uma tensão de 3,3V, possui uma precisão
de ±3 %RH e um tempo de resposta típico de 5 segundos.
O sensor Honeywell HIH-5031 fornece uma saída praticamente linear,
conforme pode ser observado na Figura 28b. O sensor também possui um filtro
hidrofóbico de fábrica e é construído em multicamadas, o que o torna resistente à
condensação, sujeira, óleos e substâncias químicas presentes no ambiente.
65
Figura 28 - a) Sensor de umidade Honeywell HIH-5031. b) Curva Tensão (Vdc) X Umidade Relativa (%UR) a
25°C e Tensão de Alimentação 3,3V Vdc.
A Equação 6 e a Equação 7 apresentam a relação entre a tensão de saída
(Vout, em Volts) fornecida pelo sensor, a umidade relativa (UR Sensor, em %UR) e a
tensão de alimentação do sensor (Vs, em Volts). Já a Equação 8 pode ser utilizada
para compensar o efeito da temperatura do ambiente (T, em °C) na leitura da
umidade relativa.
( )(
(
(
(
)
)
(
3.2.4.2.
)
)(
)
)
Equação 6
Equação 7
Equação 8
Sensor de Temperatura
Para medir a temperatura ambiente em torno do animal utiliza-se um sensor
de temperatura AD22103, fabricado pela Analog Devices. Este sensor é um circuito
integrado monolítico que engloba um circuito de condicionamento de sinal. É capaz
de medir temperaturas na faixa de 0°C a +100°C, fornece uma saída praticamente
linear com uma resolução de 28mV/°C (quando alimentado com 3,3V) e possui um
erro máximo de 2,5°C (tipicamente 0,5°C). Este sensor está disponível em duas
versões de encapsulamento TO-92 e SOIC. A Figura 29 apresenta imagens dos
encapsulamentos e os diagramas de pinos do sensor.
66
Figura 29 – Encapsulamento: a) TO-92 e b) SOIC; Diagrama de pinos: c) TO-92 e d) SOIC.
A função de transferência deste sensor é apresentada na Equação 9, em que
Vout é a tensão de saída (em Volts), Vs é a tensão de alimentação do sensor (em
Volts) e T é a temperatura ambiente (em °C). Para obter o valor da temperatura a
partir da tensão, basta isolar o termo T na Equação 9, como apresentado na
Equação 10.
(
)(
(
3.2.4.3.
(
) )
)
Equação 9
Equação 10
Sensor de Frequência Cardíaca
Para medir a frequência cardíaca dos animais, foi utilizado um conjunto
sensor da fabricante Polar composto por uma faixa transmissora modelo T34 não
codificada (Figura 30b) e uma placa receptora RE07S (Figura 30a).
Figura 30 - a) Placa Receptora de Frequência Cardíaca Polar RE07 e b) Faixa Transmissora T34
67
A faixa (ou cinta) transmissora envia dados sobre a frequência cardíaca, para
a placa receptora que, por sua vez, fornece na saída pulsos com duração de 15ms a
cada batimento cardíaco. Dessa forma, para determinar a frequência cardíaca, basta
calcular o tempo médio entre os pulsos e converter esse valor para batimentos por
minuto (bpm). A placa receptora pode ser alimentada por uma tensão de 3V a 5,5V.
3.2.4.4.
Microcontrolador PIC 18LF4620
O microcontrolador utilizado nas estações móveis é o modelo PIC 18LF4620,
da Microchip. Os microcontroladores PIC com o código “LF” na sua descrição
possuem como principal característica uma faixa mais ampla de tensão elétrica de
alimentação. Por exemplo, o modelo PIC 18F4620 pode ser alimentado com uma
tensão de 4,2V e 5,5V, já o 18LF4620 estende a faixa para 2,0V a 5,5V. Este
modelo também oferece interface de comunicação RS232, entradas analógicas e
interrupções externas. Assim, consegue suprir as necessidades do projeto. A Figura
31 apresenta uma imagem real do dispositivo e seu diagrama de pinos. A Tabela 16
apresenta as principais características do dispositivo.
Figura 31 – Imagem Real e Diagrama de Pinos do PIC18LF4620.
Tabela 16 - Principais Características do Microcontrolador PIC18LF4620
Tensão de alimentação
2,0V a 5,5V
Memória de programa
64K (32K words)
Memória de dados SRAM
3968 bytes
Memória não volátil EEPROM
1024 bytes
Entradas/Saídas
36
68
Entradas analógicas (Canais A/D 10 bits)
13
CCP - Capture/Compare/PWM
1
ECCP - Enhanced Capture/Compare/PWM
1
MSSP
SPI e Master I2C
EUSART (RS232, RS485 e LIN/J2602)
1
Timers 8 bits
1
Timers 16 bits
3
O microcontrolador pode ser considerado o “cérebro” da estação móvel. Ele é
responsável por realizar duas tarefas: 1) cálculo da localização do nó móvel; 2)
leitura dos sensores de temperatura do ar, umidade relativa e frequência cardíaca.
Para calcular a localização do nó móvel, o firmware embarcado no
microcontrolador transmite pacotes para as estações de referência por intermédio do
módulo XBee. Essa troca de pacotes permite a determinação das intensidades do
sinal (RSSI) entre o nó móvel e as estações de referência. Uma vez que as
distâncias entre a estação móvel e as quatro estações de referência são
determinadas, a localização é calculada utilizando as técnicas apresentadas na
seção 2.4.2.
A leitura dos sensores de umidade e temperatura é realizada diretamente
pelas entradas analógicas do microcontrolador, pois os sensores fornecem uma
saída sob a forma de tensão elétrica numa faixa de 0 a 3,3 Volts.
Já o cálculo da frequência cardíaca do animal é realizado por intermédio da
rotina de interrupção externa no pino RB0. Na medida em que um pulso é detectado
na entrada do pino RB0 do microcontrolador, a rotina de interrupção externa dispara
o Timer0 do microcontrolador que inicia a contagem do tempo. Quando um segundo
pulso é detectado, a rotina de interrupção externa interrompe a contagem no Timer0
e calcula o tempo em milissegundos entre os dois pulsos, de acordo com o valor
atual armazenado no registrador do Timer.
Após o cálculo da localização e o processamento da leitura dos sensores, um
pacote com os dados obtidos é transmitido para o nó coordenador da rede e,
finalmente, armazenado no banco de dados do software.
69
4.
Resultados
O processo de desenvolvimento do Software e Hardware de projeto foi
realizado no Laboratório de Hardware da Universidade Federal do Vale do São
Francisco. Como resultados, podemos destacar a placa de circuito impresso
desenvolvida para as estações móveis e o software desenvolvido em linguagem
JAVA para armazenamento e consulta de dados.
4.1. Hardware
O hardware do sistema foi desenvolvido em três etapas. Na primeira, o
firmware do microcontrolador das estações móveis foi simulado utilizando a
ferramenta Proteus ISIS 7.8 SP2.
Na segunda etapa, os componentes de hardware foram montados em uma
placa de protótipos (protoboard), com o objetivo de identificar possíveis falhas e
realizar testes com os sensores em um ambiente real.
Na terceira etapa foi construída uma placa de circuito impresso para a
estação móvel contendo todos os sensores e demais componentes de hardware
necessários. A placa foi desenhada utilizando o software Proteus Ares 7.8 SP2.
Após o projeto do circuito no computador, o desenho foi impresso em papel tipo
couché e transferido para uma placa de fenolite por meio do método de transferência
térmica, utilizando um ferro de passar roupas comum.
As falhas provenientes da transferência térmica foram corrigidas com o auxílio
de um caneta para retroprojetor. Em seguida a placa de fenolite foi levada à
corrosão em uma solução de percloreto de ferro. Imagens do processo de
desenvolvimento e a placa finalizada são apresentadas na Figura 32.
Foi possível obter uma placa com dimensões relativamente pequenas (7cm X
8cm). No entanto, essas dimensões podem ser ainda menores, caso sejam
utilizados componentes do tipo SMD e o processo de desenvolvimento seja
realizado com o auxílio de máquinas que proporcionem a fabricação de placas de
várias faces.
O conjunto sensor polar (cinta transmissora + placa receptora) permitiu a
medição adequada da frequência cardíaca, no entanto, a cinta transmissora utilizada
(T34) possui uma bateria que não pode ser substituída pelo usuário, apenas em
70
filiais autorizadas da Polar. Dessa forma, em versões futuras pretende-se utilizar um
modelo de cinta que proporcione uma substituição fácil das baterias.
O hardware apresentou um consumo máximo de 0,165W. Ou seja, o
consumo de corrente é de máximo de 50mA, quando o circuito está transmitindo. Se
considerarmos um conjunto de baterias de 2000mAh, o hardware possuiria uma
autonomia de, no mínimo, 40 horas. Nesta versão não foi implementada nenhum
mecanismo de economia de energia, dessa forma, em futuras versões, a autonomia
do sistema pode se tornar muito superior.
Figura 32 - Desenvolvimento da Placa de Circuito Impresso Para a Estação Móvel
4.1. Software
A interface do software, basicamente, é composta por duas abas: 1) banco de
dados e 2) amostragem. Na aba “banco de dados” (Figura 33), o usuário pode
selecionar os dados dos sensores de acordo com a data e hora de amostragem. O
usuário também pode exportar os dados selecionados para um arquivo do tipo “.csv”
(útil para ser importado em softwares de planilha eletrônica, como o Microsoft Excel).
A aba “amostragem” (Figura 34) permite que o usuário configure o tempo de
amostragem e inicie ou interrompa a leitura dos sensores instalados nos animais.
71
Também é possível visualizar, em tempo real, os valores dos sensores lidos e a
localização dos animais. O painel lateral esquerdo é responsável por exibir
informações sobre os nós sensores que estão conectados à rede (endereço, nome,
etc). No menu superior o usuário pode acessar as opções de configuração da
comunicação serial RS232, como baud rate e porta de comunicação utilizada. O
quadro branco no canto inferior direito ilustra a localização do animal.
Figura 33 - Tela do Software. Aba Banco de Dados.
Figura 34 - Tela do Software. Aba Amostragem.
72
4.2. Experimentos em Animais
Para verificar o funcionamento do projeto desenvolvido, o sistema foi levado a
campo e instalado em um carneiro da raça Dorper (Figura 35). Com o objetivo de
proteger o hardware contra possíveis danos físicos, a placa de circuito impresso foi
encapsulada em uma caixa de plástico (Figura 35c) e fixada no pescoço do animal
com o auxílio de um colar de diâmetro ajustável (Figura 35d).
Infelizmente não foi possível testar os algoritmos de localização dos animais,
uma vez que seriam necessárias várias unidades de módulos transceptores XBee
(pelo menos 5). No entanto, até o momento da conclusão deste texto só
dispúnhamos de duas unidades. Este problema, no entanto, não impossibilitou o
teste do subsistema de monitoramento dos animais, ou seja, da leitura dos sensores
de umidade, temperatura e frequência cardíaca.
Inicialmente o sistema apresentou dificuldades na medição da frequência
cardíaca do animal. Isso é atribuído a grande quantidade de pelos que o animal
escolhido possuía, o que impossibilitava que os eletrodos da cinta transmissora
ficassem encostados na pele do animal. Dessa forma, decidiu-se substituir o animal
por outro com uma menor quantidade de pelos. Após a substituição o sistema
conseguiu medir a frequência cardíaca de forma adequada. Assim, para um
funcionamento correto do sistema é necessário que a área em que a cinta
transmissora for instalada possua pouca pelagem ou esteja raspada.
Também foi constatado que uma coleira do tipo peitoral é mais adequada
para suportar o peso do circuito instalado no animal. Durante os testes, o colar com
a placa de circuito impresso oscilava em torno do pescoço do carneiro, o que pode
causar um incômodo desnecessário ao animal e oferecer mais risco de danos físicos
ao hardware. Outro fator importante é a massa do equipamento. Nos testes
realizados, a bateria de 9V recarregável utilizada foi responsável por cerca 40% da
massa do equipamento (aproximadamente 150 gramas). Dessa forma, é
interessante buscar baterias alternativas que permitam reduzir a massa total do
equipamento.
73
Figura 35 - Experimentação em Animais. a) Animal equipado com o sistema; b) Circuito alimentado por
uma bateria de 9 volts; c) Hardware encapsulado em uma caixa de plástico; d) Colar para fixar o
equipamento no animal; e) Computador com a estação coordenadora e software em funcionamento; e f)
Animal utilizado no experimento e autor do projeto.
Levando-se em conta que variáveis meteorológicas, como a temperatura do
ar e umidade relativa, afetam o conforto térmico e, consequentemente, a produção e
reprodução animal, acredita-se que os dados medidos pelos sensores, juntamente
74
com os dados de localização dos animais, poderão auxiliar de forma significativa as
seguintes atividades:

Estudo do efeito da umidade relativa e temperatura ambiente na qualidade de
vida e produção dos animais;

Análise de hábitos de pastejo e alterações de comportamento dos animais
através do rastreamento da sua localização;

Análise e projeto de novos algoritmos para a localização por RSSI;

Desenvolvimento de algoritmos para detecção automática de alterações
comportamentais e fisiológicas dos animais.
É interessante ressaltar que o uso deste tipo de tecnologia para o
monitoramento de animais ainda é relativamente nova, o que proporciona um grande
potencial de inovação, crescimento e avanço nesta área de estudo.
75
5.
Conclusões
As Redes de Sensores Sem Fio constituem uma tecnologia que tem ampliado
significativamente as perspectivas científicas e industriais para os próximos anos. A
capacidade de monitorar e controlar o ambiente, aliada a um baixo consumo de
energia, permite a aplicação da tecnologia em diversos setores da sociedade. No
entanto, a utilização das RSSFs ainda é tímida, principalmente no setor
agropecuário.
Neste trabalho foi proposto e desenvolvido um sistema composto por
hardware e software capaz de monitorar e localizar caprinos utilizando uma Rede de
Sensores sem Fio baseada no protocolo ZigBee 802.15.4. Cada animal é equipado
com um nó sensor responsável por estimar a sua localização, através de métodos
baseados na intensidade do sinal recebido (RSSI), e medir a temperatura ambiente,
umidade relativa e frequência cardíaca do animal.
De forma geral, acredita-se que o projeto desenvolvido atingiu os objetivos
pretendidos. A rede de sensores sem fio baseada no protocolo ZigBee/802.15.4 foi
montada e permitiu a aquisição à distância de dados dos sensores instalados nos
animais. Algoritmos de localização foram estudados e codificados no firmware do
microcontrolador utilizado nas estações móveis, no entanto não foi possível testar
em campo a precisão e eficácia dos algoritmos uma vez que não dispúnhamos, até
o momento da conclusão deste texto, de materiais em quantidade suficiente.
Também foi construída uma placa de circuito impresso para a estação móvel
composta, basicamente, por sensores, transceptor de rádio e microcontrador. Para
processar e armazenar os dados obtidos pela RSSF foi desenvolvido um software
que permite, através de uma interface gráfica, a visualização em tempo real dos
dados recebidos, bem como a consulta dos dados armazenados no banco de dados.
5.1. Trabalhos Futuros
Em trabalhos futuros pretende-se realizar testes de campo mais robustos
com o objetivo de validar o sistema de monitoramento, avaliando a precisão dos
sensores utilizados em relação a métodos cientificamente aceitos e comumente
encontrados na literatura.
76
Também serão testados, em campo, os algoritmos de localização baseados
em RSSI, de forma a identificar o que apresenta o melhor desempenho, bem como
identificar as vantagens e desvantagens em relação à utilização de um sistema de
GPS.
Pretende-se avaliar novas alternativas de fontes de energia como, por
exemplo, energia solar, de forma que as baterias sejam recarregadas durante o
funcionamento do sistema em campo.
A partir dos dados de localização e dos sensores instalados nos animais,
pretende-se
também
desenvolver
algoritmos
que
possam
identificar
automaticamente alterações comportamentais, problemas de saúde, cio, hábitos
alimentares e hábitos de pastejo do rebanho.
Em relação ao hardware desenvolvido, nas versões posteriores, pretende-se
reduzir as dimensões da placa de circuito impresso a partir da utilização de
componentes SMD de forma que seja possível desenvolver uma placa de duas
faces. Também deverá ser desenvolvido um mecanismo de economia de energia, de
forma a gerenciar os modos Sleep do microcontrolador e do módulo XBee, quando
não estiverem em uso.
A medição de outras variáveis importantes, como frequência respiratória,
temperatura da pele do animal e temperatura retal, também deverá ser adicionada
ao sistema. No entanto, isso dependerá da existência e viabilidade de sensores.
77
6.
Referências
AKYLDIZ, Ian. F. et al. (2002). A Survey on Sensor Networks. IEEE Communications
Magazine, Vol.40 (8), p. 102-114.
ALEMDAR, Hande; ERSO, Cem. (2010). Wireless sensor networks for healthcare: A
survey. Computer Networks 54. p. 2688–2710.
BARONTI, PAOLO; PRASHANT, Pillai; CHOOK, Vince W.C.; CHESSA, Stefano;
GOTTA, Alberto; HU, Y. Fun. (2007). Wireless sensor networks: A survey on
the state of the art and the 802.15.4 and ZigBee standards. Computer
Communications (30). p. 1655-1695. doi:10.1016/j.comcom.2006.12.020.
BURATTI, Chiara; CONTI, Andrea; DARDARI, Davide; VERDONE, Roberto. (2009)
An Overview on Wireless Sensor Networks Technology and Evolution.
Sensors 2009, 9, 6869-6896; doi:10.3390/s90906869.
BUTLER, Declan. (2006). 2020 computing: Everything, everywhere. Nature 440,
402–405. doi:10.1038/440402a
CANIELLO, Márcio. A caprinocultura e o desenvolvimento do Semiárido: uma
proposta
para
a
UFCG.
Disponível
em
<
http://www.cdsa.ufcg.edu.br/portal/index.php?option=com_content&view=articl
e&id=889:a-caprinocultura-e-o-desenvolvimento-do-semiarido-uma-propostapara-a-ufcg&catid=92:artigos&Itemid=460#>. Acesso em Junho de 2012.
CARDENAS-LAILHACAR, B.; DUKES, M.D. (2010). Precision of soil moisture sensor
irrigation controllers under field conditions. Agricultural Water Management, n.
97, p. 666-672.
CERNY M., PENHAKER M. (2010). Personal System of Remote Health Care. 2nd
International Conference on Mechanical and Electronics Engineering (ICMEE),
Volume 1 p. 413-415.
COELHO, Lídio Afrânio Ramos. (2011). Efeitos do estresse térmico sobre
parâmetros reprodutivos de ruminantes: novas perspectivas. Trabalho de
Conclusão de Curso (Graduação em Medicina Veterinária) - Universidade
Federal do Vale do São Francisco, Campus de Ciências Agrárias, PE, 2011.
DIGI International. (2011). XBee®/XBee-PRO® ZB RF Modules - 90000976_H.
78
FAWC,
Farm
Animal
Welfare
Council.
Five
Freedoms.
Disponível
em
<http://www.fawc.org.uk/freedoms.htm>. Acesso em Junho de 2012.
FRASER, D; WEARY, D M; PAJOR, E A; MILLIGAN, B N. (1997). Scientific
Conception Of Animal Welfare That Reflects Ethical Concerns. Animal Welfare
1997, 6: 187-205.
GISLASON, Drew. (2008). ZigBee Wireless Networking. Newnes; 1st edition. 448 p.
ISBN-13: 978-0750685979.
HOARE, T.; MILNER, R. (eds) 2004. Grand challenges in computing–research. The
British Computing Society. ISBN 1-902505-62-X.
KAUSHISH, S. K.; GEORGE, G. C.; SENGUPTA, B. P. Effect of heat and water
restriction on physiological responses of Beetal and Black Bengal goats.
Indian Journal Animal Science, New Delhi, v. 57, n. 5, p. 461-465, 1987.
LAU, Erin-Ee-Lin; LEE, Boon-Giin; LEE, Seung-Chul; CHUNG, Wan-Young. (2008).
Enhanced Rssi-Based High Accuracy Real-Time User Location Tracking
System For Indoor And Outdoor Environments. International Journal On Smart
Sensing And Intelligent Systems, Vol. 1, No. 2, June 2008.
LEE, J. A.; ROUSSEL, J.D.; BEATTY, J.F. Effect of temperature season on bovine
adrenal cortical function, blood cell profile, and milk production. Journal of
Dairy Science, Champaign, v.59, n.1, p.104-108, 1974.
MALAN, S. W. (2000). The improved Boer goat. Small Ruminant Research, v. 36, p.
165 - 170, 2000.
MASIERO, Riccardo. (2007). Rssi Based Tracking Algorithms For Wireless Sensor
Networks: Theoretical Aspects And Performance Evaluation. Corso di Laurea
Specialistica in Ingegneria delle Telecomunicazioni A.A.
MOORE D., LEONARD J., RUS D., TELLER S., Robust Distributed Network
Localization with Noisy Range Measurements, SenSys’04,
Baltimore,
Maryland, USA, November 2004.
NÓBREGA, Giovanna Henriques da; SILVA, Elisângela Maria Nunes da; SOUZA,
Bonifácio Benício de; MANGUEIRA, Júlia Marry. A Produção Animal Sob A
Influência Do Ambiente Nas Condições Do Semiárido Nordestino. Revista
Verde (Mossoró – RN – Brasil) v.6, n.1, p. 67 - 73 janeiro/março de 2011.
79
PATWARI, N., Location Estimation in Sensor Networks. Electrical Engineering PhD
thesis, The Univerisity of Michigan, USA, 2005.
POLYCARPO, Rafaela Carareto. Zootecnia de Precisão na Pecuária Leiteira: Ficção
científica
ou
necessidade
para
o
futuro?.
Disponível
em
<http://www.milkpoint.com.br/radar-tecnico/sistemas-de-producao/zootecniade-precisao-na-pecuaria-leiteira-ficcao-cientifica-ou-necessidade-para-ofuturo-75979n.aspx>. Acesso em Junho de 2012.
RAPAPPORT, Theodore S. (1996). Wireless Communications:
Principles and
Practice, Prentice Hall, 1996. ISBN 0-13-375536-3.
SBC, Sociedade Brasileira de Computação. (2006). Grandes desafios - Computação
no Brasil 2006-2016.
SILVA, E.M.N. da; SILVA, G.A.; SOUZA, B.B. de Influência de fatores ambientais
sobre a resposta fisiológica e a produção de leite. 2010. Artigo em Hypertexto.
Disponível em: <http://www.infobibos.com/Artigos/2010_4/FatoresAmbientais
/index.htm>. Acesso em: 5/6/2012
SOUZA, B.B.; SOUZA, E.D.; SILVA, R.M.N.; CEZAR, M.F.; SANTOS, J.R.S.; SILVA,
G.A. Respostas fisiológicas de caprinos de diferentes grupos genéticos no
semi-árido paraibano. Ciência e Agrotecnologia, Lavras, v.32, n.1, p.314-320,
2008.
SOUZA, E. D.; SOUZA, B. B.; SOUZA, W. H. Determinação dos parâmetros
fisiológicos e gradiente térmico de diferentes grupos genéticos de caprinos no
Semi-Árido. Ciência e Agrotecnologia, v.29, n.1, p.177-184. 2005.
SUNG, Wen-Tsai; HSU, Yao-Chi. Designing an industrial real-time measurement and
monitoring system based on embedded system and ZigBee. Expert Systems
with Applications 38 (2011) 4522–4529.
WARK, T. ; CORKE, P. ; SIKKA, P. ; KLINGBEIL, L. ; YING GUO ; CROSSMAN,
C. ;
VALENCIA, P. ;
SWAIN, D. ;
BISHOP-HURLEY, G. (2007).
Transforming Agriculture through Pervasive Wireless Sensor Networks.
Pervasive Computing, IEEE v. 6, p. 50-57, 2007.
YICK, Jennifer; MUKHERJEE, Biswanath; GHOSAL, Dipak. Wireless sensor network
survey. Computer Networks. 2008. p. 2293-2330.
80
YUSSOFF, Y.; ABIDIN, H.Z.; RAHMAN, R.A.; YAHAYA, F.H. Development of a PICBased Wireless Sensor Node Utilizing XBee Technology. (ICIME) IEEE
International Conference on Information Management and Engineering, 2010,
p. 116-120. Digital Object Identifier: 10.1109/ICIME.2010.5477666.
Download

Rede de Sensores Sem Fio Para Localização e