Anda di halaman 1dari 84

Mdulos de Comunicao Wireless

para Sensores

Andr Teixeira da Silva


andre.teixeira@fe.up.pt

O presente trabalho foi desenvolvido no mbito da disciplina de Projecto,


Seminrio ou Trabalho Final de Curso da Licenciatura em Engenharia
Electrotcnica e de Computadores, ramo TEC, efectuado sob orientao dos
Professores Doutor Jorge Gomes Barbosa e Miguel Velhote Correia, Professores
Auxiliares do Departamento de Engenharia Electrotcnica e de Computadores da
Faculdade de Engenharia da Universidade do Porto.

Departamento de Engenharia Electrotcnica e de Computadores


Julho de 2007

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 1


Projecto desenvolvido atravs de parceria

RealSabor Indstria Alimentar

Faculdade de Engenharia da Universidade do Porto

Andr Teixeira da Silva


aluno 020503055 da Faculdade de Engenharia da Universidade do Porto
andre.teixeira@fe.up.pt

Pgina web e contedos online do projecto em: www.fe.up.pt/~ee02055

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 2


Agradecimentos

Gostaria de expressar o meu agradecimento a todas as pessoas que, de


alguma forma, contriburam para a realizao deste Projecto de Final de Curso e
me ajudaram a ultrapassar as dificuldades por mim sentidas, nomeadamente:

- aos meus orientadores, Prof. Jorge Gomes Barbosa e Prof. Miguel Velhote
Correia, por toda a ajuda prestada ao longo deste trabalho;

- ao Eng. Miguel Fernandes, em representao da empresa RealSabor Indstria


Alimentar, pela cooperao;

- aos Professores Jos Carlos Alves e Joo Paulo Sousa, pela disponibilidade na
cedncia de instalaes e equipamento.

Por fim, ainda um ltimo agradecimento aos meus pais e aos meus amigos,
pelo incondicional apoio em cada momento desta jornada.

Andr Teixeira Silva

3 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Resumo

No decorrer dos ltimos anos tem-se assistido a uma enorme expanso de


dispositivos de comunicao via rdio, que surgem nas mais distintas reas,
penetrando cada vez mais este tipo de tecnologias no quotidiano de pessoas e
indstria.
As redes dedicadas comunicao industrial, com transporte de informao
relativa a sensores (de peso, de temperatura, de humidade, etc.) possuem
caractersticas bastante distintas das redes pessoais ou das redes empresariais
para transmisso de voz e dados.
Foi no contexto da linha de produo de uma indstria alimentar que se
desenvolveu o presente trabalho, procurando identificar-se quais as necessidades
dessas mesmas redes industriais, quais as suas especificidades e, atravs da
investigao e desenvolvimento, que tecnologia e hardware poderiam proporcionar
uma soluo adequada.
O protocolo ZigBeeTM, lanado em 27 de Junho de 2005, um protocolo
orientado para uma comunicao wireless sob o binmio baixo consumo / baixo
dbito, suportado sobre a normativa IEEE 802.15.4 e surgindo como
responsabilidade da ZigBee Alliance. Esta aliana, ao agrupar distintas empresas
da rea tecnolgica em questo, revela tambm um objectivo deste protocolo: a
estandardizao, em detrimento de protocolos proprietrios anteriormente
existentes.
Aps um detalhado estudo sobre este protocolo, onde se inclui tambm a
comparao com outras tecnologias, seguiu-se uma anlise dos dispositivos
disponveis no mercado para o desenvolvimento de uma soluo de comunicao.
Baseando-se o desenvolvimento do trabalho sobre o kit PICDEM Z da
Microchip, embora inicialmente tivesse sido seleccionada uma soluo recorrendo
ao transceiver Maxstream XBee, este relatrio tem como objectivo apresentar todo
o esforo aplicado na realizao deste projecto, retratando tambm as dificuldades
encontradas.
Dado terem existido problemas com a pilha protocolar disponibilizada pela
Microchip, o que provocou instabilidade na fase de desenvolvimento do projecto,
so ainda sugeridas algumas opes para evoluo futura deste trabalho assim
como, a ttulo conclusivo, uma breve reflexo sobre o estado de maturao desta
tecnologia.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 4


Abstract

In the course of the latest years one has seen an enormous increase of
devices of communication by radiofrequency, which appear in the most different
areas and this kind of technology is entering more and more in the daily life of
people and industry.
The networks devoted to industrial communication, with conveyance of
information related to sensors (of weight, temperature, humidity, etc.) have features
that are very different from personal or enterprise networks to the transmission of
voice and data.
It was in a concept of a production line that this work had its development,
trying to identify the needs of those same industrial networks, their special features
and, through investigation and development, to know which technology and
hardware would come to a suitable solution.
The protocol ZigBeeTM, launched in 27th June 2005, its a protocol aimed at a
wireless communication under the binomial: low cost / low data rate, supported by
the standard IEEE 802.15.4 and appearing under the responsibility of
ZigBeeAlliance. This alliance, on grouping different companies of this technological
area, also shows an aim of this protocol: the standardization instead of owner
protocols that existed before.
After a detailed search about this protocol, in which other different
technologies area compared, it was made an analysis of the available devices for
the development of a solution of communication.
The development of this project is based on a PICDEM ZTM of Microchip,
although at first it was selected a solution based on Maxstreams XBee transceiver.
This report aims at presenting the whole effort used during the making of this
project, showing at the same time all the face difficulties.
As there were problems caused by Microchip ZigBee stack, which gave
origin to some instability in the phasis of development of the project, some options
are suggested for the evolution of this project, as well as, just to conclude, a short
reflection about the maturing of this technology.

5 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


ndice
1 INTRODUO .................................................................................................... 10
1.1 Contexto e Motivao........................................................................... 10
1.2 Guia de Leitura ..................................................................................... 12

2 ESTUDO DA TECNOLOGIA .................................................................................. 13


2.1 Identificao de Requisitos Iniciais....................................................... 13
2.2 Estudo das Redes Wireless ................................................................. 14
2.3 Comparao de diferentes tecnologias sem fios.................................. 16
2.4 O protocolo ZigBee um estudo detalhado ......................................... 19
2.4.1 Pequena perspectiva histrica sobre o ZigBee ........................ 21
2.4.2 Detalhes tcnicos ..................................................................... 21
2.4.3 Topologia da rede..................................................................... 21
2.4.4 Modos de operao da rede..................................................... 23
2.4.5 Caractersticas dos diferentes tipos de dispositivos lgicos..... 24
2.4.6 A arquitectura protocolar ZigBee / IEEE 802.15.4.................... 25
2.4.7 Tipos definidos de tramas:........................................................ 27
2.4.8 Terminologia ZigBee................................................................. 27

3 SELECO DE HARDWARE ................................................................................ 34


3.1 Helicomm EZ-Net DevKit 1000............................................................. 34
3.2 Silicon Labs 2.4 Ghz ZigBee Development Kit..................................... 35
3.3 Data Hunter Tick RS232 Parasitically Powered Data Radio ................ 36
3.4 Maxstream XBee ZigBee RF Modules ................................................. 38

4 DESENVOLVIMENTO DO TRABALHO .................................................................... 41


4.1 Sistema PIC / XBee.............................................................................. 41
4.1.1 O microcontrolador PIC ............................................................ 42
4.1.2 O conversor MAXIM MAX 3221................................................ 42
4.2 Microchip PICDEM Z ........................................................................ 45
4.2.1 O microcontrolador PIC18LF4620 ............................................ 47
4.2.2 Interface Intraplaca e Pilha protocolar ...................................... 49
4.2.3 Esquema Elctrico da Placa-Me do kit PICDEM Z................. 51
4.2.4 Esquema Elctrico da Placa-Filha do kit PICDEM Z ................ 52
4.3 Ferramentas de desenvolvimento ........................................................ 53
4.4 Utilizao de Programa para leitura da porta-srie. Balana Mettler.. . 53

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 6


4.5 Interaco ligao srie........................................................................ 54
4.5.1 Escrita via Porta-Srie .............................................................. 54
4.5.2 Programa de Leitura via Porta-srie......................................... 57
4.5.3 Programa de Leitura via Porta-Srie com Interrupo ............. 57
4.6 Interaco entre ns ZigBee ................................................................ 59
4.7 Calendrio do trabalho realizado.......................................................... 64

5 CONCLUSO ..................................................................................................... 65

6 DESENVOLVIMENTOS FUTUROS ......................................................................... 69

7 BIBLIOGRAFIA................................................................................................... 71

A. ANEXOS ........................................................................................................... 73
A.1 Balana Mettler-Toledo Spider 1 .......................................................... 73
A.1.1 Configurao Comunicao-Srie............................................ 73
A.1.2 Parametrizao do Equipamento ............................................. 74
A.1.3 Configurao do Equipamento Interface / Comunicao ...... 76
A.2 Cdigo realizado .................................................................................. 79
A.2.1 Escrita Porta-Srie.................................................................... 79
A.2.2 Leitura Porta-Srie.................................................................... 79
A.2.3 Leitura Porta-Srie com interrupo......................................... 80
A.2.4 Comunicao entre ns ZigBee ............................................... 83

7 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


ndice de Figuras
Fig. 2.1 Logtipos das diferentes tecnologias Wi-Fi, ZigBeeTM, Bluetooth ............. 16
Fig. 2.2 Representao grfica da Taxa de Transferncia de Dados vs Alcance ... 17
Fig. 2.3 Topologia de rede: Estrela .......................................................................... 22
Fig. 2.4 Topologia de rede: Malha ........................................................................... 23
Fig. 2.5 Topologia de rede: rvore........................................................................... 23
Fig. 2.6 Camadas da Arquitectura Protocolar ZigBee.............................................. 25
Fig. 3.1 Helicomm EZ-Net DevKit 1000 ................................................................... 34
Fig. 3.2 Silicon Labs 2.4 Ghz ZigBee Development Kit ........................................... 35
Fig. 3.3 Data Hunter Tick RS232 Parasitically Powered Data Radio....................... 36
Fig. 3.4 Software de configurao Data Hunter ....................................................... 37
Fig. 3.5 Maxstream XBee ZigBee Module ............................................................... 38
Fig. 3.6 Vista Frontal XBee / XBee Pro.................................................................... 39
Fig. 3.7 Vista Lateral XBee / XBee Pro .................................................................... 39
Fig. 4.1 Esquema de n ZigBee constitudo por PIC, Transceiver e Antena........... 41
Fig. 4.2 Diagrama de pinos do MAXIM MAX3221 ................................................... 42
Fig. 4.3 N Microchip PICDEM Z ......................................................................... 45
Fig. 4.4 Placa-filha, contendo transceiver Chipcon e antena PCB em F invertido... 46
Fig. 4.5 Diagrama de pinos do PIC18LF4620.......................................................... 48
Fig. 4.6 Pilha protocolar Microchip: esquema de arquitectura e ficheiros................ 50
Fig. 4.7 Esquema Elctrico da Placa-Me do kit PICDEM Z .................................. 51
Fig. 4.8 Esquema Elctrico da Placa-Me do kit PICDEM Z .................................. 52
Fig. 4.9 Mdulo MPLAB ICD2 .................................................................................. 53
Fig. 4.10 Peripheral Interrupt Enable Register (PIE1).............................................. 57
Fig. 4.11 Reset Control Register (RCON)................................................................ 58
Fig. 4.12 Interrupt Control Register (INTCON)......................................................... 58
Fig. 4.13 Peripheral Interrupt Priority Register 1 (IPR1) .......................................... 58
Fig. 4.14 N Coordenador: criao de rede ZigBee bem sucedida ......................... 61
Fig. 4.15 N Endpoint: anomalia na procura de rede ZigBee .................................. 61
Fig. 4.16 PICDEM Z: Processo de Envio de Dados entre dois ns ......................... 63
Fig. A.1 Balana Mettler-Toledo Spider 1 ................................................................ 74
Fig. A.2 Configurao HyperTerminal ligao-srie ................................................ 74

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 8


ndice de Tabelas

Tabela 2.1 Caractersticas Wi-Fi, Bluetooth e ZigBee ............................................. 16

Tabela 2.2 Redes ZigBee: dispositivos lgicos e suas funes .............................. 24

Tabela 2.3 Descritores ZigBee................................................................................. 29

Tabela 2.4 Protocolo ZigBee: Arquitectura dos Profiles .......................................... 30

Tabela 4.1 PICDEM Z: Interface microcontrolador/transceiver................................ 49

9 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


1 Introduo

1.1 Contexto e Motivao

No mundo actual, as comunicaes assumem um papel cada vez mais


relevante.
A tecnologia progride, as necessidades simultaneamente criam-se a partir
da oferta e orientam tambm a pesquisa. A quase permanente contactibilidade para
com qualquer pessoa, a possibilidade de previamente chegada casa se haver
activado o aquecimento central ou uma qualquer fotografia atravessar os cinco
continentes em apenas escassos segundos, que podero outrora ter sido cenrio
de fico cientifica, esto hoje num plano totalmente real.
No decorrer dos ltimos anos tem-se assistido a uma enorme expanso de
dispositivos de comunicao via rdio, que surgem nas mais diversas reas,
penetrando cada vez mais este tipo de tecnologias no quotidiano de pessoas e
empresas. A ausncia de uma ligao por cabo e uma consequente versatilidade
em termos de instalao ou posio dos dispositivos intervenientes na rede a
vantagem mais evidente das redes que se apoiam sobre este tipo de comunicao,
a somar possibilidade dos prprios emissores ou receptores poderem estar em
movimento durante a comunicao.
A RealSabor uma empresa do sector alimentar, especializada na produo
de charcutaria e salsicharia fina. Na sua linha de produo existem mltiplos
parmetros que vo sendo sucessivamente sensorizados, como forma de
assegurar a adequada qualidade na confeco dos produtos.
Desta forma, revelar-se-ia de interesse a possibilidade de comunicao dos
diversos dados para uma unidade central, tendo em vista o seu posterior
armazenamento e tratamento. Para que o impacto de introduo de um novo
sistema seja diminuto, nomeadamente em termos de instalao, e no sendo
desprezvel a questo da mobilidade, torna-se relevante que a comunicao seja
efectuada preferencialmente via rdio.
neste contexto que surge o presente projecto, tendo sido objectivo
principal conseguir uma slida abordagem ao problema, desde a identificao de
caractersticas desejveis, o levantamento da tecnologia e hardware disponveis, na
busca de solues adequadas e implementveis.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 10


