Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ZigBee
Ferdinando Monsignore
So Carlos
2007
Agradecimentos
Ao Pai Celestial, pela proteo e luz dada durante todo o
desenvolvimento deste trabalho;
A minha orientadora Profa. Dra. Maria Stela Veludo de
Paiva, por me ensinar e por sua amizade durante todo o percurso;
A todos os amigos de repblica, por sua amizade e presena em todas as horas;
A N3E, que teve papel muito importante na realizao
deste trabalho;
Aos meus avs, pais e irmos, pelo apoio irrestrito e carinho em todos os momentos desde sempre;
Em especial a minha namorada Mnica C. Miranda, por
seu amor, companheirismo e incansvel apoio durante a realizao
deste trabalho.
Resumo
MONSIGNORE, F. (2007), Sensoriamento de ambiente utilizando o padro ZigBee. Dissertao (Mestrado) - Escola de Engenharia de So Carlos, Universidade de So Paulo, So Carlos,
2007. 74p.
A comunicao sem fio (wireless) vem sofrendo uma enorme expanso nos ltimos anos. Para
esse tipo de comunicao foram criados alguns padres, destacando-se o Wi-Fi, o Bluetooth
e mais recentemente o ZigBee. Este ltimo, o ZigBee, engloba aplicaes de monitorao e
sensoriamento de sistemas, o que o torna adequado para aplicaes residenciais. Essa caracterstica do ZigBee motivou o desenvolvimento desse trabalho, cujo objetivo foi o de avaliar o
padro ZigBee atravs de uma aplicao de monitorao e sensoriamento para uso residencial,
utilizando um kit de desenvolvimento da Microchip. Esse trabalho consiste em dois ns se comunicando via ZigBee, onde um n possui um sensor de movimento, uma lmpada e um LED
(que simula um aparelho de ar condicionado) e um segundo n, que pode ser conectado a um
PC via USB utilizando um hardware externo desenvolvido. Esse n ainda possui um sensor de
temperatura, um sensor de luminosidade(LDR) e um sinalizador acstico.
Os resultados obtidos mostram que o ZigBee um padro eficiente para aplicaes de monitorao e sensoriamento de ambientes.
ii
Abstract
MONSIGNORE, F. (2007), Environment sensing using ZigBee standard. M.Sc. Dissertation Escola de Engenharia de So Carlos, Universidade de So Paulo, So Carlos, 2007. 74p.
A huge expansion has occurred in wireless communication in the last few years. Some wireless
standards were created, like Wi-Fi, Bluetooth and more recently the ZigBee standard, that includes monitoring and sensing systems application. This characteristic makes the ZigBee standard
appropriate for residencial applications. This ZigBee characteristic motivated the development
of this work, wich objective was evaluate the ZigBee standard through a monitoring and sensing
application for residencial use, using a development kit by Microchip. This application has two
nodes communicating through ZigBee. One node has a motion sensor, a lamp and a LED (that
simulates an air conditioner device) and the second one can be connected to a PC through USB
using a developed external hardware. This node also has a temperature sensor, a light dependent
resistor (LDR) and a beep.
The reached results shows that ZigBee is an efficient standard for environment monitoring and
sensing.
SUMRIO
vii
Lista de smbolos
xi
Lista de Figuras
xiii
Lista de Tabelas
xv
1 Introduo
1.1
Contextualizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5
Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Comunicao Wireless
2.1
Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
2.3
Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.4
Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.5
ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
iv
2.6
17
19
3.1
Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.2
O Padro ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.2.1
Topologias de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.2.2
Pilha Protocolar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.2.3
Camada PHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.2.4
Camada MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.2.5
Camada de Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
3.2.6
Camada de Aplicao . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2.7
27
Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.3
Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trabalho Desenvolvido
31
4.1
Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.2
Funes Implementadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.3
Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.3.1
Comunicao Entre os Ns . . . . . . . . . . . . . . . . . . . . . . . .
33
4.3.2
34
4.4
Ferramentas de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.5
Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
37
v
5.1
Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
5.2
37
5.2.1
Sensor de Temperatura . . . . . . . . . . . . . . . . . . . . . . . . . .
38
5.2.2
Sensor de Movimento . . . . . . . . . . . . . . . . . . . . . . . . . .
38
5.2.3
Sensor de Luminosidade . . . . . . . . . . . . . . . . . . . . . . . . .
38
5.2.4
USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
Descrio do Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.3.1
PICDEM Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.3.2
Sensor de Temperatura . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.3.3
43
5.3.4
USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3.5
Sensor de Movimento . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.3.6
Led . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.3.7
Lmpada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.3.8
49
Descrio do Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.4.1
Pilha ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.4.2
Software Desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . . .
52
Resultados e Discusses . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
5.3
5.4
5.5
6 Concluses
55
6.1
Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
6.2
Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
vi
6.3
56
Referncias Bibliogrficas
59
63
A.1 Coordenador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
A.1.1 Inicializao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
63
67
69
70
A.2.1 Inicializao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
71
A.2.3 Lmpada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
A.2.4 LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
Alternate Current
Ack
Acknowledgment
ADC
AES
AF
Application Framework
APS
Applications Support
CAP
CD
Compact Disc
CE
Chip Enable
CLK
Clock
CNPq
FDM
FFD
Full-Function Device
FHSS
GND
Ground
GPRS
GSM
GTS
HAN
IEEE
viii
IP
Internet Protocol
ISM
KVP
Key-Value Pair
LAN
LCD
LDR
LQI
MAC
MAN
MSG
NWK
Network
PAN
PC
Personal Computer
PCI
PDA
PHY
Physical
QoS
Quality of Service
RF
Rdio Freqncia
RFD
Reduced-Function Device
RS232
RTC
SDI
Serial Data In
SDI/O
SDO
SNR
SPI
ix
TTL
UART
USB
UWB
WAN
Wi-Fi
Wireless Fidelity
ZDO
LISTA DE SMBOLOS
Ohm
oC
Graus Celsius
Ampere
Byte
Giga
Hz
Hertz
Kilo
Mega
Volts
xii
LISTA DE FIGURAS
2.1
2.2
DREOLLO, 2005) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
3.1
20
3.2
22
3.3
23
3.4
24
3.5
3.6
25
Transmisso indireta em redes (a) beacon habilitado, e (b) beacon no habilitado. Fonte: (LEE, 2005) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
3.7
28
3.8
29
4.1
32
4.2
33
4.3
36
5.1
Trabalho Desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
5.2
41
xiv
5.3
41
5.4
42
5.5
42
5.6
43
5.7
44
5.8
45
5.9
46
46
46
47
47
48
48
49
50
53
54
6.1
56
PIXIE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LISTA DE TABELAS
1.1
2.1
INTRODUO
1.1
Contextualizao
A comunicao wireless j est presente h algum tempo no cotidiano das pessoas,
tendo sofrido uma enorme expanso nos ltimos anos. Os mais difundidos padres wireless so
o Wi-Fi e o Bluetooth. Apenas recentemente comeou a se pensar num padro especfico para
se trabalhar com sistemas de monitorao e sensoriamento, tais como sistemas de automao
domstica, segurana, controle de iluminao e de acesso, etc. Os principais requisitos deste
tipo de sistema so baixa latncia, otimizao para baixo consumo de energia, possibilidade de
implementao de redes com elevado nmero de dispositivos e baixa complexidade dos ns de
rede.
O padro ZigBee (ZIGBEE-ALLIANCE, 2006) um padro mais recente, criado
com o objetivo de suprir esses requisitos, e juntamente com o padro IEEE1 802.15.4 (GUTIERREZ et al., 2001), visa a uniformizao das redes pessoais (PAN) e das redes domsticas
(HAN) de ltima gerao, garantindo a confiabilidade, a segurana na comunicao e a maximizao do tempo de vida til das baterias.
Cabe lembrar que o Zigbee no foi idealizado para substituir o Bluetooth. Cada
um especfico para um tipo de aplicao. A tabela 1.1 apresenta a comparao entre as duas
tecnologias sem fio. O ZigBee engloba aplicaes de monitorao e sensoriamento de sistemas,
enquanto que o Bluetooth mais apropriado para sistemas de transmisso de udio ou dados
ponto a ponto, sistemas que exigem uma taxa de transferncia mais alta.
1 Institute
1 Introduo
2
Especificao
Bluetooth
ZigBee
Camada
Fsica
802.15.1
802.15.4
Taxa
1Mbps
250Kbps
Durao das
Baterias
1 a 7 dias
100 a 1000 dias
Recursos
Ns
Alcance
250KB
4 a 32KB
7
65535
1 a 10m
100m
Tabela 1.1: Comparao de tecnologias sem fio. Fonte: (MALAFAYA; TOMS; SOUSA, 2005)
O ZigBee o mais apropriado para aplicaes que envolvam dispositivos remotos alimentados por baterias, sensores e atuadores, j que permite baixo consumo, taxas de
transferncia adequadas para este tipo de aplicao (de 20 a 250kbps) e possui uma pilha protocolar mais simples que possibilita a sua implementao em sistemas com recursos limitados.(MALAFAYA; TOMS; SOUSA, 2005)
1.2
Motivao
Este trabalho parte de um projeto do CNPq em conjunto com a N3E Nova Empresa,
que tem por objetivo a implementao de um sistema para monitorao e sensoriamento de ambientes residenciais utilizando comunicao sem fio.
A busca por um padro de comunicao sem fio, especfico para esse fim, levou
implementao desse presente trabalho, que visa principalmente avaliar o padro ZigBee para
tal aplicao.
1.3
Objetivos
O objetivo deste trabalho avaliar o protocolo de comunicao sem fio ZigBee
atravs de uma aplicao para uso residencial utilizando um kit de desenvolvimento da Microchip.
1.4 Contribuies
1.4
Contribuies
Uma rede de comunicao sem fios minimiza a utilizao de cabos na instalao
eltrica de uma residncia. Os cabos que hoje fazem o papel de retorno para lmpadas, e os
cabos que ligam e alimentam os sensores espalhados pelas casas, entre outros, podero ser
substitudos por mdulos ZigBee com alimentao por baterias, que podem durar vrios anos.
Esse o maior diferencial desse trabalho, pois j existem aplicaes para uso residenciais que visam conforto, segurana e economia para os usurios, como pode ser visto em
Home-Control (2006), mas a maioria possui cabeamento para tal.
Um outro aspecto muito importante a utilizao da interface USB2 na coleta dos
dados. Nos ltimos anos vem ocorrendo uma substituio gradativa das interfaces seriais no
padro RS232 pela do padro USB nos PCs, e visto que a tendncia aponta para um total desaparecimento das interfaces seriais do padro RS232, torna-se de suma importncia a presena
de uma conexo USB no n ZigBee que se comunicar com um PC para descarga de dados.
1.5
Estrutura do trabalho
Este trabalho est dividido em 6 captulos e 1 apndice.
No primeiro captulo foi apresentada a introduo, destacando a aplicabilidade, im-
2 Universal
Serial Bus
1 Introduo
COMUNICAO WIRELESS
2.1
Consideraes Iniciais
Neste captulo realizada uma reviso dos trabalhos mais recentes na literatura
2.2
eletromagnticas carregam o sinal sobre parte ou todo o trajeto de comunicao sem a utilizao
de cabos (JINDAL; JINDAL; GUPTA, 2005).
As redes wireless mantm a promessa do acesso informao em qualquer lugar.
Esta promessa conduziu distribuio difundida dos servios de voz e dados baseados em
tecnologia wireless, exemplificado por redes de celulares e por redes de rea local sem fio
(WLAN) (NUGGEHALLI; SRINIVASAN; RAO, 2006).
apresentado a seguir um breve histrico da comunicao wireless:
1839 - 1a mensagem telegrfica em cdigo morse - o 1o SMS !
1867 - Fundao da indstria telefnica, a Bell, precursora da AT&T.
1900 - 1a Transmisso Wireless - MARCONI, ondas de rdio.
1972 - 1a Demonstrao de telefonia celular - MOTOROLA
1999 - Criao da Wi-Fi Alliance.
1999 - Formalizado o Bluetooth Special Interest Group (SIG).
2 Comunicao Wireless
PAN
Esse tipo de rede geralmente tem alcance bem restrito, da ordem de alguns metros.
LAN
Esse tipo de rede j possui um alcance de algumas dezenas de metros.
MAN (Metropolitan Area Network)
O alcance desse tipo de rede j da ordem de dezenas de quilmetros.
WAN (Wide Area Network)
A proposta deste tipo de rede ter um alcance global, a exemplo do que acontece com a
tecnologia GSM (Global System for Mobile Communications) .
Figura 2.2: Comparao de redes Wireless. Fonte: (BRANQUINHO; REGGIANI; ANDREOLLO, 2005)
O padro ZigBee, juntamente com os padres Bluetooth e Ultra Wide Band (UWB)
pertencem ao mesmo tipo de rede, a PAN, que possui um alcance restrito, da ordem de at 10
metros para o UWB, de 10 metros para o Bluetooth e de 10 a 100 metros para o padro ZigBee,
conforme especificado na Figura 2.3. Tambm pode ser visto nessa figura o alcance do Wi-Fi,
que de 100 metros para os padres 802.11b e 802.11g e de 50 metros para o padro 802.11a.
1 Depende
do rdio
2 Comunicao Wireless
Segurana
Freqncia de Operao
Complexidade
Topologias de Rede
Nmero de dispositivos por rede
Escalabilidade/ Extendabilidade
Flexibilidade
Elasticidade e confiabilidade
ZigBee
Bluetooth
10 a 100 metros
at 400 metros
10 metros
acima de 100 metros1
20 a 250kbps
1Mbps
30ms
15ms
20s
3s
15ms
Anos
Requer Alimentao
do escravo otimizada
128 bit AES e definvel na
camada de aplicao de usurio
868MHz, 902-928 MHz,
2,4 GHz ISM
Simples
Adhoc, estrela,
malha hbrida
2 a 65.000
muito alta/ sim
Muito alta
2ms
Dias
Funcionalidades
adhoc maximizadas
64 bit, 128 bit
Muito alta
Tabela 2.1: Comparao de caractersticas desejveis entre Bluetooth e ZigBee. Fonte: (BAKER, 2005)
A Tabela 2.1 mostra uma comparao feita por Baker (2005), entre os padres
ZigBee e Bluetooth, das caractersticas desejveis em uma rede wireless, onde AES significa
Advanced Encryption Standard e elasticidade seria o equivalente mobilidade. A freqncia
de operao industrial, cientfica e mdica (ISM) uma freqncia livre.
Sakuragui (2006) diz que:
Redes ad hoc so redes desprovidas de infra-estrutura ou organizao central, compostas por dispositivos mveis sem fio que, dada sua mobilidade e liberdade, podem
entrar ou sair da rede de modo aleatrio.
Ainda na tabela 2.1 o termo Piconet refere-se a um tipo de rede ad hoc de dispositivos, que utiliza a tecnologia Bluetooth para permitir que o dispositivo mestre se conecte com
at sete dispositivos escravos ativos.
De acordo com a Tabela 2.1 o ZigBee apresenta as seguintes diferenas mais marcantes em relao ao Bluetooth: tempo de insero de um novo escravo na rede bem menor,
uma complexidade bem menor e um nmero de dispositivos por rede bem mais elevado, entre
outras.
No que se refere alimentao desejvel, para o tipo de aplicao que o ZigBee
engloba, que ela tenha uma longa durao.
O problema de eficincia energtica em um ambiente wireless foi abordado em
Nuggehalli, Srinivasan e Rao (2006), onde se considerou um transmissor wireless como sendo
limitado por seu recurso de bateria finito. O objetivo deste artigo foi desenvolver um esquema
de transmisso que maximizasse a vida til da bateria sujeitando os delays a algumas restries.
Para tal foram exploradas duas idias no conexas:
1. a codificao do canal pode ser usada para conservar energia, transmitindo em nveis de
potncia reduzidos, atravs de intervalos de tempo maiores;
2. uso de mecanismos eletro-qumicos nas baterias, permitindo que elas recuperem energia
durante os perodos de inatividade.
2 Comunicao Wireless
10
2.3
Wi-Fi
Em Lansford, Stephens e Nevo (2001) apresentada uma introduo sobre a coe-
xistncia entre Bluetooth e Wi-Fi (dado que os dois operam na mesma banda de freqncia de
2,4GHz), com uma ateno especial para cenrios que requerem uma operao simultnea. O
artigo contm tambm uma explicao bsica sobre os mecanismos de interferncia e quantifica seu impacto atravs de medidas atuais e simulaes. O resultado chave desse trabalho
que enquanto a performance dos dois sistemas pode degradar quando eles so co-alocados, um
nmero de tcnicas pode ser empregado para eliminar virtualmente os problemas, tais como
buscar uma banda de freqncia alternativa (5GHz), ou promover alteraes nas camadas de
controle de acesso ao meio (MAC) ou fsica (PHY).
Em Jindal, Jindal e Gupta (2005) o termo WI FI encontrado com o significado de
wireless fidelity (fidelidade sem fio) e geralmente se refere a qualquer tipo de rede que usa o
padro 802.11, entre eles o 802.11b, o 802.11a e o 802.11g. WI-FI uma tecnologia sem fio
que usa freqncias de radio para transmitir dados.
Em Ferro e Potort (2005) feita uma comparao entre os padres Wi-Fi e Bluetooh. Segundo o artigo, o objetivo do padro IEEE 802.11 fornecer a conectividade sem fio
aos dispositivos que requerem uma instalao rpida, tal como computadores portteis, PDAs
(Personal Digital Assistant), ou dispositivos geralmente mveis dentro de uma rede de rea
local sem fio (WLAN). A comparao foi feita em termos de capacidade, topologias de rede,
segurana, suporte a qualidade de servio (QoS) e consumo de potncia. Algumas das caractersticas, como tipos de conexo de dados, performance, topologias, e MAC, esto estveis
e bem definidas pelos padres. Outras, como consumo de potncia, QoS, e segurana, so
desafios ainda em aberto, onde a tecnologia est melhorando continuamente.
2.3 Wi-Fi
11
802.11b
o tipo de rede de maior alcance, bem suportado, estvel e de melhor relao custo
benefcio. Opera na banda de 2.4 GHz, o que o deixa mais propenso a sofrer interferncia de outros dispositivos (fornos de microondas, telefones sem fio, etc) e
tambm possui desvantagens de segurana;
O nmero de pontos de acesso se limita a trs;
Composto de 11 canais, com 3 no sobrepostos, e possui taxas de 1 a 11Mbps;
Usa a tecnologia DSSS2 (PETERSON; ZIEMER; BORTH, 1995).
802.11g
uma extenso do 802.11b, com as mesmas desvantagens (segurana e interferncia);
Possui um alcance menor que o do 802.11b;
compatvel com o 802.11b, permitindo uma transio suave do 11b para o 11g;
flexvel, pois vrios canais podem ser combinados para uma rpida transferncia,
mas limitado a apenas um ponto de acesso;
Suporta taxas de 54Mbps;
Usa a tecnologia de multiplexao por diviso de freqncia (FDM) (PROAKIS,
2001).
802.11a
completamente diferente do 11b e do 11g;
flexvel porque vrios canais podem ser combinados para uma rpida transferncia
e mais de um canal pode ser utilizado;
2 Direct
2 Comunicao Wireless
12
2.4
Bluetooth
O nome Bluetooth tem sua origem no nome do rei Harald Bluetooth Gormson (911-
986), conhecido como Harald I of Denmark, que foi um rei do sculo 10 que se ocupou com a
diplomacia, facilitando a negociao entre diferentes grupos.
Bluetooth agora mais comumente, refere-se especificao sem fio Bluetooth,
projetada para permitir conexes livres de cabos entre computadores, telefones mveis, PDAs,
impressoras e outros equipamentos eletrnicos. O logo de Bluetooth consiste das runas nrdicas
para suas iniciais, H e B (WIKIPEDIA, 2006a).
Um transceptor Bluetooth um dispositivo FHSS4 (PETERSON; ZIEMER; BORTH,
1995) que usa a freqncia ISM no licenciada de 2,4 GHz. Na maioria dos pases existem 79
canais disponveis, mas alguns pases permitem o uso de apenas 23. A largura de banda nominal
para cada canal de 1MHz.
3 Internet
Protocol
Hopping Spread Spectrum
4 Frequency
2.4 Bluetooth
13
Segundo Haartsen (1998), Bluetooth uma interface de rdio que permite que dispositivos eletrnicos portteis possam se conectar e se comunicar sem fio, com um alcance
limitado em redes ad hoc. Cada unidade pode comunicar simultaneamente com at sete outras unidades por piconet. Alm disso, cada unidade pode simultaneamente pertencer a vrias
piconets.
McDermott-Wells (2004-2005) explica o conceito de piconet, ja mencionado na
seo 2.2. A especificao do Bluetooth define uma piconet como sendo um agrupamento
espontneo e especfico de dispositivos Bluetooth, ou seja, os dispositivos se conectam automaticamente, criando uma rede sem a necessidade do usurio cri-la. Nessa rede, um dispositivo
assume o papel de mestre, enquanto que os outros dispositivos so escravos, podendo haver um
nmero mximo de sete escravos ativos na piconet.
Salonidis et al. (2001) apresenta uma maneira de construir topologias distribudas para redes PANs do tipo Bluetooth, atravs de um protocolo de construo de topologias
Bluetooth. um protocolo distribudo assncrono para a construo de scatternets que comeam com ns que no possuem conhecimento da sua vizinhana e termina com a formao de
uma rede conectada satisfazendo todas as restries de conectividade propostas pela tecnologia
Bluetooth.
Segundo Zheng e Feng (2002), a tecnologia Bluetooth bastante complexa por ser
principalmente baseada no padro 802.11 e por utilizar o modo ad-hoc. Isto significa que cada
estao deve observar e dar a todas as outras unidades um acesso equivalente mdia sem
fios. Alm disso, Bluetooth uma tecnologia complexa que incorpora tanto hardware quanto
software. Embora dispositivos Bluetooth prometem ser simples e transparentes aos usurios,
eles so completamente complexos e caros para seus programadores. Para criar uma aplicao
Bluetooth completa, programadores precisam desenvolver ou adquirir tanto o hardware quanto
o software. O artigo conclui que o padro Bluetooth deveria ser simplificado para poder tornar
o desenvolvimento de uma interface Bluetooth mais simples e de menor custo.
2 Comunicao Wireless
14
Cordeiro et al. (2003a) apresenta um mtodo para fornecer acesso global a WPANs
Bluetooth utilizando WLANs 802.11. Para isso, faz uso de uma nova arquitetura Bluetooth,
denominada BLUESTAR, segundo a qual so selecionados dispositivos Bluetooth, chamados
Bluetooth Wireless Gateways (BWGs), que tambm possuem o padro IEEE 802.11. Assim
esses BWGs servem de pontos de conexo entre as redes sem fio do padro 802.11 (Wi-Fi) e
Bluetooth.
Cordeiro, Agrawall e Sadok (2003b) fez um estudo sobre a modelagem da interferncia e a performance do protocolo MAC Bluetooth. Utilizando vrias piconets numa mesma
vizinhana trabalhando na mesma banda de freqncia, empregou um modelo de captura de
sinais para estudar a performance da camada MAC da piconet. Os resultados obtidos indicam
que o rendimento do Bluetooth afetado pela interferncia de vrias piconets.
Um dos problemas do Bluetooth que opera na mesma banda de freqncia do microondas. Surgiu ento o receio de interferncia do forno de microondas sobre redes Bluetooth.
Para esclarecer essa questo, Rondeau, DSouza e Sweeney (2004) fez um estudo com o intuito
de caracterizar o comportamento do forno de microondas e entender seus efeitos sobre as redes
Bluetooth. Os resultados obtidos foram os seguintes: com dois dispositivos Bluetooth em uma
mesma piconet, a um metro de distncia do forno de microondas, os dados da rede obtiveram
um rendimento de 50% devido interferncia. J a mesma piconet a 10 metros de distncia do
forno no apresentou nenhuma perda devido interferncia no sinal. Aproximando a piconet do
forno, a interferncia no sinal comea a ser percebida apenas a partir de 5 metros, mas mesmo
a um metro de distncia a rede manteve a conexo e apresentou um rendimento aproveitvel.
Em Chakrabarti et al. (2004) apresentado um mtodo de controle de dispositivos
presentes em um ambiente, com Bluetooth habilitado remotamente, na casa ou escritrio, e em
qualquer parte do mundo conectado internet. Para controlar os parmetros dos dispositivos no
ambiente remoto Bluetooth, foi utilizado um applet Java para poder ser acessado por qualquer
navegador que estivesse conectado internet e com Java habilitado.
2.5 ZigBee
15
Em Marsan, Chiasserini e Nucci (2006) apresentado um estudo sobre a determinao de uma topologia tima para as redes PAN baseadas no protocolo Bluetooth. Os resultados mostraram que topologias otimizadas podem ser muito robustas a mudanas na forma
do trfego. Os resultados tambm podem ser usados para encontrar um ponto timo entre a
complexidade do sistema e a eficincia da rede.
2.5
ZigBee
Segundo Norris (2005), ZigBee um novo padro para redes de telemetria sem fio,
otimizadas para baixo consumo de potncia e um longo perodo de operao da bateria. A pilha
protocolar ZigBee tem suporte a rede auto organizvel de dispositivos nas topologias rvore,
malha e estrela, permitindo uma instalao rpida de um sistema de telemetria sem fio interno.
ZigBee um padro de comunicao wireless que prov uma rede de curto alcance
e boa relao custo benefcio. Foi desenvolvido com nfase em aplicaes de baixo custo
alimentadas por bateria, tais como automao predial, controle industrial e comercial, marinha
sem fio, assistncia mdica pessoal e sistemas de tag avanados.
Com um dcimo dos requisitos de memria do Bluetooth e uma frao do poder
de processamento necessrio aos dispositivos de rede 802.11, ZigBee est sendo considerado
como a melhor soluo para sistemas de comunicao de baixa taxa de dados (20 a 250 kbps) e
curto alcance (10 a 100 metros) (STREETON; STANFIELD, 2005).
Segundo Streeton e Stanfield (2005), ZigBee tambm oferece:
2 Comunicao Wireless
16
2.6
17
Consideraes Finais
Este captulo descreve alguns trabalhos relacionados aos padres Bluetooth e ZigBee
para redes sem fio do tipo PAN, e tambm trabalhos relacionados ao padro Wi-Fi para redes
do tipo LAN.
Poucos trabalhos foram encontrados sobre a utilizao do padro Wi-Fi no sensoriamento, dado que esse padro no foi criado com esta finalidade. Nesses trabalhos, fica
claro que o consumo de potncia inviabilizaria a utilizao deste padro com a finalidade de
sensoriamento.
O padro Bluetooth mostrou ser complexo e de alto custo de implementao, alm
de sofrer interferncias at mesmo de outras redes Bluetooth colocadas num mesmo ambiente.
Os trabalhos relacionados, ao padro ZigBee, apesar de serem poucos por esse ser
um padro recente, confirmaram que o ZigBee se comporta bem mesmo para ambientes industriais pesados. O tamanho reduzido do hardware, a flexibilidade da rede e a elevada autonomia
de bateria foram fatores amplamente citados nos trabalhos como pontos positivos do padro
ZigBee.
18
2 Comunicao Wireless
19
3.1
Consideraes Iniciais
Neste captulo realizada uma reviso aprofundada dos padres ZigBee e 802.15.4
(IEEE-STANDARDS, 2003).
3.2
O Padro ZigBee
Estrela
Na configurao Estrela um dispositivo atua como o coordenador da PAN, o qual se encarrega de toda a comunicao em um dado canal de rdio. O coordenador da PAN deve
ser capaz de se comunicar com qualquer outro dispositivo na rede. Essa funcionalidade
existente em um dispositivo de funes completas (FFD) e implementada usando uma
pilha de software de aproximadamente 30Kbytes. Um coordenador de PAN deve estar no
modo de recepo quando ele no estiver transmitindo. Esta unidade provavelmente ir
consumir muita potncia para permitir operao com bateria, e provavelmente dever ter
uma fonte principal de alimentao. Um dispositivo de funes reduzidas (RFD) pode
20
21
1. Coordenador
O n do tipo coordenador o maior entre os trs, e o que possui uma maior complexidade, dado que ele o responsvel por indicar a ligao entre os ns atravs da Binding
Table, que ser abordada na seo 3.2.7. Este n do tipo FFD.
2. Roteador
Este tipo de n tem uma funo muito importante, a de ampliar o alcance entre determinados End Devices, fazendo com que os mesmos possam se encontrar a uma distncia
maior que a permitida entre dois ns. Este n tambm do tipo FFD.
3. End Device
Os End Devices so os ns que apenas possuem os End Points, que so os atuadores
propriamente ditos, podendo-se citar como exemplo as lmpadas, chaves, sensores de
temperatura, umidade, movimento, dependendo de qual a aplicao. Apenas este tipo
de n RFD.
22
16 canais com taxa de 250kbps na banda livre ISM 2,4 - 2,4835 GHz disponvel globalmente;
10 canais com taxa de 40kbps na banda ISM 902 - 928 MHz, disponvel na Amrica do
Norte
1 canal com taxa de 20kbps na banda 868,0 - 868,6 MHz, disponvel na Europa.
Na Figura 3.3 pode-se ver a estrutura dos canais nas 3 bandas diferentes.
23
sinalizado
Sense Multiple Access with Collision Avoidance
2 Carrier
24
No modo beacon3 existe uma estrutura de superframe (Figura 3.4) opcional, empregada quando uma garantia de acesso ao canal obrigatrio. O superframe inicia com um
beacon e seguido por 16 intervalos de tempo iguais. Os primeiros nove intervalos (CAP) podem ser usados por qualquer dispositivo, e os sete intervalos seguintes (denotados como GTS)
so reservados e podem ser alocados por um dispositivo atravs de um pedido.
25
quando um dispositivo deseja transferir dados ao coordenador, ele primeiro espera receber um beacon da rede, como mostrado na Figura 3.5 (a). Quando o beacon recebido,
o dispositivo sincroniza-se com a estrutura de superframe. Na hora apropriada, o dispositivo transmite seu frame de dados ao coordenador. O coordenador confirma a recepo do
dado com sucesso, transmitindo um frame de confirmao. Por outro lado, em redes com
beacon no habilitado, quando um dispositivo deseja transferir dados, ele simplesmente
transmite seu frame de dados ao coordenador. O coordenador confirma a recepo do
dado com sucesso, transmitindo um frame de confirmao, como mostrado na Figura 3.5
(b).
Figura 3.5: Transmisso direta em redes (a) beacon habilitado, e (b) beacon no habilitado.
Fonte: (LEE, 2005)
Transmisso de dados indireta: Este tipo de transferncia de dados o mecanismo para
transferir dados do coordenador para o dispositivo. Em uma rede com o beacon habilitado, quando o coordenador deseja transferir dados para um dispositivo, ele indica no
beacon da rede que existe uma mensagem pendente. O dispositivo periodicamente ouve
o beacon da rede e, se houver mensagem pendente, transmite um comando MAC pedindo
o dado. O coordenador confirma a recepo da requisio do dado com sucesso, transmitindo um frame de confirmao. O frame de dado pendente ento enviado. O dispositivo
confirma a recepo do dado com sucesso, transmitindo um frame de confirmao. Assim
que a confirmao recebida, a mensagem removida da lista de mensagens pendentes
no beacon. Esta seqncia mostrada na Figura 3.6 (a). Por outro lado, em uma rede
com o beacon no habilitado, o dado armazenado at que o dispositivo apropriado faa
26
Figura 3.6: Transmisso indireta em redes (a) beacon habilitado, e (b) beacon no habilitado.
Fonte: (LEE, 2005)
27
5 Key-Value
6 Message
Pair
Service Type
28
29
importante lembrar que os End Points podem ser lmpadas, sensores de movimento ou temperatura, entre outros. Um n pode ter mais de um End Point, como pode ser
visto na Figura 3.8 (ZIGBEE-ALLIANCE, 2005).
O n Z1 possui duas chaves (switchs), que na rede so os End Points EP3 e EP21,
enquanto que o n Z2 possui 4 lmpadas, EP5, EP7, EP8 e EP17.
A Binding Table responsvel por fazer a conexo entre os End Points. Ainda
na Figura 3.8, nota-se que a chave 1 (EP3) est ligada s lmpadas 1(EP5), 2(EP7) e 3(EP8),
enquanto que a chave 2 (EP21) est ligada lmpada 4(EP17).
Existem tambm ns ZigBee que possuem chaves e lmpadas, ou lmpadas e sensores. Nem sempre o n ZigBee possuir apenas sensores ou atuadores, ele pode ser de vrias
formas diferentes, dependendo da aplicao em que ele estiver inserido.
30
3.3
Consideraes Finais
As opes de configurao disponveis em uma rede ZigBee um de seus pontos
fortes, o que a deixa parte de alguns dos padres competidores, cujos protocolos torna-os
menos flexveis. Dessa forma o ZigBee satisfaz a necessidade de muitas aplicaes existentes
e certamente de outras que surgiro, mas sempre haver lugar para solues mais customizadas
em reas mais especficas (STREETON; STANFIELD, 2005).
31
TRABALHO DESENVOLVIDO
4.1
Consideraes Iniciais
Nesse captulo so apresentadas as funes implementadas no projeto de senso-
riamento, a metodologia que foi adotada e uma breve descrio das ferramentas que foram
utilizadas na criao e validao do software.
4.2
Funes Implementadas
No desenvolvimento do hardware e do software do projeto de sensoriamento foram
4 Trabalho Desenvolvido
32
Os desafios do trabalho foram: desenvolver o software que faz o controle dos sensores e atuadores e implementar e validar o hardware referente a cada uma das quatro etapas de
desenvolvimento citadas anteriormente.
Foram utilizados dois ns ZigBee. Um deles (Figura 4.1) possui interface USB
para se comunicar com um PC, um sensor de luminosidade (LDR), um sinalizador acstico,
que simula uma sirene e um sensor de temperatura, atravs do qual o n decide a hora de ligar
ou desligar o aparelho de ar condicionado.
4.3
Metodologia
A primeira fase desse trabalho consistiu no estudo da pilha protocolar ZigBee, pelo
4.3 Metodologia
33
HardwareInit()
Inicializa o hardware. Seleciona quais portas sero utilizadas como entrada ou sada, qual
o estado de cada uma delas na inicializao, inicializa o barramento de comunicao SPI
(Serial Peripheral Interface), entre outras coisas.
ZigBeeInit()
Inicializa a pilha ZigBee. Inicializa as camadas MAC, NWK, APS e ZDO.
ConsoleInit()
4 Trabalho Desenvolvido
34
35
Sinalizador acstico
Foi escolhido um sinalizador acstico da marca HXD de 5V, mas que funcionou bem em
3V3.
LED (simulando um aparelho de ar condicionado)
Lmpada
O acionamento da lmpada foi implementado com um triac. Para evitar algum dano a
uma das placas do kit, optou-se por montar o circuito em um protoboard.
4.4
Ferramentas de Desenvolvimento
Foi utilizado para o desenvolvimento do projeto, um kit da Microchip, denominado
PICDEM Z Demonstration Kit (MICROCHIP, 2006b), mostrado na Figura 4.3. Este kit
composto por duas PCIs PICDEM Z, onde cada uma delas contm:
Foram adquiridas duas fontes de 9V para serem utilizadas com as placas do kit
PICDEMZ, pois devido ao alto consumo de corrente durante a gravao dos PICs, as baterias
tiveram uma vida til muito reduzida, da ordem de uma semana.
4 Trabalho Desenvolvido
36
Figura 4.3: Placa PICDEM Z com placa de RF acoplada. Fonte: (MICROCHIP, 2006b)
Alm do kit descrito acima, foi utilizado o ambiente de desenvolvimento integrado
da prpria Microchip, denominado MPLAB IDE (MICROCHIP, 2006c). Neste ambiente foi
desenvolvido o software que foi gravado nas memrias internas aos microcontroladores dos kits
de desenvolvimento (PIC18LF4620).
O software foi escrito em linguagem C.
O compilador utilizado foi o C18 (MICROCHIP, 2006d), tambm da Microchip,
especfico para os microcontroladores PIC da famlia 18.
Para a gravao dos microcontroladores foi utilizado o gravador/depurador ICD2BR,
comercializado pela LabTools (LABTOOLS, 2006).
4.5
Consideraes Finais
Com as funes implementadas possvel simular sensores e atuadores utilizados
37
5.1
DESCRIO, RESULTADOS E
DISCUSSES
Consideraes Iniciais
Nesse captulo apresentada a descrio do projeto de sensoreamento, os resultados
e as discusses.
Ser feita uma descrio da lgica dos sensores e da USB, do hardware e do software implementados.
5.2
38
Luminosidade
VRA3
RLDR
39
993
Este valor foi lido quando obtida a maior luminosidade possvel no ambiente.
0
Este valor foi lido com a menor luminosidade possvel no ambiente.
300;
500;
700.
apagado;
aceso a 40%;
aceso a 60%;
aceso a 100%.
De posse desses valores, foi criada a lgica a ser utilizada no algoritmo. Se a leitura
do conversor AD for maior que 700, a lmpada deve estar apagada. Se a leitura for um valor
40
entre 500 e 700, a lmpada deve estar acesa a 40% de sua carga mxima. Se a leitura for
um valor entre 300 e 500, a lmpada deve estar acesa a 60%, e finalmente, caso a leitura do
conversor AD for um valor abaixo de 300, a luz deve estar acesa a 100% de sua carga mxima.
Sendo assim, quanto menor a luminosidade no ambiente lido pelo conversor AD, maior o grau
de luminosidade da lmpada.
5.2.4 USB
O intuito inicial foi desenvolver um hardware para a USB equivalente ao hardware
para RS232 existente na placa do kit PICDEM Z. Esse hardware seria montado no n do tipo
coordenador. Na busca pelo hardware, foi encontrado apenas um transceptor RS232-USB com
encapsulamento SMD. Devido dificuldade de manuseio de componentes SMD, surgiu a idia
de se criar uma PCI externa que tivesse a funcionalidade de comunicao USB e que pudesse ser
facilmente conectada ao hardware do kit PICDEM Z. Foi ento concebida essa PCI, de forma
a permitir a seleo entre trs modos diferentes. Dentre eles, o principal o USB-TTL. Neste
modo, pode-se conectar os fios RX, TX e GND na placa USB desenvolvida e comunicar com o
PC atravs da porta USB. O funcionamento desta placa ser melhor descrito na seo 5.3.4.
5.3
Descrio do Hardware
5.3.1 PICDEM Z
Para iniciar a montagem do hardware extra nas placas do kit de desenvolvimento,
foram colocados algumas barras de pino torneado a fim de transformar a rea livre em algo mais
parecido com um protoboard. As Figuras 5.2 e 5.3 mostram, respectivamente, as partes superior
e inferior de uma das placas do kit aps a adequao para a utilizao no desenvolvimento.
Os componentes agora podem ser apenas encaixados na placa, ao invs de soldados,
o que alm de deixar a montagem mais rpida e simples ainda aumenta a vida til da rea de
montagem, evitando a necessidade de soldas a cada troca de componente e consequentes danos
s ilhas, que seriam inevitveis.
41
42
43
(a)
(b)
Figura 5.6: (a) Circuito do LDR implementado, (b) Circuito do Sinalizador Acstico implementado.
O circuito do LDR um circuito simples e consiste apenas de um LDR de 200k
e um resistor de 33k . A porta do PIC do n do tipo coordenador utilizada foi a entrada
analgica RA3.
O circuito do sinalizador acstico ainda mais simples, como pode ser visto na
Figura 5.6(b). Uma das extremidades do sinalizador acstico conectada tenso de referncia
positiva do circuito (no caso 3,3V), e a outra extremidade conectada porta RA5 do PIC do
n do tipo coordenador, utilizada como sada digital. Nessa mesma extremidade conectado
um resistor (R1) de 470 . A outra extremidade desse resistor conectada em 3,3V. Esse
resistor denominado resistor de pull up. Esse resistor serve para manter a tenso na porta do
PIC em nvel lgico alto, evitando que a porta fique com um valor desconhecido e, provocando
eventuais acionamentos indevidos do hardware que est conectado na porta do PIC, nesse caso,
o sinalizador acstico. O sinalizador acstico acionado quando a porta RA5 do PIC estiver
em nvel lgico baixo (no caso 0V).
44
5.3.4 USB
Como o transceptor USB-RS232 escolhido (FT232) possui encapsulamento SMD,
optou-se por criar uma placa onde houvesse um conector que pudesse ser ligado diretamente
aos pinos de RX e TX do PIC e o GND do circuito da PCI do PICDEM Z, de modo a permitir a
comunicao do PIC com o PC atravs do transceptor FT232, equivalente ao que j feito com
o transceptor MAX3221 no kit PICDEM Z.
Pode-se ver na Figura 5.8 a placa que foi desenvolvida. Na parte superior direita da
placa existem trs leds, onde o primeiro (superior) indica se a placa est alimentada (via USB
ou RS232), o segundo indica o fluxo de dados recebidos atravs da USB e o ltimo indica o
fluxo de dados enviados atravs da USB.
Para um melhor aproveitamento de tempo e recursos, a placa foi desenvolvida com
o intuito de permitir trs modos distintos de operao, que so os seguintes:
45
46
47
Ainda na Figura 5.11 pode-se ver que o sensor de movimento da ICCEA possui
um led externo com a funo de indicar o acionamento do sensor de movimento. O sensor de
movimento est na porta RA5 do n do tipo RFD, como pode ser visto no esquema eltrico do
sensor de movimento na Figura 5.12.
5.3.6 Led
Devido utilizao do comparador no n do tipo RFD, no foi possvel utilizar
os dois leds j implementados na placa do kit PICDEM Z utilizada. Portanto foi necessrio
conectar um LED porta RD0, cuja funcionalidade servir de referncia visual, ao invs de se
criar um acionamento de um ar condicionado. A Figura 5.13 mostra o circuito utilizado para a
implementao.
48
5.3.7 Lmpada
No caso de acionamento de uma lmpada, por se tratar de uma tenso AC e elevada,
a fim de evitar algum dano a alguma das placas do kit de desenvolvimento, o circuito de acionamento da lmpada foi montado em um protoboard que foi conectado ao n do tipo RFD. A
Figura 5.14 mostra o circuito implementado para o acionamento da lmpada.
O triac (componente X1 da Figura 5.14) o responsvel pelo acionamento da lmpada. necessrio enviar um pulso no gate do triac para que o acionamento seja realizado (pino
RE1 do PIC). Para que esse pulso fosse dado no momento certo, foi necessrio implementar um
detector de zero do sinal de tenso da rede (pino RA0 do PIC) que, na Figura 5.14, composto
pelos componentes C1, D2, D3, R6, R7 e R8. A Figura 5.15 mostra o circuito que foi utilizado
como referncia para o comparador (pino RA3 do PIC).
49
50
51
Desta forma observa-se que no h como utilizar o RTC no n do tipo coordenador. Poderia se utilizar, ao invs disso, o RTC no n do tipo RFD, mas o funcionamento seria
o mesmo descrito anteriormente, e isso iria sem dvida desgastar bastante a bateria do n.
O sensor de temperatura (TC77) funciona com o barramento SPI a 3 fios, mas como
no necessrio enviar nenhum dado ao sensor na aplicao, e apenas ler dados, os pinos de
entrada e sada de dados do sensor de temperatura foram conectados apenas ao pino de entrada
de dados do microcontrolador (SDI).
5.4
Descrio do Software
A funo ZigBeeInit() est localizada no arquivo ZigBeeTasks.c, e entre outras inicializaes, chama as seguintes funes:
MACInit();
NWKInit();
APSInit();
ZDOInit();
MACEnable()
MACDisable()
APSGet()
52
5.5
Resultados e Discusses
Quatro funes foram implementadas neste projeto de monitorao e sensoriamento.
A primeira, que foi o sensor de movimento em conjunto com o Buzzer, funcionou sem problema
algum. Cada vez que o sensor de movimento no n do tipo RFD acionado, a mensagem
enviada com sucesso para o n do tipo coordenador, onde o Buzzer aciona, e quando o sensor
de movimento deixa de detectar movimento, a mensagem que indica que o Buzzer deve deixar
de ser acionado tambm enviada com sucesso.
A segunda funo, que coompreende o sensor de temperatura e o LED, tambm
funcionou corretamente, acionando o LED quando a temperatura do n do tipo coordenador
supera o patamar superior de temperatura e desligando o LED quando a temperatura baixa
do patamar inferior. A terceira funo, que compreende o sensor de lumiosidade (LDR) e
o acionamento da lmpada tambm obteve xito. Quanto menor o grau de luminosidade do
ambiente, maior a porcentagem da carga da lmpada utilizada. Essa porcentagem da carga
mxima pode ser de 0%, 40%, 60% ou 100%.
A quarta funo funcionou corretamente no modo empregado (USB-TTL), mas possui dois erros de layout que precisam ser corrigidos, e s ocorrem no modo (RS232-TTL). O
53
primeiro que para se utilizar o hardware USB nesse modo, torna-se necessrio que a alimentao venha via TTL, pois nesse caso o conector USB no estar conectado, e a tenso positiva
no foi prevista no conector. O segundo erro que da forma como o jumper de seleo foi concebido, ao selecionar o modo RS232-TTL, o pino de RX do PIC fica conectado onde deveria
estar conectado o pino de TX, e vice-versa.
Uma quinta funo que seria implementada e foi testada sem sucesso a implementao de um Real Timer Clock no n do tipo coordenador. Os componentes que utilizam o
barramento de comunicao SPI so: o transceptor ZigBee, o sensor de temperatura e o RTC.
O problema encontrado foi que o transceptor e o RTC no poderem trabalhar simultaneamente,
no momento em que um estivesse sendo utilizado, o outro no poderia estar habilitado. Como
o transceptor ZigBee do n do tipo coordenador no pode ser desligado, torna-se impossvel
a utilizao do RTC escolhido em conjunto com a pilha ZigBee utilizada, disponibilizada pela
Microchip.
54
55
6
6.1
CONCLUSES
Concluses
A proposta do projeto avaliar o padro sem fio ZigBee para sensoriamento de
ambientes. Para tal foi implementada uma aplicao com o kit PICDEM Z contendo sensores
e atuadores, baseados numa rede ZigBee. Essa implementao mostrou que o padro ZigBee
eficiente para a monitorao e sensoriamento de ambientes.
Foi testado com sucesso a comunicao entre os dois ns a 15 metros de distncia
um do outro e com duas paredes entre eles, o que era esperado, pois a especificao diz que o
padro ZigBee possui um alcance de at 100m em ambiente externo e at 30m em ambiente
fechado.
O consumo de corrente do n do tipo coordenador no ultrapassou 30mA durante
o funcionamento, o que est de acordo com o esperado. A corrente em modo de sleep no pode
ser mensurada, pois o n do tipo RFD no pode entrar neste modo, devido maneira como o
acionamento da lmpada realizado.
A quantidade de recursos necessria para implementar um n ZigBee, apenas considerando a pilha ZigBee, foi 32kB no caso do n do tipo coordenador e 14kB no caso do n
do tipo RFD.
O nico imprevisto que ocorreu foi na implementao do RTC, que no funcionou
corretamente quando foram includas as funes do RTC no programa que j estava funcionando
com a pilha ZigBee.
6 Concluses
56
6.2
Contribuies
Como o ZigBee um padro recente e pouco estudado, este trabalho representa uma
contribuio para aqueles interessados em desenvolver aplicaes que utilizem esse padro.
Outra contribuio importante est relacionada com o RTC. O RTC utilizado na
aplicao foi o DS1305, que se comunica com o PIC via barramento SPI. Este RTC no funcionou corretamente devido ao modo como o barramento SPI utilizado pelo transceptor ZigBee.
A explicao se encontra na seo 5.3.8. Cabe ressaltar que o hardware implementado para o
RTC foi testado e funcionou corretamente sem a pilha ZigBee. Essa informao importante
para aqueles que pretendem incluir um RTC em seu projeto.
6.3
57
58
6 Concluses
59
REFERNCIAS BIBLIOGRFICAS
AAKVAAG, N.; MATHIESEN, M.; THONET, G. (2005). Timing and power issues in wireless
sensor networks - an industrial test case. In: IEEE 34th International Conference Workshops
on Parallel Processing. Oslo, Noruega: [s.n.], p. 419426.
BAKER, N. (2005). Zigbee and bluetooth strengths and weaknesses for industrial applications.
IEE Computing and Control Engineering Journal, 2, v. 16, n. 2, p. 2025.
BRANQUINHO, O. C.; REGGIANI, N.; ANDREOLLO, A. G. (2005). Redes de comunicao
de dados sem fio - uma anlise de desempenho. In: ISA SHOW SOUTH AMERICA Feira
Sul-Americana e 5 Congresso Internacional de Automao, Sistemas e Instrumentao. So
Paulo, Brasil: [s.n.].
CHAKRABARTI, S.; WU, L.; VUONG, S.; LEUNG, V. C. M. (2004). A remotely controlled
bluetooth enabled environment. In: 2004 IEEE Consumer Communications and Networking
Conference. Caesars Palace, Las Vegas, Nevada USA: [s.n.], p. 7781.
CORDEIRO, C. D. M.; ABHYANKAR, S.; TOSHIWAL, R.; AGRAWAL, D. P. (2003). A
novel architecture and coexistence method to provide global access to-from bluetooth wpans
by ieee 802.11 wlans. In: IEEE. 22nd IEEE International Performance Computing and
Communications Conference. Phoenix, Arizona, p. 2330.
CORDEIRO, C. D. M.; AGRAWALL, D. P.; SADOK, D. H. (2003). Interference modeling
and performance of bluetooth mac protocol. IEEE Transactions on wireless communications,
v. 2, n. 6, p. 12401246.
DING, G.; SAHINOGLU, Z.; BHARGAVA, B.; ORLIK, P.; ZHANG;, J. (2005). Reliable
broadcast in zigbee networks. In: Second Annual IEEE Communications Society Conference
on Sensor and Ad Hoc Communications and Networks, 2005. Santa Clara, California, USA:
[s.n.], p. 510520.
FERRARI, P.; FLAMMINI, A.; MARIOLI, D.; TARONI, A. (2006). Ieee802.11 sensor
networking. IEEE Transactions on instrumentation and measurement, 2, v. 55, n. 2, p.
615619.
FERRO, E.; POTORT, F. (2005). Bluetooth and wi-fi wireless protocols: a survey and a
comparison. IEEE Wireless Communications, v. 12, n. 1, p. 1226.
FLEXIPANEL. (2006). Site Flexipanel. Disponvel em: < htt p : //www. f lexipanel.com >.
Acesso em: 17 out. 2006.
FRENZEL, L. E. (2004). Wireless control that simply works. A Supplement to Electronic
Design, p. 112.
60
Referncias Bibliogrficas
Referncias Bibliogrficas
61
62
Referncias Bibliogrficas
63
A.1 Coordenador
A.1.1 Inicializao
Poucas alteraes foram feitas para a implementao. O PORTA inteiro continuou
como I/O digital.
// D1 and D2 are on RA0 and RA1 respe
tively, and CS of the TC77 is on RA2.
//LDR is on RA3 and Buzzer on RA5.
// Make PORTA digital I/O.
ADCON1 = 0x0F;
O valor dos pinos do PORTA na inicializao dado pelo valor da varivel LATA.
Os valores dos bits equivalentes ao sensor de temperatura (TC77) e do Buzzer foram colocados
em nvel lgico alto, para que o sensor de temperatura no fosse habilitado e o Buzzer no
disparasse na inicializao.
// Desele
t the TC77 (RA2) and turn Buzzer off (RA5).
LATA = 0x24;
O TRISA responsvel por definir se um pino do PORTA ser uma entrada ou uma
sada.
// Make RA0, RA1, RA2, RA4 and RA5 outputs, and RA3 input.
TRISA = 0xC8;
64
Medido: 26,0625 C
2.Leitura do valor de temperatura para ser comparado com os patamares estipulados.
A funo GetTC77HexaValue retorna o valor de temperatura no formato de um nmero
inteiro, de forma a poder ser utilizado para comparar com valores fixos de temperatura.
lui_Temperature_Value = GetTC77HexaValue();
A funo GetTC77String faz parte de um exemplo que veio junto com a pilha da
Microchip, enquanto que a funo GetTC77HexaValue foi implementada. Ambas esto devidamente documentadas no arquivo TC77.c que se encontra no CD entregue junto com a
dissertao.
Como explicado na seo 5.2.1, existem dois patamares de temperatura. Para facilitar a verificao do funcionamento do sensor de temperatura, criou-se uma lgica para os
dois leds presentes na placa do kit de desenvolvimento. Cada LED equivale a um patamar. O
LED 1 que est no pino RA0 do PIC representa o patamar mais baixo, e o LED 2 que est no
pino RA1 do PIC representa o patamar mais elevado. Quando a temperatura est abaixo do
primeiro patamar, os dois LEDs esto apagados. Quando a temperatura ultrapassa o valor do
primeiro patamar, o LED 1 acende, e quando a temperatura ultrapassa o segundo patamar o
LED 2 acende. Abaixo vemos o cdigo implementado.
A.1 Coordenador
65
}
// Tratamento na ini
ializao
else
{
myStatusFlags.bits.bOpera
aoEmRegime = 1;
if (lui_Temperature_Value > PATAMAR_TEMPERATURA_1)
// envia mensagem para LIGAR o ar
ondi
ionado.
myStatusFlags.bits.bLigarArCondi
ionado = TRUE;
else
// envia mensagem para DESLIGAR o ar
ondi
ionado.
myStatusFlags.bits.bDesligarArCondi
ionado = TRUE;
}
66
=
=
=
=
=
APL_FRAME_TYPE_KVP | 1;
APLGetTransId();
APL_FRAME_COMMAND_SET | (APL_FRAME_DATA_TYPE_UINT8 << 4);
OnOffSRC_OnOff & 0xFF;
(OnOffSRC_OnOff >> 8) & 0xFF;
if (myStatusFlags.bits.bLigarArCondi
ionado)
{
// envia mensagem para LIGAR o ar
ondi
ionado.
TxBuffer[TxData++ = AR_CONDICIONADO_ON;
myStatusFlags.bits.bLigarArCondi
ionado = FALSE;
}
else
{
// envia mensagem para DESLIGAR o ar
ondi
ionado.
TxBuffer[TxData++ = AR_CONDICIONADO_OFF;
myStatusFlags.bits.bDesligarArCondi
ionado = FALSE;
}
#ifdef USE_BINDINGS
// We are sending indire
t
params.APSDE_DATA_request.DstAddrMode = APS_ADDRESS_NOT_PRESENT;
#else
// We are sending dire
t
params.APSDE_DATA_request.DstAddrMode = APS_ADDRESS_16_BIT;
params.APSDE_DATA_request.DstEndpoint = EP_AR_CONDICIONADO;
params.APSDE_DATA_request.DstAddress.ShortAddr = destinationAddress;
#endif
//params.APSDE_DATA_request.asduLength; TxData
params.APSDE_DATA_request.ProfileId.Val = MY_PROFILE_ID;
params.APSDE_DATA_request.RadiusCounter = DEFAULT_RADIUS;
params.APSDE_DATA_request.Dis
overRoute = ROUTE_DISCOVERY_ENABLE;
params.APSDE_DATA_request.TxOptions.Val = 0;
params.APSDE_DATA_request.Sr
Endpoint = EP_AR_CONDICIONADO;
params.APSDE_DATA_request.ClusterId = OnOffSRC_CLUSTER;
ConsolePutROMString( (ROM
har *)" Tentando enviar mensagem do Ar Condi
ionado.\r\n");
urrentPrimitive = APSDE_DATA_request;
// fim do envio da mensagem.
}
//----------------------------------------------------------------------// Fim da parte que envia mensagem para o End Point ar
ondi
ionado.
//-----------------------------------------------------------------------
A.1 Coordenador
67
Realizar a leitura.
Valor_Lido_AD = LerDadosAD();
Aps a leitura do valor do conversor AD, esse valor enviado via hyperterminal, atravs
das linhas de comando abaixo:
ConsolePutROMString((rom
har*)"Valor medido no AD: ");
ConsolePutString(itoa(Valor_Lido_AD,(
har*)Buffer));
ConsolePutROMString((rom
har*)".!!!\n\r");
O efeito no hyperterminal :
68
Para realizar a leitura do conversor AD, necessria a utilizao da funo int LerDadosAD(void), localizada dentro do arquivo LerDadosAD.c, que se encontra no CD que acompanha esta dissertao.
Aps a leitura do valor do LDR, o prximo passo o tratamento do valor obtido.
Dependendo do intervalo em que ele se encontra, a lmpada do n do tipo RFD dever ficar
apagada, acesa a 40%, acesa a 60% ou acesa a 100% da sua carga mxima.
// Tratamento do valor do LDR
myStatusFlags2.bits.bLDRPatamarAnt = myStatusFlags2.bits.bLDRPatamar;
if (Valor_Lido_AD < LIMITE_LDR_1)
myStatusFlags2.bits.bLDRPatamar = LDR_INTERVALO_ON;
if ((Valor_Lido_AD >= LIMITE_LDR_1) && (Valor_Lido_AD < LIMITE_LDR_2))
myStatusFlags2.bits.bLDRPatamar = LDR_INTERVALO_60;
if ((Valor_Lido_AD >= LIMITE_LDR_2) && (Valor_Lido_AD < LIMITE_LDR_3))
myStatusFlags2.bits.bLDRPatamar = LDR_INTERVALO_40;
if (Valor_Lido_AD >= LIMITE_LDR_3)
myStatusFlags2.bits.bLDRPatamar = LDR_INTERVALO_OFF;
Caso exista a necessidade de se enviar uma mensagem ao n do tipo RFD, isso ser
realizado atravs do seguinte segmento de software:
//----------------------------------------------------------------------// In
io da parte que envia mensagem para o End Point lmpada.
//----------------------------------------------------------------------if (myStatusFlags2.bits.bLDRAlterarLampada)
{
// Envia a mensagem:
ZigBeeBlo
kTx();
TxBuffer[TxData++ = APL_FRAME_TYPE_KVP | 1;
TxBuffer[TxData++ = APLGetTransId();
TxBuffer[TxData++ = APL_FRAME_COMMAND_SET | (APL_FRAME_DATA_TYPE_UINT8 << 4);
A.1 Coordenador
69
}
//----------------------------------------------------------------------// Fim da parte que envia mensagem para o End Point lmpada.
//-----------------------------------------------------------------------
70
swit
h (data)
{
ase SENSOR_MOVIMENTO_OFF:
ConsolePutROMString(
BUZZER = BUZZER_OFF;
TxBuffer[TxData++ =
break;
ase SENSOR_MOVIMENTO_ON:
ConsolePutROMString(
BUZZER = BUZZER_ON;
TxBuffer[TxData++ =
break;
default:
PrintChar( data );
ConsolePutROMString(
TxBuffer[TxData++ =
break;
}
A.2
A.2.1 Inicializao
Nessa parte do software foram feitas vrias alteraes. As portas de RA0 at RA3
do PORTA so utilizadas como entradas analgicas. As portas RA0 e RA3 so utilizadas no
comparador e as portas RA1 e RA2 no so utilizadas.
ADCON1 = 11;
O valor dos pinos do PORTA na inicializao dado pelo valor da varivel LATA.
Todos os bits foram inicializados com nvel lgico baixo.
// Colo
a todas as portas em nvel lgi
o baixo.
LATA = 0x00;
O TRISA responsvel por definir se um pino do PORTA ser uma entrada ou uma
sada.
// Make RA0:RA3 and RA5 inputs and RA4 output.
TRISA = 0xEF;
O pino RD0 do PORTD foi utilizado para acionar o LED, que representa o ar condicionado, enquanto que o pino RE1 do PORTE utilizado para acionar o gate do triac, que
acionar a lmpada.
71
PIE2bits.CMIE = 1;
IPEN = 0;
INTCONbits.PEIE = 1;
PIR2bits.CMIF = 0;
//
//
//
//
//quando der 60 segundos
olo
a o bit que indi
a que o sensor est
//ini
ializado em nvel lgi
o alto. Entrar aqui apenas uma vez.
if (myStatusFlags.bits.bSensorIni
ializado == FALSE)
if (++lui_Contador_Ini
ializa_Sensor == 458)
//458 o equivalente a aproximadamente 60s.
{
myStatusFlags.bits.bSensorIni
ializado = TRUE;
CloseTimer1();
ConsolePutROMString( (ROM
har *)"Fim da ini
ializa
ao do Sensor
de Movimento.\n\r");
}
return;
72
Caso deva ser enviada uma mensagem para alterar o status do Buzzer, o seguinte
cdigo utilizado:
if ((myStatusFlags.bits.bBuzzerOn) || (myStatusFlags.bits.bBuzzerOff))
{
// Envia a mensagem:
ZigBeeBlo
kTx();
TxBuffer[TxData++
TxBuffer[TxData++
TxBuffer[TxData++
TxBuffer[TxData++
TxBuffer[TxData++
=
=
=
=
=
APL_FRAME_TYPE_KVP | 1;
APLGetTransId();
APL_FRAME_COMMAND_SET | (APL_FRAME_DATA_TYPE_UINT8 << 4);
OnOffSRC_OnOff & 0xFF;
(OnOffSRC_OnOff >> 8) & 0xFF;
if (myStatusFlags.bits.bBuzzerOn)
{
// envia mensagem para LIGAR o Buzzer.
TxBuffer[TxData++ = SENSOR_MOVIMENTO_ON;
myStatusFlags.bits.bBuzzerOn = FALSE;
}
else
{
// envia mensagem para DESLIGAR o Buzzer.
TxBuffer[TxData++ = SENSOR_MOVIMENTO_OFF;
myStatusFlags.bits.bBuzzerOff = FALSE;
}
#ifdef USE_BINDINGS
// We are sending indire
t
params.APSDE_DATA_request.DstAddrMode = APS_ADDRESS_NOT_PRESENT;
#else
// We are sending dire
t
params.APSDE_DATA_request.DstAddrMode = APS_ADDRESS_16_BIT;
params.APSDE_DATA_request.DstEndpoint = EP_SENSOR_MOVIMENTO;
params.APSDE_DATA_request.DstAddress.ShortAddr = destinationAddress;
#endif
//params.APSDE_DATA_request.asduLength; TxData
params.APSDE_DATA_request.ProfileId.Val = MY_PROFILE_ID;
73
params.APSDE_DATA_request.RadiusCounter = DEFAULT_RADIUS;
params.APSDE_DATA_request.Dis
overRoute = ROUTE_DISCOVERY_ENABLE;
params.APSDE_DATA_request.TxOptions.Val = 0;
params.APSDE_DATA_request.Sr
Endpoint = EP_SENSOR_MOVIMENTO;
params.APSDE_DATA_request.ClusterId = OnOffSRC_CLUSTER;
ConsolePutROMString( (ROM
har *)" Tentando enviar mensagem do Sensor de Movimento.\r\n");
urrentPrimitive = APSDE_DATA_request;
// fim do envio da mensagem.
A.2.3 Lmpada
A lmpada acionada dependendo da mensagem que recebida do n do tipo RFD
via ZigBee. De acordo com o valor de luminosidade lido pelo LDR, a lmpada poder estar
apagada, acesa a 40%, acesa a 60% ou acesa a 100% de sua carga mxima.
swit
h (data)
{
ase LDR_LAMPADA_OFF:
ConsolePutROMString((ROM
har *)"Lampada OFF.\r\n");
alfa = 'z';
TxBuffer[TxData++ = SUCCESS;
break;
ase LDR_LAMPADA_40:
ConsolePutROMString((ROM
har *)"Lampada a 40%.\r\n");
alfa = 'a';
TxBuffer[TxData++ = SUCCESS;
break;
ase LDR_LAMPADA_60:
ConsolePutROMString((ROM
har *)"Lampada a 60%.\r\n");
alfa = 'b';
TxBuffer[TxData++ = SUCCESS;
break;
ase LDR_LAMPADA_ON:
ConsolePutROMString((ROM
har *)"Lampada a 100%.\r\n");
alfa = 'd';
TxBuffer[TxData++ = SUCCESS;
break;
default:
PrintChar(data);
ConsolePutROMString((ROM
har *)"Mensagem LDR Invalida.\r\n");
TxBuffer[TxData++ = KVP_INVALID_ATTRIBUTE_DATA;
break;
74
A.2.4 LED
O status do LED (ar condicionado) depende da mensagem recebida do n do tipo
coordinator. Dependendo da temperatura lida pelo sensor de temperatura (TC77) o ar condicionado deve ser ligado ou desligado. Abaixo pode ser visto o cdigo referente mudana do
status do LED.
swit
h (data)
{
ase AR_CONDICIONADO_OFF:
ConsolePutROMString((ROM
har*)"Desligando o Ar Condi
ionado.\r\n");
LED_TEMP_1 = LED_OFF;
TxBuffer[TxData++ = SUCCESS;
break;
ase AR_CONDICIONADO_ON:
ConsolePutROMString((ROM
har*)"Ligando o Ar Condi
ionado.\r\n");
LED_TEMP_1 = LED_ON;
TxBuffer[TxData++ = SUCCESS;
break;
default:
PrintChar( data );
ConsolePutROMString((ROM
har*)"Mensagem Ar Condi
ionado Invalida.\r\n");
TxBuffer[TxData++ = KVP_INVALID_ATTRIBUTE_DATA;
break;