Procurou-se que este relatrio registasse todos os resultados e dificuldades
encontrados, no s como smula do trabalho realizado, mas tambm para futuros
projectos a desenvolver neste campo.
De facto, mais alm de um primeiro contacto com um projecto de
Engenharia, nas suas diferentes fases, foram vrias as dificuldades a contornar e a
busca de alternativas, assim como a aceitao de que nem tudo corre bem,
tornou-se inevitvel. Nomeadamente em termos da planificao inicialmente
prevista, acabou por existir o prolongamento de algumas etapas em detrimento de
outras, de forma a existir uma evoluo coerente e regida por prioridades.
Constituiu-se assim um desafio, quer em termos pessoais quer em termos
acadmicos, como estudante de Engenharia e futuro Engenheiro.

11 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


1.2 Guia de Leitura

Este relatrio est estruturado em 6 captulos.


No captulo inicial, Introduo, pretende-se introduzir o leitor ao contexto
deste projecto e aos motivos que o levam a ser realizado.
No captulo seguinte, o captulo 2, que se intitula Estudo da Tecnologia,
feita uma identificao dos requisitos iniciais, um estudo e comparao dos
protocolos disponveis em termos de redes wireless (e que mais se afiguravam
como possveis de serem aplicados) assim como um estudo aprofundado sobre o
protocolo ZigBeeTM. Dentro desta ltima seco encontramos vrias subseces,
que procuram esclarecer o leitor sobre inmeros aspectos deste protocolo (tido
como o mais adequado para este projecto) quer em termos de uma breve
introduo histrica quer em termos de detalhes tcnicos de arquitectura e
operao.
caractersticas anlise da tecnologia de redes disponvel.
No captulo 3, Seleco de Hardware, so apresentados os resultados da
pesquisa efectuada em termos de hardware disponvel para desenvolvimento de
uma soluo adequada.
No captulo 4, Desenvolvimento do Trabalho, apresenta-se a soluo
inicialmente projectada, o porqu da sua no-utilizao e expe-se a alternativa
utilizada, o kit PICDEM-Z da Microchip. Em seguida, efectua-se uma descrio de
toda esta fase que constitui o projecto, em termos de testes, desenvolvimento e
dificuldades ocorridas. Apresenta-se ainda o calendrio das tarefas realizadas.
A Concluso constitui o captulo 5, onde se faz um comentrio global ao
projecto e uma breve reflexo sobre a maturidade da tecnologia ZigBee.
Finalmente, o captulo 6, Desenvolvimentos Futuros apresentam-se
sugestes para evolues futuras deste mesmo projecto, utilizando a experincia
adquirida at data.
Existem ainda informaes adicionais, relacionadas com o trabalho
realizado, na seco Anexos.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 12


2 Estudo da Tecnologia

2.1 Identificao de Requisitos Iniciais

Numa linha de produo de gneros alimentcios, para um correcto controlo


e adequao das caractersticas do produto final, existem diversos sensores
nomeadamente de peso, temperatura e humidade.
Pretende-se desenvolver um mdulo de comunicao wireless (emissor /
receptor) tendo em vista o acoplamento do mesmo aos vrios tipos de sensores.
Desta forma, possibilitar-se- a comunicao, com ausncia de fios, dos dados
relativos aos sensores para uma unidade central (um computador ao qual estar
acoplado tambm um destes mdulos).
Embora alguns dos sensores permaneam fixos ao longo de todo o
processo, outros so sujeitos a deslocaes devido a caractersticas do prprio
mtodo produtivo o que faz com que no sejam necessariamente alimentados
pela rede elctrica, se no que por bateria prpria.
tambm relevante que as caractersticas fsicas deste mdulo permitam a
sua integrao num ambiente de linha de produo industrial.
Assim, para que se adequem ao fim a que se destinam, os mdulos de
comunicao devero caracterizar-se por:
- um reduzido consumo de energia (ao qual estar tambm associada uma
baixa complexidade), especialmente tendo em vista uma elevada autonomia nos
casos de em que a alimentao se efectue por bateria;
- pequenas dimenses, para permitir um flexvel acoplamento aos distintos
sensores e elementos de medio, assim como o seu transporte;
- baixa dependncia das condies exteriores e possibilidade de serem
integrados em invlucro estanque, no criando assim restries sua utilizao;
- adequao de interface, no sentido de que desejvel que seja ampla a
capacidade de interligao a diferentes dispositivos, isto que o interface
disponibilizado seja adequado sua rea de aplicao (neste caso, o suporte a
comunicao RS-232 ser o mais verstil dado permitir acoplamento a balanas,
sensores de temperatura ou humidade, );
- preo comportvel, em conformidade com as funes a executar.
No caso do mdulo central de recepo da informao, poder admitir-se
uma maior complexidade, estando sujeito a menores restries de consumo e

13 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


dimenses, uma vez que previsivelmente estar sujeito a uma instalao fixa,
ligado a um PC, e alimentado rede.
H ainda a destacar que se dever efectuar uma previso das
possibilidades de evoluo da soluo adoptada. Quer isto dizer que ser prefervel
optar por um sistema que se apoie num protocolo estandardizado, em detrimento
de protocolo de comunicaes prprio do fabricante, para que, no futuro, seja
admissvel a utilizao de outro tipo de equipamentos na mesma rede
(eventualmente sensores j com tecnologia de transmisso via-rdio incorporada,
dispositivos de controlo, entre outros).

2.2 Estudo das Redes Wireless

O desenvolvimento da tecnologia permitiu o aparecimento de vrias


alternativas e protocolos, embora inicialmente tenha sido colocada nfase
principalmente na transmisso de dados e voz, com elevadas taxas de
transferncia. Esta perspectiva tornava os equipamentos com preos de aquisio
elevados, resultando assim desinteressantes para aplicaes mais simples.
De facto, s aps o desenvolvimento dos vrios protocolos para suporte de
comunicaes sem fios, de mdio ou alto dbito, como o Bluetooth ou o Wi-Fi, se
comeou a pensar num protocolo que respondesse s necessidades especficas de
sensores e dispositivos de controlo. At ento os diversos fabricantes deste tipo de
equipamentos adoptavam solues prprias criando srios problemas de
interoperabilidade entre sistemas.
As redes dedicadas a comunicao industrial, com informao circulante
relativa a sensores (de temperatura, humidade, peso, etc.) e dispositivos de
controlo (botoneiras, rels, entre outros), possuem, na sua generalidade,
caractersticas bastante distintas das redes pessoais ou empresariais para
transmisso de voz e dados. Numa rede de mbito industrial no se privilegiar
tanto uma elevada taxa de transferncia de dados mas sim uma latncia baixa e um
consumo de energia igualmente baixo, para preservar a vida til das baterias.
Tal como foi identificado no nosso caso de estudo, extremamente
importante um reduzido consumo (de modo a que a facilidade de alimentao e
autonomia, em caso de alimentao por bateria, sejam maximizadas), assim como
se torna desejvel um tamanho compacto dos mdulos de comunicao, uma vez
que se pretende que sejam elementos acessrios ao processo produtivo (e como
tal, reduzida ao mximo a sua presena).

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 14


O grupo de trabalho 11 do IEEE (Institute of Electrical and Electronics
Engineers), responsvel pelos standards IEEE 802.11, considera a existncia de
quatro grandes grupos, em termos de redes sem-fios:

WPAN Wireless Personal Area Network: onde se enquadram tecnologias


wireless de pequeno alcance, entre 10 e 100 metros. Esta a rea de estudo e
desenvolvimento normativo do grupo de trabalho 15 do IEEE, especializado nos
standards WPAN. Esta rea compreende as redes sem fios que utilizam
dispositivos como os PDAs, PCs ou perifricos, sendo o campo de tecnologias
como o Bluetooth (responsabilidade do subgrupo IEEE 802.15.1) ou IrDA. O Low
Rate WPAN, que tenta reunir uma baixa data rate, baixa complexidade e oferecer
um reduzido consumo energtico, faz parte integrante deste campo e sobre ele
que foi desenvolvido o ZigBee, conjunto de especificaes da responsabilidade do
subgrupo de trabalho IEEE 802.15.4.

WLAN Wireless Local Area Network: tecnologias que se destinam a redes


sem fio com alcance situado entre os 100 e 300 metros, frequentemente como
extenso ou alternativa a redes de cableamento convencional (par de cobre, cabo
coaxial ou fibra ptica).

WMAN Wireless Metropolitan Area Network: neste campo o objectivo


relativo a acessos de banda larga em redes de mbito metropolitano, cujo alcance
ser em torno de 6 km.

WWAN Wireless Wide Area Network: o grupo mais amplo em termos de


alcance, orientado para servios de telecomunicaes (voz e dados), em longa
distncia de transmisso.

15 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


2.3 Comparao de diferentes tecnologias sem fios

Wi-Fi (IEEE 802.11b/g), Bluetooth (IEEE 802.15.1), ZigBee (IEEE 802.15.4)

Fig. 2.1 Logtipos das diferentes tecnologias Wi-Fi, ZigBeeTM, Bluetooth

PILHA
ESPECIFICAO DBITO CONSUMO VANTAGENS PRINCIPAIS APLICAES
PROTOCOLAR

Wi-Fi >400mA TX, Elevada Taxa de Internet, Transferncias


54Mbps 1MB +
(IEEE 802.11b/g) standby 20mA Transferncia de Ficheiros, Vdeo/Adio

Interoperabilidade,
Bluetooth >400mA TX, Perifricos de PC e
1Mbps 250KB substituio de
(IEEE 802.15.1) standby 0.20mA Telemveis, PDAs
cabos
Consumo, Controlos Remoto,
ZigBee 30mA TX,
100kbps 32KB Latncia, N. de Sensores, Dispositivos
(IEEE 802.15.4) standby 0.20A
Ns, Fiabilidade, alimentados por bateria

Tabela 2.1 Caractersticas Wi-Fi, Bluetooth e ZigBee

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 16


Fig. 2.2 Representao grfica da Taxa de Transferncia de Dados vs Alcance1

Na Tabela 2.1 Caractersticas Wi-Fi, Bluetooth e ZigBee podemos verificar,


de uma forma sumria, algumas das principais caractersticas dos standards
wireless Wi-Fi, Bluetooth e ZigBee.
O Wi-Fi, baseado sobre as normas da famlia IEEE 802.11, um protocolo
orientado para aplicaes que requeiram um elevado dbito, tais como a
transferncia de ficheiros ou o acesso Internet e a contedos multimdia. Por
outro lado, dado os objectivos deste protocolo, o suporte sua pilha protocolar, em
termos de hardware, bastante mais exigente (podendo assumir a mesma um
tamanho consideravelmente elevado). O seu consumo energtico, especialmente
quando em standby, tambm claramente superior ao das outras tecnologias que
aqui se comparam.
Por ambos apresentarem dbitos mais reduzidos em relao ao Wi-Fi, uma
dvida frequentemente surgida se o Bluetooth e ZigBee so efectivamente
protocolos concorrentes.
Segundo a prpria ZigBee Alliance, o ZigBee foi desenvolvido para servir
aplicaes bastante distintas das do Bluetooth e, em especial, atentando a uma
optimizao mxima do consumo energtico. Conforme se constata, efectivamente
o protocolo ZigBee apresenta um consumo muito reduzido quando comparado com

1
As tecnologias Ultra Wide Band (UWB) e GSM / UMTS (2.5G / 3G), embora representadas, pelas
suas caractersticas no foram objecto de estudo.

17 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


o Wi-Fi ou Bluetooth, especialmente nos perodos de inactividade o seu consumo
ser, nesta fase, cerca de 100 vezes inferior ao do Bluetooth!
Assim, e ainda que o ZigBee seja posteriormente objecto de anlise mais
detalhada, importa destacar os pontos de clara diferenciao entre este protocolo e
a especificao Bluetooth:

ZigBee:

duty cycle muito baixo e suporte para dispositivos de funes reduzidas


(minimizando o consumo), possibilitando elevada autonomia quando
alimentao por baterias;

suporte a topologias de rede estticas e dinmicas, quer em estrela quer


em malha;

capacidade para permanecer longos perodos sem comunicao;

permite a utilizao de redes com mais de 65.000 ns, procurando


garantir sempre baixa latncia;

uso de Direct Sequence Spread Spectrum permite que os dispositivos


permaneam em sleep-mode sem necessidade exigente de sincronizao;

Bluetooth:

duty cycle moderado (no to elevado como no Wi-Fi), mas com


consumo idntico para qualquer tipo de dispositivo interveniente na rede;

elevado QoS;

redes quase estticas de topologia em estrela e com um mximo


preivisto de 7 clientes;

o recurso ao Frequency Hope Spread Spectrum implica que seja


extremamente difcil a criao de redes extensas sem custos elevados em
termos de sincronizao;

Conforme se pode constatar pelos dados anteriores, o ZigBee possibilita


ento um menor consumo de energia associado a dbito e alcance aceitveis, o
que o torna bastante atractivo para dispositivos remotos que sejam alimentados por
baterias, como o caso dos mdulos para sensores no presente estudo. Por outro
lado, a pilha protocolar tambm menor em termos de complexidade, o que exige
menores recursos nos dispositivos que a utilizem.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 18


2.4 O protocolo ZigBee um estudo detalhado

No seguimento do levantamento de tecnologias disponveis efectuado


anteriormente, concluiu-se ser o protocolo ZigBee aquele que mais se adequava
aos objectivos deste projecto.

No sentido de satisfazer as necessidades crescente da sociedade de


informao, o mercado das comunicaes tem sofrido nos ltimos anos uma
evoluo muito elevada. De facto, no contexto das redes sem fios (wireless)
existem mltiplas alternativas, cada uma dela orientada a aplicaes distintas.
O Zigbee, sendo uma tecnologia recente, teve a sua primeira verso
apresentada ao pblico em 27 de Julho de 2005 (embora tenha efectivamente
surgido em Dezembro de 2004) e a entidade que se apresenta responsvel por
este protocolo intitula-se ZigBeeTM Alliance. A ZigBeeTM Alliance uma aliana
constituda por mais de 200 empresas, oriundas de mais de 20 pases distintos, na
qual se integram tambm especialistas da rea de telecomunicaes e
semicondutores, incluindo membros do IEEE.
At data no se encontrava no mercado nenhuma norma de redes sem
fios globalmente aceite no mbito de sensores e dispositivos de controlo.
Contrapondo-se aos elevados dbitos oferecidos por outras tecnologias (como
Bluetooth ou o WiFi), o ZigBee pretende associar a transmisso de dados sem fios
a um reduzido consumo energtico e com elevada fiabilidade. Assim, um objectivo
desta norma tambm uma tentativa de uniformizar o desenvolvimento de
aplicaes e dispositivos nesta rea, abandonando-se sistemas proprietrios
distintos para dar lugar a um standard, que, ao ser compatvel, proporciona
evidentes vantagens de interoperabilidade.

Com uma vasta rea de aplicao, desde o controlo industrial automao


de residncias (domtica), o protocolo ZigBee possui ento determinadas
caractersticas que o tornam absolutamente distinto dos restantes, sustentando os
motivos que levaram sua criao:

reduzido consumo de energia low power;

pilha protocolar de implementao simplificada (cdigo de tamanho


menor de um quarto da do Bluetooth, por exemplo), conduzindo a interfaces
de baixo custo low cost;

19 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


possibilidade de suportar uma elevada densidade de ns por rede (num
mximo de 65535 dispositivos por cada ZigBee Coordinator, valor
manifestamente superior aos 8 do Bluetooth ou 30 do Wi-Fi);

admite diferentes topologias da rede: estrela (star), malha (mesh) ou


rvore (cluster tree), permitindo o estabelecimento de redes de ns ad-hoc.

possuindo um tempo de ligao rede menor que os outros protocolos e


apresenta maior rapidez na passagem do modo standby a activo, o ZigBee
apresenta tambm uma latncia baixa low latency;

dois estados de operao: active, aquando do envio ou recepo de


dados, e sleep (contrastando, por exemplo, com o Bluetooth, que apresenta
inmeros modos e estados de latncia e potncia) a aplicao no ter de
se preocupar em seleccionar o modo mais adequado;

dois modos de operao da rede: beaconing e non-beaconing.

elevada segurana, com recurso a 128-bit encryption;

elevada fiabilidade;

suporte para duas classes de dispositivos fsicos (definidos na norma


IEEE 802.15.4), podendo ambos coexistir numa mesma rede:

* Full Function Device (FFD) pode funcionar em qualquer que seja a


topologia da rede, desempenhando a funo de coordenador da rede
e consequentemente ter acesso a todos os outros dispositivos.
Assim, tratam-se de dispositivos de construo mais complexa;

* Reduced Function Device (RFD) limitado a uma configurao


com topologia em estrela, no podendo actuar como coordenador da
rede. Pode apenas comunicar-se com um coordenador de rede. So
dispositivos de construo mais simples;

s duas classes anteriores de dispositivos fsicos correspondem trs


tipos de dispositivos lgicos: Coordinator, Router e Endpoint.

To enable reliable, cost-effective, low-power, wirelessly networked, monitoring and


control products based on an open global standard a misso da ZigBee Alliance,
segundo a prpria.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 20


2.4.1 Pequena perspectiva histrica sobre o ZigBee

Anteriormente adopo da nomenclatura ZigBee e da constituio da


TM
ZigBee Alliance, a responsvel por esta tecnologia era a empresa Philips, sendo
nessa poca designado por protocolo Home RF Lite.
Apesar de actualmente admitir distintas topologias, foi atravs da topologia
em malha que se lhe associou o nome. Uma malha ZigBee apresenta mltiplos
percursos possveis entre cada dispositivo, o que permite eliminar um possvel
ponto de falha, atravs do zig e zag da informao pela rede.
As abelhas de mel, para alm de viverem em colmeia, voam em
ziguezague e dessa forma lhes possvel informar os restantes elementos da sua
comunidade da distncia, direco e localizao dos alimentos descobertos. Assim,
o nome deste protocolo surge da analogia da estrutura e modo de funcionamento
da rede de comunicaes para com modo de vida das abelhas.

2.4.2 Detalhes tcnicos

O ZigBee opera em trs bandas de rdio conhecidas como ISM (Industrial,


Scientifical and Medical), as quais esto isentas de licenciamento. Globalmente,
corresponde banda de 2.4Ghz e ainda s bandas de 915Mhz (Estados Unidos) e
868 Mhz (Europa). Consoante a banda, varia a taxa de transmisso possvel: em
2.4Ghz podem ser obtidas taxas de transmisso de 250Kbps, com 16 canais
disponveis; a 915Mhz, est disponvel uma taxa de transmisso de 40Kbps e 10
canais de comunicao; no caso de 868Mhz, possibilita 1 canal e uma taxa de
transmisso de 20Kbps.
Em termos de modulao, utilizado O-QPSK (Offset quadrature phase-
shift keying) para a banda dos 2.4Ghz e BPSK (binary phase shift keying) para os
915 ou 868Mhz.

2.4.3 Topologia da rede

Embora j anteriormente referidas de forma breve, importa detalhar cada


uma das topologias de rede admitidas pelo ZigBee.

21 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Uma vez que este standard perspectiva a rede de uma forma ad hoc, no
existe uma topologia predeterminada nem um controlo obrigatoriamente
centralizado. Note-se no entanto, e apesar desta caracterstica dinmica de
configurao da rede, que em qualquer uma das topologias o Zigbee Coordinator
o dispositivo responsvel por iniciar a rede.

Em seguida apresenta-se uma representao grfica e sucinta abordagem


do conceito inerente a cada topologia, podendo cada uma delas coexistir dentro de
uma mesma rede:

ESTRELA (Star)

ao ZigBee Coordinator que cabe todo o controlo da rede, assumindo este


um papel central e de comunicao directa com todos os dispositivos Endpoint
portanto o Coordinator que inicia e mantm os dispositivos na rede. Toda a
informao em circulao na rede passa pelo n Coordinator.

Fig. 2.3 Topologia de rede: Estrela

MALHA (Mesh)

Numa topologia em malha os dispositivos do tipo FFD (Coordinator/Routers)


so livres de comunicar com outro dispositivo FFD. Isto permite, quando
necessria, a expanso fsica da rede (maior alcance). O Coordinator regista toda a
entrada e sada de dispositivos, mas no assume um papel to preponderante em
termos de fluxo de informao como na configurao anterior.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 22


Fig. 2.4 Topologia de rede: Malha

RVORE (Cluster Tree)

Apresentando semelhanas rede em malha, tambm so usados


dispositivos Router. No entanto, nesta topologia efectua-se a distribuio de dados
e mensagens de controlo numa estrutura hierrquica, onde o Coordinator assume o
papel de n nuclear da rede.

Fig. 2.5 Topologia de rede: rvore

2.4.4 Modos de operao da rede

No modo beaconing, os ns ZigBee Routers transmitem periodicamente


sinalizao (beacons) a confirmar a sua presena aos outros ns da mesma rede,
sendo que os restantes ns s necessitam de estar activos no momento da
sinalizao. Tal permite mant-los no modo sleep entre sinalizaes, com evidente

23 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


vantagem em termos de consumo energtico (diminuem o seu duty cycle e,
consequentemente, prolongam a autonomia da bateria a que possam estar
ligados). O intervalo entre beacons pode variar entre os 15.36 ms e os 251.65s,
para uma taxa de transmisso de 250kbit/s. No entanto, h que ter em conta que a
operao com duty cycle reduzido (associada a intervalos prolongados entre
beacons) requer uma temporizao de elevada preciso, o que pode colidir com o
interesse em produzir um dispositivo de baixo custo.
No modo non-beaconing sucede que a maioria dos dispositivos mantm os
seus receptores permanentemente activos, sendo o consumo energtico mais
significativo (podendo tornar necessrias fontes de alimentao mais robustas).

2.4.5 Caractersticas dos diferentes tipos de dispositivos lgicos

Em termos de dispositivos fsicos, os quais esto associados norma IEEE


802.15.4, encontramos os FFD e os RFD conforme j referido anteriormente nesta
mesma seco.
Sobre estes, o protocolo ZigBee efectua ainda a distino entre trs tipos
dispositivos lgicos que concretizam a rede de comunicao:

Tipo de dispositivo
Dispositivo fsico associado Funo
(IEEE 802.15.4)

Forma a rede, atribui endereos, suporta binding table. Existe


Coordinator FFD
apenas um por rede.

Permite que mais ns se juntem rede, ao aumentar o seu


Router FFD alcance fsico. Pode tambm efectuar funes de controlo ou
monitorizao. A sua existncia opcional.

Efectua aco de controlo ou monitorizao atravs de


Endpoint RFD ou FFD dispositivo que lhe esteja associado (sensor, controlador,
actuador).

Tabela 2.2 Redes ZigBee: dispositivos lgicos e suas funes

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 24


2.4.6 A arquitectura protocolar ZigBee / IEEE 802.15.4

A arquitectura do protocolo ZigBee composta por camadas, sendo que a


camada executa servios especficos ao dispor da camada superior: a entidade de
dados fornece dados para o servio de transmisso e a entidade de gesto fornece
informao para todos os outros servios. Cada entidade de servio expe uma
interface para a camada superior atravs do ponto de acesso ao servio (SAP) e
cada SAP suporta um nmero de primitivas de servio para activar a funcionalidade
que se pretende solicitar.
Embora se baseie no modelo OSI (Open Systems Interconnection) de sete
camadas, a arquitectura protocolar ZigBee apenas define, no entanto, as camadas
de interesse para atingir as funcionalidades desejadas.
De uma forma simplificada, as diferentes camadas podem ser
esquematizadas conforme se visualiza na Fig. 2.6 Camadas da Arquitectura
Protocolar ZigBee

Fig. 2.6 Camadas da Arquitectura Protocolar ZigBee

As duas camadas mais baixas, a camada fsica (PHY) e camada de controlo


de acesso ao meio (MAC), esto definidas pela norma IEEE 802.15.4. Construdo
sobre esta, no protocolo ZigBee que se definem as camadas de rede
imediatamente superiores. Ou seja, as camadas de rede (NWK) e o framework para
a camada de aplicao (APL). Aqui se incluem a subcamada de suporte

25 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


aplicacional (APS), o Objecto de Dispositivo ZigBee (ZigBee Device Object ZDO)
e os Objectos de Aplicao (Applcation Objects).

A camada PHY a responsvel por permitir a transmisso e recepo de


mensagens atravs de um canal fsico RF (com as caractersticas j anteriormente
explicitadas). Das suas funes fazem parte a activao e desactivao do
transceiver, deteco da energia (ED Receiver Energy Detection), indicao da
qualidade da ligao (LQI Link Quality Indication), seleco do canal e
transmisso / recepo de pacotes atravs do meio fsico.

camada MAC cabe fundamentalmente o papel de controlar o acesso aos


canais RF, utilizando mecanismos de preveno de coliso CSMA-CA (Carrier
Sense Multiple Access Collision Avoidance), para o qual efectua comunicaes
com a camada inferior camada PHY. Alm disso, especifica o tipo de dispositivos
permitidos na rede, a estrutura de tramas admissvel e tambm est a seu cargo a
sincronizao e transmisso de tramas beacon, permitindo a fiabilidade de
operao.

A camada NWK , hierarquicamente, a primeira camada que definida pela


norma ZigBee, e apresentam-se da sua responsabilidade o inicio ou fim da ligao
de um dispositivo rede, a descoberta de novos dispositivos na vizinhana (e o
armazenamento de informao relativa aos mesmos), a atribui-se de endereos
(apenas em dispositivos Coordinator). ainda nesta camada que esto presentes
os mecanismos de descoberta de rotas e encaminhamento de informao assim
como de configurao de novos dispositivos.

Quanto camada de aplicao (APL), contm a sub-camada Aplication


Support Sublayer (APS), o ZigBee Device Object (ZDO) e a Application Framework
(AF). Esta camada pretende assegurar uma correcta gesto e suporte para as
diversas aplicaes.

Para uma anlise mais profunda e em detalhe, observe-se a seguinte


representao grfica da Fig. 2.7:

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 26


Fig. 2.7 Arquitectura Protocolar ZigBee

2.4.7 Tipos definidos de tramas

Tramas de comando MAC (MAC command) para controlo dos ns clientes.

Tramas de dados so usadas para todo o tipo de transferncia de dados,


Suportam 104 bytes e esto numeradas. A existncia de uma sequncia de frame-
check permite assegurar uma transmisso fivel e sem erros.

Tramas de acknowledgment (ACK) utilizadas para confirmar a recepo bem


sucedida de um pacote. Os dispositivos utilizam o quiet time entre tramas para
efectuar o acknowledgment.

Tramas de beacon utilizadas pelos dispositivos Coordinator e Router para


efectuar a transmisso de beacons.

2.4.8 Terminologia ZigBee [11] e [12]

Profile
um acordo de mensagens, formatos de mensagens e procedimentos
descrevendo a funo dos dispositivos e suas interfaces de maneira a criar uma

27 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


aplicao distribuda. Por exemplo, existe o profile de Controlo da Iluminao
Domstica que prev seis tipos diferentes de dispositivos (atribuindo-lhes
identificadores e verses) a trocar mensagens KVP pr-definidas de modo a
controlar o ligar e o desligar de lmpadas, medir a luminosidade ou usar sensores
de movimento. Cada profile ter de ter um identificador de profile nico sendo
necessrio pedi-lo ZigBee caso se pretenda criar um profile.

Atributo
Cada bloco de dados passado entre dispositivos atravs de comandos. O
formato de cada atributo (tipo de dados) definido no profile. Cada atributo ter de
ter um identificador prprio definido no profile.

Cluster
Possui um grupo de atributos e pode ser Mandatory (tendo que estar
presente em todos os dispositivos) ou Opcional conforme o estabelecido no profile.
As interfaces so definidas entre clusters. Cada cluster ter de ter um identificador
prprio definido no profile. Cada cluster s poder ser de entrada ou sada,
definindo-se isto no descritor simples. Pode haver at 256 clusters cada um com
65.536 Atributos.

Endpoint
Bloco funcional de cdigo que suporta um ou mais clusters. A cada endpoint
atribudo um endereo em adio aos endereos nicos do dispositivo IEEE de
64 bits e de Rede (NWK) de 16 bits.

Descrio do dispositivo
Descreve um dispositivo dentro de um domnio e/ou segmento de aplicao.
Um conjunto destes descritores forma um profile. Possui um identificador nico
(trocado no processo de descoberta).

N
Uma coleco de Descries de Dispositivos e Aplicaes independentes
residentes numa nica unidade rdio.

Descritores
Estruturas de dados usados pelos dispositivos para se descreverem,
constitudas por 5 descritores individuais como mostra a Tabela 2.3 Descritores
ZigBee. Alguns tm que existir sempre obrigatoriamente (mandatory) e outros so

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 28


opcionais. No momento da sua transmisso, seguem a ordem apresentada na
tabela.

Nome do Descritor Estatuto Descrio

Node Mandatory Tipos e capacidades do n


Node power Mandatory Caractersticas da alimentao
Simple Mandatory Descries do dispositivo contidas no n
Complex Optional Informao extra
User Optional Descritores definidos pelo utilizador

Tabela 2.3 Descritores ZigBee

Descritor de N
Nos seus campos indica o tipo de dispositivo (coordenador, router ou end
device), as capacidades da APS, a frequncia usada, as caractersticas da MAC
(IEEE 802.15.4), o cdigo do fabricante, o tamanho mximo do buffer e o tamanho
mximo de transferncia.

Descritor de potncia do N
Especifica o modo actual de poupana de energia, as fontes de alimentao
disponveis, a fonte actual e o nvel de carga para o caso de a fonte ser uma
bateria.

Descritor Simples
Especifica informao para cada endpoint do n em questo. Para cada
endpoint definido o seu nmero, o identificador de profile, especificada a
descrio de dispositivo suportada neste endpoint em questo, a verso da
descrio de dispositivo, indicado se so usados o descritor Complexo (Complex)
ou de Utilizador (User), o nmero de clusters de entrada, a lista dos clusters de
entrada suportados por este endpoint, o nmero de clusters de sada e lista dos
clusters de sada.

Descritor Complexo
de uso opcional e possui os campos de lngua e cdigo de caracteres
usados por ele prprio, o nome do fabricante, o nome do modelo do dispositivo, o
nmero de srie, o URL para mais informaes, o cone do dispositivo e o URL do
cone.

29 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Tabela 2.4 Protocolo ZigBee: Arquitectura dos Profiles

Descritor de Utilizador
Contm apenas um campo (16 octetos) que permite ao utilizador final
identificar o dispositivo dando-lhe o nome que pretender.

Localizao de Dispositivo
Processo segundo o qual um dispositivo ZigBee pode descobrir outros
dispositivos ZigBee enviando mensagens de pedido de identificao por broadcast
ou unicast. Pode haver pedidos do endereo IEEE (j conhecido o NWK e por
unicast) ou NWK (por broadcast e transporta o endereo IEEE). No caso do
dispositivo ser um coordenador ou router, para alm do seu endereo, enviar
tambm os endereos dos dispositivos a ele associados.

Service Discovery
um processo onde os servios disponveis nos endpoints de um
dispositivo so descobertos por dispositivos externos. So rastreados todos os
endpoints (por unicast) ou usado o servio de match ( enviada uma mensagem
de difuso e s respondem os dispositivos em que os critrios coincidam), sendo
usados todos os descritores do endpoint. No caso de haver dispositivos em sleep-
mode, o seu coordenador ou router ZigBee poder responder por eles. Existem os
seguintes tipos de pedidos:

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 30


Endpoint Activo
Este comando permite determinar os endpoints activos (a aplicao suporta
um nico profile).

Match Simple Descriptor


Pede a identificao de profile e, opcionalmente, a de clusters e a do
endpoint do dispositivo com os critrios fornecidos coincidentes.

Detector Simples/ N/ Potncia/ Complexo/ Utilizador


Estes comandos pedem os descritores respectivos do endpoint/dispositivo
especfico. Os 2 primeiros podem ser broadcast ou unicast e os outros somente
unicast.

Tabela dos Vizinhos


Usada para manter o contacto com os outros dispositivos do POS (Personal
Operating Space).

Binding
Criao de uma ligao lgica unidireccional entre um endpoint/cluster-fonte
e um endpoint de destino. executado aps ser estabelecido uma ligao de
comunicao. Estas informaes de ligao de ns armazenada na Binding Table
existente no coordenador.

O Gestor de Binding (Binding manager) estabelece o tamanho inicial da tabela de


binding e processa os pedidos de adio e remoo de entradas na tabela. Um
binding pode ser pedido por end devices ou criado pelo cordenador.

Tabela de Binding
Cada entrada desta tabela constituda pelo endereo, identificador do
endpoint e identificador do cluster do dispositivo fonte e pelos endereo e endpoint
do(s) dispositivo(s) de destino desta ligao de binding. Tem tamanho mximo pr
estabelecido.

Servios de Dados
A application framework fornece aos seus objectos de aplicao dois
servios de dados:

31 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


KVP
O servio de Key Value Pair permite a manipulao de atributos atravs de
uma aproximao de estados variveis: get, get response, set, set response, event
transaction e event transaction response. Adicionalmente, usa estruturas de dados
etiquetadas usando XML compresso. A sua estrutura rgida.

Cada trama contm a seguinte informao:

Nmero de Sequncia de Transaco Nmero na sequncia de


transaco.

Tipo de Comando
Indica o que a aplicao dever fazer com a informao da trama: Set;
Event; Get + ACK; Set + ACK; Event + ACK; Get Response; Event Response.

Tipos de Dados do Atributo


Indica se o formato Unsigned 8-bit integer; Signed 8-bit integer; Unsigned
16-bit, Signed 16-bit integer; Semi precision; Absolut time; Relative time;
Character string ou Octet string.

Identificao do Atributo
Indica o atributo alvo.

Cdigo de Erro (opcional)


includo somente nos comandos de resposta e pode indicar um dos
seguintes valores: Success; Invalid Endpoint; Unsupported attribute; Invalid
command type; Invalid attribute data length; Invalid attribute data; ou Application
defined error.
Dados do atributo (tamanho varivel)
A informao aqui contida varia com o tipo de comando, o tipo de dados do
atributo e da descrio do dispositivo usada.

MSG
O servio de Message usado para compatibilizar protocolos proprietrios
que no mapeiem bem KVPs. transportada pelo mecanismo do KVP, tendo a
diferena de no assumir contedo na trama de dados APS estrutura de forma
livre.
Cada trama contm a seguinte informao:

Nmero de sequncia da transaco Nmero na sequncia d


transaco

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 32


Tamanho da transaco especifica o nmero de octetos usado.

Dados da transaco Possui tamanho varivel (e a no ser que


ambos os dispositivos suportem fragmentao, ter de ser inferior a
maxCommandSize) e contm informao especfica definida no profile.

Ambos os formatos so associados a um clusterID e s o profile da


aplicao ir decidir quais os formatos das tramas usados para transferir
qual informao, decidindo ainda o formato das tramas MSG.

[11] e [12]

33 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


3 Seleco de Hardware

3.1 Helicomm EZ-Net DevKit 1000

Fig. 3.1 Helicomm EZ-Net DevKit 1000

A Helicomm uma empresa fundada em 2002 e dedicada ao wireless


networking, atravs de kits de desenvolvimento para solues adaptadas s
necessidades do cliente. A estes kits podem ser adicionados mdulos, para uma
expanso de rede.
O kit EZ-Net DevKit 1000 contm 7 mdulos compactos de comunicao
wireless IP-Link 1000, 6 placas de interface com PC / sensor, o software especfico
Helicomm de configurao individual dos mdulos e da rede (WIN-View Network
Management Software), assim como toda a documentalo, fontes de alimentao e
cabos. As placas de interface possibilitam uma comunicao RS-232, suportando
uma transmisso sncrona ou assncrona de fluxos de dados o que seria
manifestamente interessante no caso deste projecto. O sistema baseado em
microcontrolador da famlia 8051, o que tambm poderia ser vantajoso dado esta
famlia de microcontrolador j ter sido objecto de estudo no mbito de algumas
cadeiras. Para alm disso, inclui um software especfico que permite a configurao
e controlo da rede, quer em termos individuais (cada mdulo) quer globais

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 34


(topologia, tabelas de encaminhamento, pacotes trocadas, ), assim como efectuar
testes mesma atravs de simulao de rupturas entre ns, por exemplo.
No entanto, esta soluo de desenvolvimento no se torna vivel, dado
apresentar-se com um custo de aquisio bastante elevado ($2500 USD),
possivelmente resultado de ser um kit que fornece partida um considervel
nmero de mdulos de comunicao.

3.2 Silicon Labs 2.4 Ghz ZigBee Development Kit

Fig. 3.2 Silicon Labs 2.4 Ghz ZigBee Development Kit

Do fabricante Silicon Labs, este kit de desenvolvimento inclui seis ns


wireless ZigBee completos, cada um deles com leds e botes para monitorizao e
controlo, sendo os mesmos baseados em microcontrolador da famlia 8051 e com
possibilidade de alimentao dual: atravs de fonte de alimentao DC ou bateria
de 9V. Cada um dos mdulos possui dimenses compactas, o q relevante para as
possveis aplicaes deste projecto. Inclui ainda uma porta JTAG para
programao do microcontrolador e interface USB.

35 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Para alm disso, inclui todo o software necessrio ao desenvolvimento do
projecto, incluindo o Silicon Laboratories Integrated Development Environment
(IDE), o Keil Software 8051 Development Tools (assembler, linker e compilador de
C) assim como as bibliotecas ZigBee Application Programming Interface (API). Faz
parte do seu contedo tambm um driver para a criao de portas de comunicao
(COM) virtuais.O programa de configurao da rede possui um interface grfico,
suportando as diferentes topologias previstas e incluindo at 13 modelos de
estrutura de rede j pr-definidos.
Esto includos tambm todos os acessrios que podero ser necessrios,
nomeadamente cabos, baterias e ainda 2 fontes de alimentao com converso
AC-DC para alimentao atravs da rede elctrica.
No entanto, esta soluo apresenta um custo que, embora inferior ao do kit
Aerocomm, se revela considervel cerca de $950 USD. Est disponvel um kit de
preo mais acessvel, no qual se disponibilizam apenas dois ns ZigBee. Para alm
de que este ltimo se revela insuficiente para que se efectue posterior teste de uma
rede de trs elementos (pelo menos), ainda assim o seu preo no se torna muito
apelativo.

3.3 Data Hunter Tick RS232 Parasitically Powered Data


Radio

Fig. 3.3 Data Hunter Tick RS232 Parasitically Powered Data Radio

Este dispositivo, comercializado pela empresa Data Hunter, revela-se


bastante interessante, seja como elemento-acessrio a uma rede j existente ou
constituindo-se a prpria rede com estes ns.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 36


alimentado de forma parasita atravs da porta-srie do dispositivo ao
qual se acopla e nele esto incorporadas todas as funes e dispositivos
necessrios transmisso de informao, incluindo antena, transceiver,
amplificador de potncia RF e microcontrolador. De tamanho extremamente
compacto e peso muito reduzido (35 gramas), a sua instalao exige apenas
acoplamento porta-srie da entidade com a qual pretendemos estabelecer
comunicao, suportando o protocolo RS-232.

Possui tambm um software especfico que permite a configurao de todos


os parmetros dos distintos mdulos e da rede, tais como taxa de transmisso
(baud rate), paridade, tipo de controlo de fluxo, atribuio de endereos, nmero de
tentativas de reenvio de um pacote, entre outros.

Fig. 3.4 Software de configurao Data Hunter

Numa anlise mais aprofundada do produto, , no entanto, possvel verificar


que a informao tcnica apresenta lacunas. Entre outros, as topologias de rede
admissveis para a rede no so referidas e o consumo energtico efectuado pelo
aparelho levanta algumas dvidas. Este ltimo aspecto de importncia vital, dado
que necessrio que esteja afastada a possibilidade de se causar danos no

37 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


dispositivo ao qual se acopla, ao tratar-se de uma alimentao-parasita via porta-
srie.
Por outro lado, e data de realizao deste estudo, a referncia que suporta
a operao atravs de protocolo ZigBee est anunciada como brevemente em
comercializao, no sendo especificada uma data concreta. O preo apontado
de $179 USD, o que, dadas as caractersticas do dispositivo, poder ser
considerado aceitvel.
Sendo um conceito bastante interessante, fica a ideia de que estar ainda
numa fase de desenvolvimento ou aperfeioamento, da a sua disponibilidade como
100% ZigBee no ser ainda imediata e os detalhes tcnicos no estarem ainda
totalmente publicados e esclarecidos.

3.4 Maxstream XBee ZigBee RF Modules

Fig. 3.5 Maxstream XBee ZigBee Module

A empresa Maxstream disponibiliza os mdulos transceiver de nome XBee,


que operam na banda de 2.4Ghz, para integrao em sistemas que pretendam
transmitir informao por RF.
Suportando o protocolo ZigBee e diferentes topologias, os mdulos
caracterizam-se por ausncia de configurao externa (programao por software
prprio), sendo possvel realizar as operaes pretendidas atravs de comandos
AT e de tramas especficas de controlo. Assim, destinam-se a interactuar com
microcontroladores, atravs de uma interface SPI, encarregando-se da
transmisso/recepo dos dados pretendidos (e estando o protocolo implementado
no microcontrolador do prprio mdulo).

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 38


Apresentam dimenses muito reduzidas (inferiores a 3cm x 3 cm) e so em
2 verses distintas (XBee / XBee Pro), as quais diferem na potncia de
transmisso. Ao XBee est associados uma potncia de 1mW e um alcance de
100m ou 30m (outdoor / indoor), enquanto o XBee Pro opera com uma potncia de
60mW, o que lhe permite alcanar um raio de transmisso at 1,6km ou 100m
(outdoor / indoor). Em termos de consumo, so dispositivos que apresenta um
consumo muito reduzido (inferior a 10A) quando em estado sleep, subindo no
entanto a necessidade de alimentao aquando da recepo/transmisso. No
mbito deste parmetro, e como se torna evidente, o XBee quem apresenta
menor consumo energtico corrente de aproximadamente 50mA quando em
estado transmisso/recepo (para uma tenso de alimentao de 3,3V).

Fig. 3.6 Vista Frontal XBee / XBee Pro

Fig. 3.7 Vista Lateral XBee / XBee Pro

39 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Em termos de custo de aquisio, o mdulo XBee comercializado por
$19,00 USD, enquanto o XBee Pro se cifra nos $32,00 USD. Cabe ao utilizador a
eleio do tipo de antena que pretende que o mdulo inclua: whip (pequeno dipolo),
impressa no prprio chip ou ligao atravs de conector U.FL.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 40


4 Desenvolvimento do trabalho

4.1 Sistema PIC / XBee

Por cumprir os requisitos necessrios, o transceiver XBee da Maxstream foi


a soluo inicialmente elegida para o trabalho. Uma vez que o XBee apresenta um
consumo mais reduzido assim como um preo inferior, seria perfeitamente
aceitvel, nesta fase, trabalhar com o XBee. No caso de posteriormente se verificar
que o alcance era insuficiente, poderia ser efectuada uma troca da verso do
transceiver, uma vez que o XBee e o XBee PRO so, em termos de ligao
elctrica e operao, perfeitamente intercambiveis.

Desta forma, pretendia-se realizar um sistema que integrava o transceiver


Xbee e um microcontrolador. A comunicao com os dispositivos a monitorizar /
controlar seria realizada por porta-srie, recorrendo ao protocolo RS-232, numa
transmisso assncrona de dados (UART), cabendo ao microcontrolador efectuar o
coordenao dos fluxo de dados (sensor transceiver). O esquema representativo
de tal sistema encontra-se representado na figura Fig. 4.1:

Fig. 4.1 Esquema de n ZigBee constitudo por PIC, Transceiver e Antena

Na interface entre o microcontrolador (elegido entre a famlia PIC) e o


dispositivo a sensorizar, seria ainda necessrio utilizar um mdulo de converso
dos nveis elctricos da transmisso-srie, respeitando o standard RS-232.

41 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


4.1.1 O microcontrolador PIC

Aps algum estudo, foram identificadas as caractersticas essenciais que o


microcontrolador teria de apresentar (fundamentalmente uma forma de memria
no-voltil, uma interface UART e um consumo energtico reduzido, sendo tambm
desejvel uma simplicidade ao nvel do nmero de pinos de interface).
Efectuando uma busca generalizada, concluiu-se que um microcontrolador
que satisfazia amplamente os requisitos necessrios era o microcontrolador de
8bits Microchip PIC18F330, o qual apresenta uma Data EEPROM de 128KB,
interface EUSART, oscilador interno de 8Mhz, tenso de alimentao compatvel
com a do mdulo XBee e consumo designado por Nanowatt. Alm disso, o seu
custo acessvel (abaixo dos 2,50) e a sua disponibilidade comercial tornaram-no
uma opo vivel.

4.1.2 O conversor MAXIM MAX 3221

Em termos de componentes, restava apenas seleccionar um mdulo para


converso dos nveis elctricos da transmisso via porta-srie. Para este efeito
existem mltiplos circuitos integrados de diversos fabricantes, sendo um deles o
mdulo MAXIM MAX3221.

Fig. 4.2 Diagrama de pinos do MAXIM MAX3221

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 42


Para um melhor esclarecimento sobre o modo de funcionamento deste
dispositivo, salienta-se as funes de alguns dos seus pinos:

T1IN Entrada do transmissor TTL / CMOS


R1IN Entrada do receptor RS-232
T1OUT Sada do transmissor RS-232
R1OUT Sada do transmissor TTL/CMOS
FORCEON fora o circuito a funcionar
/FORCEOFF fora o circuito a entrar no modo shutdown
/INVALID pino que informa se existe algum sinal RS-232

Tendo como funo a converso entre sinais RS-232 e nveis lgicos


CMOS, este circuito apresenta as seguintes caractersticas:

capaz de suportar uma taxa de transmisso de at 120kbps;

consumo reduzido Micropower e com modo Auto-Shutdown, no qual


apenas necessria uma corrente de alimentao na ordem de 1A;

suporta uma taxa de transmisso de at 120kbps (garantindo uma slew


rate de 6 V / A).

Dado que o consumo uma das preocupaes ao nvel do projecto, o


consumo reduzido deste integrado e a suas funes de shutdown como forma de
controlar ainda mais a potncia consumida, so caractersticas preponderantes
para a sua escolha.
De destacar ainda que por este integrado poder ser alimentado a 3.3V
(mesma tenso que o microcontrolador PIC) e o nvel elctrico RS-232 ser de 5.5V,
recorre a uma tcnica de charge pumps para poder reproduzir estes nveis
elctricos. As bombas de corrente, que no so mais que conjuntos de
condensadores numa disposio especfica, que operam quando a tenso de
alimentao do circuito inferior a 5.5V. O prprio fabricante disponibiliza
informao acerca das capacidades a colocar, em funo o intervalo de tenso de
alimentao (no caso de 3.3V ser 0,1F em ambos os condensadores,
identificados por C1 e C2).

O custo deste dispositivo situa-se abaixo dos 1,50, pelo que no se revela
um componente dispendioso.

43 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Assim, o conjunto de hardware necessrio constituio deste sistema
revela-se com um preo bastante aceitvel e com a vantagem de ser inteiramente
controlado pelo projectista, sem ter uma dependncia to grande de software
proprietrio do fabricante.

No entanto, foi aps a encomenda do mdulo XBee que esta alternativa se


viu inviabilizada.
Ao contactar o representante autorizada pela comercializao em Portugal
dos produtos Maxstream (empresa Lusomatrix), foi recebida a informao de que
os mdulos XBee ZigBee efectivamente ainda no estavam comercialmente
disponveis ao contrrio da informao disponvel no site da Maxstream.
Ainda que numa verso Beta, no site da Maxstream os mdulos XBee
ZigBee surgiam j como disponveis, data do estudo de hardware realizado.
Tendo sido constatado que as funes indisponveis na verso Beta no eram
crticas para a realizao do projecto, e podendo posteriormente os transceivers
serem trocados pela verso completamente concordante com o protocolo ZigBee.
Isto afectaria fundamentalmente o consumo energtico, dado que os estados de
sleep (atravs dos dispositivos RFD) ainda no estariam disponveis, mas, para
uma primeira verso experimental, no se revelava prioritrio aps a realizao
desta, e uma vez que no influenciaria o processo de transmisso, seriam
facilmente trocados os transceivers pela verso definitiva.
Os mdulos XBee ZigBee (Beta) s estariam efectivamente disponveis em
Abril de 2007 (Maxstream, USA) e, segundo informao da Lusomatrix, o prazo de
entrega seria entre 4 a 6 semanas.
Tal invalidava, por requisitos temporais bvios, a utilizao deste hardware
no projecto.
Foi ainda contactado directamente o responsvel da Maxstream para as
vendas na Europa, o account manager Mr. Rob Moore, assim como o representante
em Espanha (delegao da Digi International), atravs do Sr. Carlos Saenz, tendo
sido confirmadas as informaes anteriormente dadas pela Lusomatrix e ainda
indicada esta empresa como a forma efectivamente mais rpida de poder obter o
produto no nosso pais.

Foi nesta fase que se comeou a verificar que, apesar de o protocolo ZigBee
ter sido j oficialmente lanado h cerca de 2 anos, ainda no se encontra
consolidado no mercado quer porque o hardware disponvel frequentemente
possui firmware ainda verso beta ou ainda se encontra em desenvolvimento, quer

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 44


porque os prprios fornecedores ainda no esto familiarizados com os produtos
disponveis, os seus detalhes e caractersticas.

Desta forma, e dada a escassez de tempo disponvel, optou-se por uma


soluo que estava j disponvel para utilizao: utilizar o kit Microchip PICDEM
Z, gentilmente cedido pelo Prof. Joo Paulo Sousa atravs do Laboratrio de
Servios e Redes de Comunicao do DEEC

4.2 Microchip PICDEM Z

Fig. 4.3 N Microchip PICDEM Z

45 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


O kit PICDEM Z da Microchip tem como objectivo o desenvolvimento e
demonstrao de aplicaes do ZigBee, fornecendo para tal dois ns ZigBee para a
criao de uma rede simples.

O kit utilizado, com a denominao DM163027-2, inclui duas placas de


demonstrao, as quais so (cada uma delas) constitudas por:

Uma placa-me, (motherboard) AC163027-1;

Uma placa-filha (daughter-card), de referncia AC-163027-2, que


contm o transceiver e uma antena PCB (do tipo F invertido); sendo
portanto onde se efectiva a comunicao comunicao RF;

O motivo da separao fsica existente o possibilitar o uso de tipos


diversos de transceiver (ou a substituio deste). A comunicao efectuada com o
microcontrolador atravs de uma interface SPI. Neste kit em concreto, cada n
utiliza uma placa-acessrio PICDEM Z equipada com o transceiver Chipcon
CC2420 RF 2.4Ghz.

Fig. 4.4 Placa-filha, contendo transceiver Chipcon e antena PCB em F invertido

Cada n inclui, atravs da sua placa-me, uma interface RJ-11, com o


objectivo de utilizar o dispositivo MPLAB ICD2, para efectuar debugging e
programao, e suporta ICSP (in-circuit serial programming).

O kit inclui ainda algumas outras funcionalidades, como o caso:

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 46


sensor de temperatura (sensor Microchip TC77), integrado na prpria
placa-me;

interface RS-232;

2 LEDs e 2 botes, para interaco e demonstrao.

Cada mdulo (placa me + transceiver) inclui a possibilidade de alimentao


por bateria de 9V ou atravs de fonte de alimentao DC, por bornes prprios. A
tenso de alimentao disponibilizada de 3.3V tanto para o microcontrolador
como para o transceiver. O alcance de transmisso situa-se entre os 30metros
(indoor) e os 150 metros, em campo aberto.

O custo deste kit de demonstrao situa-se nos 200.

4.2.1 O microcontrolador PIC18LF4620

O microcontrolador utilizado, que se encontra na placa-me de cada n,


um PIC da famlia 18, concretamente, PIC18LF4620.
No se pretendendo efectuar um estudo exaustivo sobre o mesmo (e
estando, para tal, disponvel a sua datasheet) , no entanto, importante destacar
algumas das suas principais caractersticas:

Nanowatt tecnology num projecto que pretende um dispositivo de


reduzido consumo energtico, importante um baixo consumo do
microcontrolador. Este microcontrolador possui vrias funcionalidades
implementadas para que o seu consumo seja bastante diminuto,
nomeadamente: alternate run modes, on-the fly mode switching e multiple
idle modes. Esta ltima, p.ex., permite uma suspenso do ncleo do CPU do
microcontrolador, enquanto os perifricos em utilizao permanecem no seu
estado funcional (levando a redues de consumo de at 95%!).

Interface USART enderevel com funo auto wake-up atravs de


start-bit e auto-deteco da taxa de transmisso;

Suporta SPI e I2C;

mltiplas opes em termos de tipo de oscilador, incluindo um interno;

conversor A/D de 10 bits integrado;

47 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


watchdog timer;

4 timers;

20 fontes de interrupo;

5 portas bidireccionais;

memria flash programvel de 64KBytes;

3986 bytes de SRAM de memria de dados;

1024 bytes de EEPROM para memria de dados;

Fig. 4.5 Diagrama de pinos do PIC18LF4620

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 48


4.2.2 Interface Intraplaca e Pilha protocolar

Atentando na figura Fig. 4.1, podemos compreender conceptualmente o


funcionamento de cada n ZigBee.
O microcontrolador actua como SPI-master, implementando a camada MAC
do protocolo ZigBee. A pilha protocolar recorre sua memria flash interna para
armazenar o endereo MAC, tabela de endereos e binding table. O transceiver
encarrega-se da implementao da camada fsica assim como algumas funes
MAC.
possvel ao utilizador alterar a configurao dos pinos do microcontrolador
(para exercerem outras funes), o que no poder modificar os pinos alocados
para funes de controlo SPI.
O interface entre o microcontrolador PIC 18LF4620 e o transceiver Chipcon
encontra-se descrito na Tabela 4.1.

Pino PIC18LF4620 Pino Transceiver CC2420


RB0 [input] FIFO
RB1 [input] CCA [no utilizado]
RB2 [input] SFD
RB3 [input] FIFOP
RC0 [output] CSn
RC1 [output] VREG_EN
RC2 [output] RESET
RC3 [output] SCK
RC4 [input] SO
RC5 [output] SI

Tabela 4.1 PICDEM Z: Interface microcontrolador/transceiver

A pilha protocolar da Microchip, escrita em C, apresenta-se estruturada em


camadas, tal como o especificado no protocolo ZigBee. A camada corresponde um
ficheiro diferente, sendo as APIs definidas num include file. Muitas das APIs mais
no so do que macros que chamam funes da camada imediatamente inferior.
Na sua essncia, o que a pilha protocolar faz com que a aplicao principal possa
ser desenvolvida no se ocupando de funes ligadas comunicao (e
coordenao) RF.

49 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


User Application ZDO (ZDO.*)

APL (zAPL.*) APS (zAPS.*)

NWK (zNWK.*)

MAC (zMAC.*)

PHY (zPHY.h)

Fig. 4.6 Pilha protocolar Microchip: esquema de arquitectura e ficheiros

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 50


4.2.3 Esquema Elctrico da Placa-Me do kit PICDEM Z

Fig. 4.7 Esquema Elctrico da Placa-Me do kit PICDEM Z

51 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


4.2.4 Esquema Elctrico da Placa-Filha do kit PICDEM Z

Fig. 4.8 Esquema Elctrico da Placa-Filha do kit PICDEM Z

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 52


4.3 Ferramentas de desenvolvimento

Em termos de ferramentas de desenvolvimento trabalhou-se com o mesmo


fabricante do kit PICDEM Z, a Microchip.
Ao nvel de software foi utilizado o ambiente de desenvolvimento MPLAB
IDE v7.50 em conjunto com o compilador C18 Student Edition, especifico para a
programao da famlia 18 dos microcontroladores PIC de 8bits. No caso deste
ltimo, existia a limitao de 60 dias de utilizao, aps a qual eram reduzidas as
funes e conjunto de instrues suportados.
No que toca ao hardware, foi utilizado o MPLAB ICD2, o qual se conecta ao
PC atravs de porta USB, suportando ICSP (In Circuit Serial Programming),
tecnologia proprietria da Microchip que permite em tempo real a programao,
execuo e debugging de programas baseando-se na utilizao de pinos
dedicados para a comunicao com o microcontrolador e firmware especfico on-
chip.

Fig. 4.9 Mdulo MPLAB ICD2

4.4 Utilizao de Programa para leitura da porta-srie.


Balana Mettler-Toledo.

Entre os vrios programas disponveis para leitura de porta-srie, utilizou-se


neste trabalho o programa HyperTerminal, vulgarmente disponvel com o prprio
sistema operativo Windows (dependendo, no entanto, da verso Windows).

53 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


De referir que foi utilizada nesta fase do trabalho uma Balana Mettler-
Toledo Spider 1, com capacidade de envio de dados atravs de RS-232. A
configurao deste equipamento no foi muito imediata dado o seu menu ser pouco
inteligvel e o manual de instrues no estar disponvel.
Depois de devidamente efectuada a seleco do modo de funcionamento
apropriado e uma correcta parametrizao, este equipamento emitia uma string de
20 caracteres com o valor da pesagem, a cada estabilizao da pesagem sobre o
seu prato.
Para uma melhor informao sobre este equipamente, assim como o estudo
e configurao sobre ele realizados, sugere a leitura da seco 1 do anexo A.

4.5 Interaco ligao srie

Dado que se pretende uma interaco com os sensores aos quais se acople
os mdulos, lendo os dados provenientes dos mesmos e comunicando-os a um
mdulo central, tornou-se imperativo que a familiarizao com a programao do
PIC e com as ferramentas de desenvolvimento MPLAB fosse iniciada com a
interaco da porta-srie.

4.5.1 Escrita via Porta-Srie

Inicialmente pretendeu-se apenas que fosse possvel ler, atravs do


programa HyperTerminal, strings enviadas via porta-srie pelo PIC.
Embora aparentemente simples, foi necessrio um tempo considervel para
a realizao desta tarefa dado que foi tambm a fase de estudo da data sheet do
PIC. Por outro lado, foi tambm um primeiro contacto com a programao de um
microprocessador totalmente desconhecido at ento assim como de um ambiente
de desenvolvimento novo (e algo complexo).

Nas primeiras utilizaes surgiram problemas com a utilizao do dispositivo


de programao/debug, o ICD2, nomeadamente porque, apesar de alimentado por
USB, necessrio fornecer alimentao externa placa (e ainda que esta no
apresente, quando simultaneamente conectada ao ICD2 e alimentao externa,
qualquer sinal luminoso de estar em operao). Efectivamente, e embora o ICD2
apresente alimentao via USB, no suficiente para suprir os requisitos do
circuito. Esta situao aliou-se a uma outra, que estava relacionada com a

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 54


incorrecta configurao do dispositivo ICD2, devido a um ficheiro incorrecto de
definio do dispositivo a programar, pelo que de ambas resultava continuamente
um aviso de falha ao tentar efectuar programao (ou realizar debug).
Ultrapassada esta adversidade, conseguiu-se realizar a correcta
programao do microcontrolador, embora o cdigo descrito no produzisse a
finalidade pretendida (e, consequentemente, no existia a correcta visualizao de
string no HyperTerminal).
O que estava a suceder era uma incorrecta configurao do tipo de
oscilador a ser utilizado. Conforme se pode verificar no esquema elctrico da placa-
me, este mdulo possui integrado um oscilador externo com cristal de 4Mhz. Para
uma correcta utilizao do mesmo necessrio que a linha #pragma code OSC
inclua a referencia XT (relativa a externo) e no qualquer outro tipo de informao
como malha RC ou oscilador interno.

Na realizao desta programa recorreu-se j a funes especficas do


compilador C18. A sua funo OpenUSART() evita uma configurao linha-a-linha
de cada um dos bits referentes comunicao-srie, sendo cada uma das opes
pretendidas configurada na prpria invocao da mesma. Para a utilizao desta
funo (e outras relacionadas com a porta USART, Universal Synchronous
Asynchronous Receiver Transmitter) necessrio incluir a biblioteca usart.h.
Para uma mais fcil percepo, os parmetros a definir foram:

USART_TX_INT_OFF interrupo devida a transmisso de dados via


porta-srie desactivada
USART_RX_INT_OFF interrupo devida a recepo de dados via porta-
srie desactivada
USART_ASYNCH_MODE modo de operao assncrono
USART_EIGHT_BIT transmisso/recepo de 8 data bits
USART_CONT_RX recepo contnua
USART_BRGH_HIGH utilizao de taxa de transmisso elevada

Foi ainda necessrio configurar o prametro denominado sbprg, com o


valor relacionado com a taxa de transmisso (baud rate) pretendida. Estabeleceu-
se que, nesta fase, a baud rate a utilizar seria 19200bps, pelo que

Fosc 4 10 6
baud rate = sbprg = 12
16 ( sbprg + 1) 9600 16 1

55 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Conseguiu-se ento, aps o ultrapassar destes passos, a escrita com
sucesso na porta-srie.
Este primeiro programa proporcionou um maior -vontade na utilizao de
todo o sistema envolto na programao do PIC.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 56


4.5.2 Programa de Leitura via Porta-srie

No caso deste programa, pretendeu-se a recolha de dois caracteres, via


ligao-srie, por parte do microcontrolador e solicitados ao utilizador no programa
HyperTerminal (sendo digitados e comunicados PC microcontrolador). O pedido
de dois caracteres realizado sucessivamente at que se introduza a combinao
de caracteres qq.
Foi concludo com sucesso e permitiu ultrapassar uma dificuldade que
estava relacionada com o armazenamento de dados no microcontrolador. Foi ainda
compreendido que o recurso funo CloseUSART(), que efectua o encerramento
da ligao lgica, deve ser realizado com alguma precauo. Caso a esta mesma
funo seja invocada, a ligao de imediato terminada, pelo que eventuais dados
que se encontrem ainda na FIFO de sada j no podero ser correctamente
emitidos, gerando-se situaes aparentemente anmalas.
Para o evitar, o mais adequado o recurso funo BusyUSART(), que
devolve diferentes valores consoante a ligao srie ainda esteja ou no em
utilizao. Interpondo o teste deste valor antes da invocao da funo
CloseUSART(), possvel forar o programa a que a aguardar o fim da
comunicao dos dados, aps o qual poder ento ser encerrada a ligao.

4.5.3 Programa de Leitura via Porta-Srie com Interrupo

No caso anterior, o programa ficava encravado a aguardar a recepo de


cada um dos caracteres. Uma vez que, no contexto deste projecto, dever ser a
aplicao a efectuar o tratamento dos dados aquando da sua recepo,
realizaram-se as alteraes necessrias para que tal acontecesse.
Desta forma, e ao contrrio dos programas anteriores, foi necessrio
recorrer ao uso de interrupes, em concreto a interrupo de recepo de dados
via porta-srie. Assim, foi necessrio atentar nos bits de configurao de
interrupes em geral e das interrupes geradas pela porta-srie.

Fig. 4.10 Peripheral Interrupt Enable Register (PIE1)

57 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


No registo de activao das interrupes dos perifricos (PIE1),
necessrio colocar no nvel lgico alto o bit RCIE (EUSART Receive Interrupt
Enable bit) para que seja activada a interrupo por recepo de dados na porta
srie. Tal efectuado pela prpria funo OpenUSART(), j atrs descrita, quando
na sua invocao est presente a indicao USART_RX_INT_ON.
tambm preciso atribuir interrupo gerada um nvel de prioridade alto,
por forma a que o seu atendimento seja no seja preterido face a outras
interrupes. No registo RCON, necessrio activar o bit IPEN (Interrupt Priority
Enable) o qual permitir o estabelecimento de prioridades no atendimento das
interrupes.

Fig. 4.11 Reset Control Register (RCON)

Adicionalmente, necessrio que sejam activadas todas as interrupes de


prioridade elevada, o que feito atravs do bit GIEH (Global Interrupt Enable High)
do registo de controlo de interrupes (INTCON), que se encontra representado na
Fig. 4.12 Interrupt Control Register (INTCON).

Fig. 4.12 Interrupt Control Register (INTCON)

ainda fundamental atribuir o nvel alto em termos de prioridade


interrupo pretendida. Corresponde isto a activarmos, no registo relativo
prioridade de interrupes originadas por perifricos (IPR1), o bit referente
recepo de dados via porta USART bit identificado por RCIP (EUSART Receive
Interrupt Priority).

Fig. 4.13 Peripheral Interrupt Priority Register 1 (IPR1)

No atendimento a uma interrupo de alta prioridade, o microcontrolador vai,


por predefinio, para o endereo 0008h. Foi ento necessrio definir, neste

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 58


endereo, instruo para que a interrupo de recepo de dados via porta-srie
seja atendida pela respectiva rotina de atendimento dessa mesma interrupo
(rx_handler).

Foi feita a adaptao do programa anteriormente realizado e testou-se. Em


seguida, procedeu-se criao de um outro programa especificamente para
interagir com os dados provenientes da balana Mettler-Toledo Spider 1. Este
dispositivo, disponibilizado para que com ele pudessem ser realizados testes, envia
dados via porta-srie sobre a pesagem.
Desta forma, o que se efectuou foi um processo armazenamento do
conjunto de caracteres que seria enviado pela balana, sob a forma de string, aos
quais se adiciona uma etiqueta (para identificao da provenincia, em termos de
sensor, desses dados) e o seu envio via porta-srie. Foi ainda necessrio colocar a
taxa de transmisso num valor suportado pela balana, tendo sido seleccionado
9600bps (e, portanto, parmetro sbprg tomou o valor 25).

Conforme se constata, este j um aproximar aplicao final, na qual no


os dados no sero enviados pelo mdulo para a porta srie, mas sim enviados via
RF para um outro mdulo (que assume papel de mdulo central) o qual
proceder depois emisso, na sua porta-srie, dos dados recebidos.

4.6 Interaco entre ns ZigBee

Posteriormente fase de interaco da porta-srie, passou-se ento fase


de interaco (comunicao) entre os dois ns ZigBee.
A verso mais actual da pilha protocolar da Microchip (v1.0-3.8)
denominada pela prpria Microchip como Zigbee Compliant, ou seja, uma
verso final, estvel e de acordo com o protocolo da ZigBee Alliance. No entanto,
embora tal no seja explicitamente referido na documentao desta verso da pilha
protocolar, a mesma s compatvel com a verso mais recente do kit PICDEM Z.
Os ns do kit que foi disponibilizado para este trabalho encontram-se equipados
com o transceiver Chipcon CC2420, no caso da verso mais recente do kit o
transceiver utilizado da prpria Microchip, o MRF24J40, sendo a placa-filha
denominada pela referncia AC163027-4. Esta incompatibilidade foi verificada aps
a instalao da referida stack, em que o n coordenador no inicia uma rede
ZigBee, ficando a aplicao a aguardar que seja reconhecido um transceiver
Microchip.

59 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Dado no existir qualquer outra verso disponvel no site de suporte deste
fabricante, foi necessrio contactar directamente a Microchip, solicitando
esclarecimento acerca desta questo. Paralelamente, foi-se desenvolvendo a
interaco via porta-srie, descrita nas seces anteriores, assim como se realizou
o estudo e configurao da balana Mettler-Toledo (a qual detalhada no
correspondente anexo a este relatrio).
Foi enviada, entretanto, por parte da Microchip a ltima verso compatvel
com o transstor existente: a verso 1.0-3.6, que surge apenas com algumas
correces face 1.0-3.5, na qual se baseia. Aquando do seu recebimento, foi
verificado, de forma sumria (dado se prosseguir com a tarefas que encontravam a
decorrer), que em termos de coordenador estava funcional e que era realmente
compatvel com o transceiver Chipcon.
Foi quando efectivamente se iniciou o desenvolvimento da aplicao de
comunicao entre ns que surgiram os problemas mais relevantes.

A pilha protocolar fornecida pela Microchip surge com alguns pequenos


programas de demonstrao de funcionalidades, para que o utilizador tenha a
possibilidade no s de se inteirar das potencialidades da mesma, mas tambm
para facilitar um primeiro contacto, em termos de desenvolvimento de cdigo,
invocando-se funes suportadas pela pilha protocolar.
O que se verificou foi que uma vez instalada uma aplicao de
demonstrao e, evidentemente, a pilha protocolar, o comportamento no foi o
esperado. O n coordenador inicia a rede ZigBee indicando, atravs da sua porta-
srie, que a mesma foi criada assim como o respectivo identificador atrbuido rede
(PAN ID). No entanto, no n Endpoint que a situao se verifica ser anmala. O
n no se consegue juntar-se rede criada, apresentando sucessivamente falha na
tentativa de busca de uma rede disponvel.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 60


Fig. 4.14 N Coordenador: criao de rede ZigBee bem sucedida

Fig. 4.15 N Endpoint: anomalia na procura de rede ZigBee

Independentemente da configurao atrbuida a cada um dos dispositivos


dentro da aplicao de demonstrao (#define I_AM_SWITCH, #define
I_AM_LIGHT) ou do uso ou no de bindings (#define USE_BINDINGS), o erro no
dispositivo endpoint persiste.

61 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Atravs de alguns parmetros de controlo, realizaram-se alteraes a nvel
da comunicao, na tentativa de conseguir solucionar o problema, nomeadamente:

- #define ALLOWED_CHANNELS 0x07FFF800, de modo a permitir


utilizao de qualquer canal disponvel;
- diminuio do nmero de dispositivos que podem ser aceites numa rede,
atravs do parmetro MINIMUM_JOIN_LQI, no ficheiro zigbee.def;
- alteraes aos nveis energticos da transmisso, nomeadamente no
parmetro MAX_ENERGY_THRESHOLD assim como colocao de PA_LEVEL no
valor 0xFF (o que assegura a mxima potncia de transmisso, embora no fosse
provvel este factor exercer influncia negativa, dado as placas estarem a escassos
30 cm uma da outra);

Nenhuma das tentativas levadas a cabo surtiu efeito e, embora


compreendido o processo de envio de dados num n para outro, revelou-se at
data impossvel quer testar quer ver o funcionamento de alguma das
demonstraes fornecidas.

Na figura Fig. 4.16 PICDEM Z: Processo de Envio de Dados entre dois ns


representa-se num diagrama o processo de envio (em termos de passos a realizar
e funes protocolares a invocar) de um conjunto de dados entre um n ZigBee e
um outro n de destino. Foi inclusivamente realizado algum cdigo neste sentido, o
qual se apresenta tambm em anexo, embora no tenha sido, pelo atrs descrito,
possvel testar o mesmo.
Conforme se refere na prxima seco, at data de apresentao ser
feito o possvel para que o projecto evolua, tentando que sejam ultrapassados os
problemas relacionados com a pilha protocolar da Microchip.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 62


Definio de destinationEndPoint e endereo de 16bits
j armazenado em destinationAddress

ZigBeeReady()?

False
True

Bloqueio de acesso transmisso, atravs de


ZigBeeBlockTx()

Atribuio de Transaction Identifier, atravs de invocao de


APLGetTransID()

Colocao de dados no TxBuffer, usando TxData como


ndex atravs do array.
Quando concludo deve apontar para a 1. posio aps final
dos dados.

Preenchimento dos Parmetros da primitiva


APSDE_DATA_Request
(Profile, TxOptions, SourceEndpoint, ClusterID)

Definir currentPrimitive = APSDE_DATA_Request

Invocar ZigBeeTasks()

Stack efectuar a transmisso.


Informao do estado do envio atravs da primitiva
APSDE_DATA_confirm

Fig. 4.16 PICDEM Z: Processo de Envio de Dados entre dois ns

63 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


4.7 Calendrio do trabalho realizado

Fig. 4.17 Calendrio do Trabalho Realizado

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 64


5 Concluso
Este projecto abordou um tema bastante interessante, dado que a rea das
comunicaes tem sido um dos sectores com mais desenvolvimento nos ltimos
anos / dcadas. Dentro dela, as comunicaes wireless assumem cada vez mais
uma relevncia maior.
Existe uma enorme diversidade no campo de aplicao das comunicaes
por rdio-frequncia, quer em termos de utilizao pessoal ou domstica, quer a
nvel industrial. Desde os telefones GSM / UMTS ou os avanos na rea da
domtica generalizao dos hotspots de acesso Internet de banda larga e
sensorizao remota da presso dos pneus do automvel, cada uma delas faz
parte do desafio constante da Engenharia Electrotcnica. Assim, o campo das
telecomunicaes e a rea dos microprocessadores / sistemas digitais so
claramente reas aliciantes de trabalho, com objectivos de satisfao de
necessidades e liderana na inovao.
Como estudante de Engenharia, este projecto, integrado na parte curricular
da minha Licenciatura, permitiu-me um primeiro contacto mais aprofundado com o
que o projecto de Engenharia.
Proposto ao abrigo de uma parceria entre a empresa RealSabor e a
F.E.U.P., efectuou-se um estudo sobre uma necessidade na linha de produo
desta empresa e que, certamente, ser comum a muitas outras.
Aps uma breve abordagem ao problema, efectou-se o planeamento das
tarefas a realizar.
A primeira fase foi um levantamento das especificaes que deveriam ser
satisfeitas. Uma vez que se pretende acoplar o mdulo a dispositivos de
sensorizao, constituindo-se, com os dados destes, uma rede de comunicao a
nvel industrial, existiam caractersticas a ter em conta nomeadamente aspectos
como o consumo, as dimenses do mdulo, a largura de banda e latncia
requeridas, as interfaces de interesse, entre outros. Nesta parte comearam a
surgir algumas hipteses sobre solues a pesquisar e aprofundar, estimulando
assim o aparecimento de novas questes sobre o problema.
Tendo em conta os resultados da fase anterior, foi iniciado um estudo sobre
o estado da arte no que toca s tecnologias de comunicao wireless,
nomeadamente o confronto entre os vrios protocolos disponveis.
Aps seleco do protocolo ZigBee, pelas suas caractersticas, como
suporte mais adequado a este projecto, efectuou-se uma busca do hardware

65 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


disponvel para o desenvolvimento. Sendo um protocolo inovador, esta busca teve
de atentar cuidadosamente nas caractersticas dos produtos, nomeadamente o seu
firmware de suporte ao protocolo dado praticamente inmeros estarem ainda nas
suas verses beta (e, como tal, com algumas limitaes face ao standard ZigBee
definido pela ZigBee Alliance).
A opo por um sistema constitudos por componentes discretos, que inclua
o microprocessador PIC 18F330, o transceiver ZigBee Maxstream Xbee e o mdulo
MAXIM MAX3223 (para converso de nveis elctricos RS-232) prendeu-se
fundamentalmente com dois motivos: por um lado uma clara reduo de custos
face aos kits de desenvolvimento em tecnologia ZigBee disponibilizados pela
maioria dos fabricantes; por outro, devido a uma maior controlabilidade que
estaria associada ao conjunto ou seja, menor dependncia de softwares
proprietrios para o desenvolvimento de possveis soluo.
Tomada a deciso final acerca deste conjunto foi o contacto com o
fabricante / fornecedor que comeou por revelar o carcter ainda pouco maduro
desta tecnologia: o transceiver XBee, embora excelente compromisso em termos
de preo, no estava, data, disponvel para comercializao algo que no est
explicito no site do fabricante -, encontrando-se ainda em desenvolvimento a sua
verso ZigBee.
Dadas as restries temporais para a realizao do projecto, foi tomada a
opo de implementar uma soluo utilizando o kit PICDEM Z, disponvel no
laboratrio de Redes e Servios de Comunicao de Dados do DEEC. Efectuado
novamente um estudo, mais aprofundado, sobre este kit quer em termos de
caractersticas do mesmo quer em termos de pilha protocolar, foi concludo que era
uma alternativa vivel. Efectivamente, num projecto anteriormente realizado que se
baseou em elementos deste kit, existiram vrios problemas (relacionados com a
pilha protocolar). No entanto, o facto do fabricante actualmente j disponibilizar uma
verso ZigBee Compliant (ou seja, no beta) da pilha protocolar, para o kit
PICDEM Z, levou a que se afastassem receios.
Efectuaram-se procedimentos de familiarizao com o ambiente de
desenvolvimento MPLAB e o programador, com possibilidade de in-circuit debug,
ICD2. Nos primeiros testes detectou-se que essa mesma verso da pilha protocolar
no era compatvel com esta verso do kit, embora tal s se revelasse aps
instalao (e fosse omitido no seu lanamento). Efectivamente no suportava o
transceiver Chipcon que equipava as placas do kit que estava a ser utilizado.
Contactada a Microchip, aguardou-se o envio da nova stack ZigBee, a ltima
verso compatvel com o uso deste transceiver. Foi-se paralelamente
desenvolvendo a capacidade de comunicao via porta-srie (leitura, escrita e

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 66


armazenamento de dados), tendo-se previamente passado a efectuar a
alimentao da placa por meio de cabo ligado a fonte de alimentao (para evitar
troca de baterias).

Uma vez que foi disponibilizada uma balana Mettler-Toledo com


capacidade de comunicao porta-srie, foi estudada a forma de configurao e
realizada a programao necessria a uma correcta interaco entre o mdulo
ZigBee e este dispositivo.

No entanto, foi na ltima fase do projecto e aps recepo da referida


informao da Microchip, que se constatou que ainda assim continuavam a surgir
problemas: nesta verso, embora o mdulo coordenador efectuasse o incio da
rede, no era possvel o dispositivo Endpoint juntar-se a ela. Foram tentadas
inmeras solues para este problema, que em nenhum caso produziram efeito,
agravado pela relativa complexidade de todo o cdigo associado a um protocolo
deste tipo. Os programas de demonstrao de interaco entre as duas placas
(Coordinator e Endpoint), disponibilizados pelo fabricante, inclusivamente no
sortiram qualquer efeito. Por outro lado, a Microchip prossegue neste momento
apenas com desenvolvimento da pilha protocolar para o seu transceiver Microchip
MRF24J40, tendo posto de parte o Chipcon CC2420.

A tecnologia ZigBee apresenta-se, sem dvida, como bastante interessante


e com uma vasta gama de aplicaes. A baixa latncia, a optimizao do duty-cycle
para um baixo consumo e o tamanho reduzido da pilha protocolar (quando
comparado com o Bluetooth ou Wi-Fi), tornam-na a opo adequada para
aplicaes que necessitam de transmitir um reduzido fluxo de dados mas com
necessidade tempo-real. Alm do mais, suporta um elevado nmero de ns por
rede, o que a faz ideal para aplicaes de sensorizao, controlo e monitorizao
de dispositivos.
No entanto, a documentao disponibilizada pelos fabricantes muitas
vezes ainda algo incompleta, as solues comerciais tambm ainda no esto
numa fase madura. Tal constata-se quer pela questo das inmeras verses beta
de (muitos) equipamentos, assim como a prpria falta de fiabilidade do sofware
disponibilizado pela Microchip (que , alias, uma das empresas pioneiras neste tipo
de produtos). Assim, embora no se possa considerar o ZigBee como um protocolo
recm-lanado, est ainda numa fase de desenvolvimento e implantao comercial
(pelo menos por parte da grande maioria dos fabricantes).

67 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Face aos problemas, j explicitados, da pilha protocolar fornecida, data de
realizao deste relatrio no foi possvel concluir a fase de desenvolvimento na
qual se pretende ver concretizada a comunicao de dados entre as placas
Endpoint e Coordinator. At data de apresentao deste projecto, continuarei a
dedicar-me ao mesmo, promovendo a sua evoluo nomeadamente tendo
expectativa que seja possvel o suporte tcnico da Microchip disponibilizar
atempadamente uma verso protocolar funcional.

Este projecto permitiu-me adquirir um maior vontade com a manipulao


de componentes e dispositivos, nomeadamente microcontroladores e a sua
interface, assim como o estudo e ampliao de conhecimentos em termos de
protocolo de comunicao wireless. Mais especificamente, a introduo de uma
tecnologia que, aps maturao, certamente atingir uma massificao no
mercado.
O facto do projecto ter sido iniciado totalmente de raiz obrigou a um inicial
aproximar ao problema, aliado a uma inevitvel necessidade de estudo e
investigao, assim como contacto com fornecedores e fabricantes, competncias
tantas vezes necessrias no mundo do trabalho. Dado o trabalho ter sido realizado
de forma totalmente individual e no existindo um outro grupo de trabalho na
mesma rea, tal forou a um intenso ultrapassar de dificuldades e indecises,
tentando sempre que a evoluo do projecto fosse feita da forma mais coesa e
coerente.

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 68


6 Desenvolvimentos Futuros
A realizao do projecto atravessou vrios percalos e, estando ainda a
aguardar alguma eventual evoluo at data do trmino do mesmo, no
totalmente previsvel o que ocorrer.
No entanto, certo que vrias melhorias podero ser realizadas, quer no
mbito deste projecto em concreto quer numa perspectiva de utilizao dos
mdulos de comunicao para outras aplicaes, dentro da mesma rea.

Uma possvel evoluo a ponderar, mas que se reveste de particular


interesse, a aquisio de novas placas-filhas, equipadas com o transceiver
Microchip MRF24J40. Tal permitiria o uso da pilha protocolar ZigBee Compliant
(v.1.0-3.8), a qual estar numa verso mais madura que a disponvel para o
transceiver Chipcon. Para alm disso, estaria disponvel o apoio do fabricante, quie
neste momento j no presta suporte tcnico a kits em cuja placa-filha est
equipada com transceiver Chipcon. Desta forma seria possvel no s observar
correctamente a demonstrao fornecida acerca das potencialidades do ZigBee
como tambm realizar os testes adequados a uma aplicao de comunicao de
dados entre dois ns. A aquisio de novas placas-filhas no seria de custo
bastante elevado, cifrando-se o custo de cada uma em torno dos 40 .

Algo tambm bastante til, ainda que eventualmente morosa, ser uma
anlise cuidadosa do cdigo da ltima verso da pilha protocolar e questionar at
que ponto seria possvel a sua adaptao ao transceiver Chipcon.
Por outro lado, tambm ser de interesse o desenvolvimento de software
capaz de gerir, no computador ao qual se acople o mdulo central (Coordinator),
toda a informao que este rene, provindo dos diversos dispositivos Endpoint. Ou
seja, a utilizao de uma base de dados, que permite armazenar a informao
sensorizada e, eventualmente, a sua utilizao no mbito de processos de gesto
e controlo. De referir que, numa verso eventualmente simplista, para efeitos de
registo, esto disponveis no mercado pequenos programas denominados por
loggers, os quais se encarregam da escrita num ficheiro de toda a informao
recepcionada via porta-srie a pode, por exemplo, ser posteriormente sujeita a
tratamento. Disso exemplo o programa Advanced Serial Data Logger da
AGGSoft, que permite inclusivamente a monitorizao simultnea de vrias
comunicaes, assim como uma perfeita interaco em ambiente Windows e

69 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


portanto uma escrita directa em ficheiros Excel e Access, entre outras
funcionalidades; por outro lado, o programa RS232 Data Logger da Eltima
Software, que, embora numa lgica mais simples, se caracteriza por ser open-
source e disponibiliza verses possveis de serem integradas no prprio cdigo de
aplicaes.

Uma outra particularidade do kit PICDEM-Z que pode ser explorada o


facto das placas incorporarem sensor de temperatura, o que naturalmente poder
constituir-se de interesse em medies da temperatura ambiente, por exemplo.
Esta informao poder obter-se de uma forma nada complexa, encontrando-se j
o hardware no prprio mdulo.

Dada a evoluo deste tipo de tecnologias, importa tambm realar que


poder ser de interesse o estudo e concretizao da soluo baseada em
componentes discretos, atravs da utilizao do mdulo XBee da Maxstream (ou
semelhante).
Conforme j abordado, esta soluo apresentava-se bastante atractiva, no
s pelo seu custo reduzido mas tambm pelas dimenses extremamente
compactas aliadas a elevada versatilidade (fundamentalmente baseia-se na
programao do microprocessador, no dependendo de software proprietrio nem
necessitando a aplicao desenvolvida de interaco directa com a pilha
protocolar).
Para isso, penso que o mais importante ser estar atento efectiva
maturao desta tecnologia e solidez das propostas comercializadas,
especialmente tendo em ateno lanamento de verses integralmente compatveis
com a norma ZigBee (ZigBee Compliant).

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 70


7 Bibliografia
[1] ZigBee Alliance
What You Should Know About ZigBee

[2] Wexler, Joanie


Bluetooth and ZigBee compare and constrast
Network World, 16 de Maro de 2005

[3] Karayannis, George


Emerging Wireless Standards

[4] Oehen, Patrice


ZigBee: An Overview of the Upcoming Standard

[5] Kinney, Patrick


ZigBee Technology: Wireless Control that Simply Works

[6] Herzog, Chris


An overview of ZigBee the power of the mesh

[7] Santos Pinheiro, Jos Maurcio


ZigBee em Home Area Network
Projecto de Redes, 12 de Fevereiro de 2006.

[8] Santos Pinheiro, Jos Maurcio


As redes com ZigBee
Projeto de Redes, 27 de Julho de 2004.

[9] Souza Oliveira, Marlia Eutmia


ZigBee

[10] Malafaya, Hugo; Toms, Lus; Sousa, Joo Paulo


Sensorizao sem fios sobre ZigBee e IEEE 802.15.4

71 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


[11] Microchip
Microchip Stack for ZigBee

[12] Martins Monteiro, Paulo Jorge


Prottipos Industriais ZigBeeTM

[13] Microchip
PIC18F2525/2620/4525/4620 Data Sheet

[14] Maxstream
XBee/XBee-PRO OEM RF Modules Data Sheet

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 72


A. Anexos

A.1 Balana Mettler-Toledo Spider 1

Fabricante: Mettler-Toledo
Modelo: [Prato+Terminal] Spider 1-15/A

Fig. A.1 Balana Mettler-Toledo Spider 1

Este equipamento, cedido pela empresa RealSabor, utilizado como


instrumento de medida utilizado na linha de produo (na confeco de charcutaria,
etc.). Apresenta a particularidade de possuir comunicao via porta-srie, sobre o
protocolo elctrico RS-232.

A.1.1 Configurao Comunicao-Srie

Em termos de configurao dos parmetros da ligao de dados via porta-


srie, so distintas combinaes, igualmente aceites quer pelo programa
HyperTerminal quer pelo terminal de interface da balana.
Importa ento definir cuidadosamente no programa HyperTerminal as
caractersticas da ligao (as quais sero adoptadas tambm na balana), sendo
que neste trabalho se colocaram conforme a figuraFig. A.1 Balana Mettler-Toledo
Spider 1:

73 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Fig. A.2 Configurao HyperTerminal ligao-srie

A.1.2 Parametrizao do Equipamento

A configurao deste equipamento no intuitiva, com a agravante de o seu


menu ser pouco perceptvel e o manual de instrues no estar disponvel. Assim,
depois de algum contacto com o equipamento, torna-se necessrio deixar clara a
forma de o configurar.

H que distinguir dois botes fundamentais neste processo:

Boto 1

Print
Funciona como validao de opo.

Boto 2

Tara ,
Funciona como boto de rejeio da opo oferecida (efectuando
portanto a rotao de menu, ou seja, passando sucessivamente
opo seguinte).

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 74


Para aceder ao menu:
Pressionar durante alguns segundos o boto 1. Ao surgir a informao
Master, premir novamente o boto 1.

Estrutura do Menu:

Units [unidade de medida]


kg
t
g
lb

AZero
On
Off

PowerOff [desligar automtico aps perodo de inactividade]


On
Off
Save
On
Off

Vibration
High
Mdium
Low

Process
Universal
Absolute
Dosing

Interface
Communication [parmetros da comunicao portasrie]
Protocol
XOnOff
No

Parity
Odd
Even
7 No Parity
8 No Parity

Baud Rate
300

75 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


600
1200
2400
4800
9600

Node [Forma como a comunicao de dados efectuada]


Print
Cycle
Dialog
2.d Disp
Cont
dtB
dtG
tCont
rsKey

DEFStr [tipo de informao a enviar]


gross [peso bruto = Peso Neto + Tara]
net [peso neto]
tare [tara]

LnFor [Line Form tipo de linha a enviar]


Multl [informao mltipla em cada linha]
Single [informao singular em cada linha]
Ctrl

List
Print1

Reset

End

Comando List:

Esta opo permite visualizar os parmetros actuais de configurao do


equipamento, os quais sero enviados via porta-srie (sendo a comunicao
efectuada com as caractersticas que se encontrem definidas no submenu
Interface, nesse instante).

A.1.3 Configurao do Equipamento Interface / Comunicao

No contexto concreto do projecto que est a ser desenvolvido, pretende-se


uma comunicao da informao aquando da estabilizao do pesagem. Ou seja,
supe-se que o processo de medio efectuado de forma sucessiva (a cada um

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 76


dos produtos da linha de produo) e, portanto, o pretendido que a balana envie
os dados correspondentes assim que estejam os mesmos estejam disponveis.
Desta forma, em termos da forma como a comunicao efectuada, o modo
adequado Cycle, no qual a balana enviar o peso lquido (uma vez seleccionado
Net em DEFStr) aquando da estabilizao da pesagem. Por outro lado, a forma da
linha que enviada dever estar definida como Single (embora, efectivamente, s
esteja programado o envio de um tipo de peso).

Em termos de parmetros da ligao de dados, para que esteja de acordo


com o anteriormente descrito para o programa HyperTerminal, dever ser
seleccionado:
Protocol: No
Parity: 8 No Parity
Baud Rate: 9600

Assim, e recorrendo ao comando List, os parmetros do terminal de


pesagem devero estar definidos da seguinte forma:

Fig. A.3 Balana Mettler-Toledo: uso do comando List

77 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


Ao realizarem-se as sucessivas pesagens, os dados sero enviados via
porta-srie, conforme se pode ver no exemplo abaixo:

Fig. A.4 Balana Mettler-Toledo: dados pesagem em modo Cycle

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 78


A.2 Cdigo realizado

A.2.1 Escrita Porta-Srie

#include <p18cxxx.h>
#include <string.h>
#include <usart.h>

#pragma config OSC=XT //configurao do oscilador em modo externo

void main()
{
OpenUSART(
USART_TX_INT_OFF & // interrupcao transm off
USART_RX_INT_OFF & // interrupcao recepcao off
USART_ASYNCH_MODE & //modo assincrono
USART_EIGHT_BIT & // 8-bit
USART_CONT_RX & // recepcao continua
USART_BRGH_HIGH, // baudrate elevada
12 // configuracao para 19200bps (oscilador de 4Mhz)
);

putrsUSART("\n\r Hello! Estou no inicio do programa!\n");

while(1)
{
while( ! PORTAbits.RA0 ); //wait for RA0 high
WriteUSART( PORTD ); //write value of PORTD
if(PORTD == 0x80) // check for termination
break; // value
}

putrsUSART("\n\r Estou no fim do programa\n");

CloseUSART();
}

A.2.2 Leitura Porta-Srie


#include <p18cxxx.h>
#include <string.h>
#include <usart.h>

#pragma config OSC=XT //configurao do oscilador em modo externo

void main(void)
{
char inputstr[3];
int control=0;

OpenUSART(
USART_TX_INT_OFF & // interrupcao transm off
USART_RX_INT_OFF & // interrupcao recepcao on

79 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


USART_ASYNCH_MODE & // modo assincrono
USART_EIGHT_BIT & // 8-bit
USART_CONT_RX & // recepcao continua
USART_BRGH_HIGH, // baudrate elevada
12 // configuracao para 19200bps (oscilador de 4Mhz)
);

putrsUSART((const far rom char *) "\r\n***PROGRAMA DE TESTE


USART***:\r\n ");
putrsUSART((const far rom char *) "\r\n***LEITURA E ESCRITA DE 2
CARACTERES***:\r\n ");
putrsUSART((const far rom char *) "\r\n***O PROGRAMA TERMINARA AO
DIGITAR A COMBINACAO qq***:\r\n ");

while (control==0){

//escrita na usart
putrsUSART((const far rom char *) "\r\nDIGITE 2
CARACTERES:\r\n ");

while(BusyUSART());
while (!DataRdyUSART());

// por os dois caracteres na string input


getsUSART(inputstr, 2);

putrsUSART((const far rom char *) "\r\nDIGITOU CARACTERES: ");


putsUSART(inputstr);
putrsUSART((const far rom char *) "\r\n");

if(inputstr[1]=='q' && inputstr[0]=='q')


control=1;

};

putrsUSART((const far rom char *) "\r\nPROGR TERMINADO.DIGITOU 'qq'.


\r\n");
// fecha a ligacao apenas quando terminar a sua utilizacao
while(BusyUSART());
CloseUSART();
while(1);

A.2.3 Leitura Porta-Srie com interrupo

Programa Genrico

#include <p18cxxx.h>
#include <stdio.h>
#include <string.h>
#include <usart.h>

#pragma config OSC=XT //configurao do oscilador em modo externo


#pragma config LVP = OFF
#pragma config WDT = OFF

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 80


#pragma config DEBUG = ON

void rx_handler(void);

#define BUF_SIZE 25

#pragma idata bigdata


char data[5][BUF_SIZE+1] = {
{ "String #0 - digitou 0\n\r" },
{ "String #1 - digitou 1\n\r" },
{ "String #2 - digitou 2\n\r" },
{ "Tecla Invalida (apenas 0-3) \n\r" }
};
#pragma idata

//definicao do ir para rx_handler, aquando da interrupcao


// 0x08 - vector de interrupcoes de alta prioridade

#pragma code rx_interrupt = 0x8


void rx_int (void)
{
_asm goto rx_handler _endasm
}
#pragma code

// codigo a executar na interrupcao

#pragma interrupt rx_handler


void rx_handler (void)
{
unsigned char c;
putrsUSART((const far rom char *) "\r\n Entrou na interrupcao!\r\n
");

if (c >= '0' && c <= '3')


{
c -= '0';
putsUSART (data[c]);
}
else
{
putsUSART (data[4]);
}

/* Limpar interrupt flag - EUSART Receive Interrupt Flag bit */


PIR1bits.RCIF = 0;
}

void main(void)
{
OpenUSART(
USART_TX_INT_OFF & // interrupcao transm off
USART_RX_INT_ON & // interrupcao recepcao on
USART_ASYNCH_MODE & //modo assincrono
USART_EIGHT_BIT & // 8-bit
USART_CONT_RX & // recepcao continua
USART_BRGH_HIGH, // baudrate elevada
12 // configuracao para 19200bps (oscilador de 4Mhz)
);

81 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


RCONbits.IPEN=1; // activar nveis de prioridade nas interrupcoes
IPR1bits.RCIP=1; // activar interrupcao RX como alta prioridade
INTCONbits.GIEH=1; // activar as interrupcoes de alta prioridade

putrsUSART((const far rom char *) "\r\n entrou no programa!\r\n ");


if(PIE1bits.RCIE==1)
putrsUSART((const far rom char *) "\r\n esta activada a
Interrupcao de recepcao (RCIE)! \r\n");
putrsUSART((const far rom char *) "\r\n DIGITE UM ALGARISMO DE 0 a 3,
sera emitida a string correspondente a esse digito! \r\n ");

while(1);
while(BusyUSART());
CloseUSART();

Programa de Interaco com a Balana

#include <p18cxxx.h>
#include <stdio.h>
#include <string.h>
#include <usart.h>

#pragma config OSC=XT //configurao do oscilador em modo externo


#pragma config LVP = OFF
#pragma config WDT = OFF
#pragma config DEBUG = ON

/* PROGRAMA PARA LEITURA DOS DADOS ENVIADOS PELA BALANA - 9600BPS COM
INTERRUPCAO de RX */

void rx_handler(void);

#pragma idata stringdata


unsigned char inputstr[21];
#pragma idata

//definicao do ir para rx_handler, aquando da interrupcao


// 0x08 - vector de interrupcoes de alta prioridade

#pragma code rx_interrupt = 0x8


void rx_int (void)
{
_asm goto rx_handler _endasm
}
#pragma code

// codigo a executar na interrupcao

#pragma interrupt rx_handler


void rx_handler (void)
{
// por os 20 caracteres na string input
while(BusyUSART());
getsUSART(inputstr, 20);
inputstr[20]='\0';

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 82


putrsUSART((const far rom char *) "\r\nSensor1 ");
putsUSART(inputstr);
putrsUSART((const far rom char *) "\r\n");
//while(BusyUSART()

/* Limpar interrupt flag - EUSART Receive Interrupt Flag bit */


PIR1bits.RCIF = 0;
}

void main(void)
{
OpenUSART(
USART_TX_INT_OFF & // interrupcao transm off
USART_RX_INT_ON & // interrupcao recepcao on
USART_ASYNCH_MODE & //modo assincrono
USART_EIGHT_BIT & // 8-bit
USART_CONT_RX & // recepcao continua
USART_BRGH_HIGH, // baudrate elevada
25 // configuracao para 9600bps (oscilador de 4Mhz)
);

RCONbits.IPEN=1;
IPR1bits.RCIP=1;
INTCONbits.GIEH=1;

putrsUSART((const far rom char *) "\r\n entrou no programa!\r\n ");


if(PIE1bits.RCIE==1)
putrsUSART((const far rom char *) "\r\n Esta activada a
Interrupcao de recepcao (RCIE)! \r\n");

while(1); // a aguardar interrupcao de RX


while(BusyUSART());
CloseUSART();

A.2.4 Comunicao entre ns ZigBee


/* Segmento de cdigo */
/* Dispositivo Endpoint */

void rx_handler(void);

/* tamanho dos dados a receber string enviada pela balana Mettler*/


#define TAM_INPUTSTR 20
#pragma idata stringdata
unsigned char inputstr[TAM_INPUTSTR+1];
#pragma idata

//definicao do ir para rx_handler, aquando da interrupcao


// 0x08 - vector de interrupcoes de alta prioridade

#pragma code rx_interrupt = 0x8


void rx_int (void)
{
_asm goto rx_handler _endasm
}

83 Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores


#pragma code

// codigo a executar na interrupcao


/* Rotina de atendimento interrupo de recepo de dados via porta-srie,
contendo cdigo de envio de dados via RF (no testado) */

#pragma interrupt rx_handler


void rx_handler (void)
{
int i=0;
// por os TAM_INPUTSTR caracteres na string input
while(BusyUSART());
getsUSART(inputstr, TAM_INPUTSTR);
inputstr[TAM_INPUTSTR]='\0';

if(ZigBeeReady())
{
ZigBeeBlockTx();

TxBuffer[TxData++]=APL_FRAME_TYPE_KVP|1 //KVP, 1 transmisso


TxBuffer[TxData++]=APLGetTransId(); // ID da transmisso
TxBuffer[TxData++]=APL_FRAME_COMMAND_SET|(APL_FRAME_DATA_TYPE_UNIT8<<4);
// Attribute ID LSB (conjunto CLUSTER + ATRIBUTO)
TxBuffer[TxData++] = OnOffSRC_OnOff & 0xFF;
// Attribute ID MSB
TxBuffer[TxData++] = (OnOffSRC_OnOff >> 8) & 0xFF;

for (i=0; i<=TAM_INPUTSTR; i++)


{
TxBuffer[TxData++]=inpustr[i];
}

params.APSDE_DATA_request.DstAddrMode=APS_ADDRESS_16_BIT;
params.APSDE_DATA_request.DstEndpoint = destinationEndpoint;
params.APSDE_DATA_request.DstAddress.ShortAddr = destinationAddress;
params.APSDE_DATA_request.ProfileId.Val = MY_PROFILE_ID;
//configuracoes
params.APSDE_DATA_request.RadiusCounter = DEFAULT_RADIUS;
params.APSDE_DATA_request.DiscoverRoute = ROUTE_DISCOVERY_ENABLE;
params.APSDE_DATA_request.TxOptions.Val = 0;
// EP_SENSOR - nome do endpoint do sensor
params.APSDE_DATA_request.SrcEndpoint = EP_SENSOR;
params.APSDE_DATA_request.ClusterId = OnOffSRC_CLUSTER;
// cluster com o mm nome do atributo e que seja correspondente
currentPrimitive = APSDE_DATA_request;
}

Projecto Final de Curso Mdulos de Comunicao Wireless para Sensores 84