Upload
hoangdieu
View
217
Download
0
Embed Size (px)
Citation preview
Rui Alexandre Pereira Azevedo
Domótica sem fios baseada em redes ZigBee
Rui A
lexan
dre
Pere
ira A
zeve
do
maio de 2016UMin
ho |
201
6Do
mót
ica
sem
fios
bas
eada
em
red
es Z
igBe
e
Universidade do MinhoEscola de Engenharia
maio de 2016
Dissertação de MestradoCiclo de Estudos Integrados Conducentes ao Grau deMestre em Engenharia e Telecomunicações e Informática
Trabalho efetuado sob a orientação doProfessor Doutor José Augusto Afonso
Rui Alexandre Pereira Azevedo
Domótica sem fios baseada em redes ZigBee
Universidade do MinhoEscola de Engenharia
Agradecimentos
i
Agradecimentos
Em primeiro lugar, agradeço ao Professor Doutor José Augusto Afonso pela
excelente orientação, dedicação, paciência e total disponibilidade, ao longo do
desenvolvimento da dissertação.
À Universidade do Minho, por ser a minha segunda cada durante a frequência do
curso e também por ter ao dispor todo o equipamento necessário, quer ao longo dos
estudos como também na realização deste projeto.
Quero agradecer à minha família, com ênfase aos meus pais, Manuel Carlos e Rosa
Maria e ao meu irmão, Humberto, pois sem eles este percurso não seria possível.
A� minha namorada Mariana Guise, um agradecimento especial, pela ajuda e
motivação que transmitiu nos momentos mais difíceis.
Uma menção especial para os meus amigos Eduardo Machado, Hélder Dias,
Miguel Pinheiro e Guilherme Raimundo com quem partilhei de perto os melhores
momentos ao longo deste percurso. Os meus sinceros agradecimentos pela vossa
amizade.
Por fim e não menos importante, aos meus amigos da “Casa do Povo”, pelos
momentos vividos durante estes 5 anos de percurso académico, pela receção nos dias
mais difíceis e apoio quando era necessário.
ii
Resumo
iii
Resumo
A gestão inteligente da rede doméstica, com base na combinação das tecnologias
de informação e comunicação com sensores e atuadores, abre caminho a novas
soluções com grandes utilidades no mundo real. A tecnologia digital oferece
oportunidades estimulantes para aumentar a conectividade de dispositivos de rede
para fins de automação residencial. Esta dissertação tem como objetivo o estudo,
implementação e teste de soluções de automação doméstica baseadas em redes
ZigBee.
Nesta dissertação, foi realizado um estudo das tecnologias mais presentes no
mercado a nível de comunicação com fios, sem fios e powerline, tendo em vista a
comparação com o ZigBee, uma tecnologia de redes de área pessoal sem fios baseada
na norma IEEE 802.15.4 que tem vindo a crescer ao longo do tempo.
A implementação e teste desta tecnologia foram realizados utilizando plataformas
de hardware e software da Texas Instruments (TI) e o software IAR Embedded
Workbench. Numa fase inicial foi realizado um estudo da Z-Stack, a pilha protocolar
ZigBee fornecida pela TI, que é uma ferramenta poderosa para desenvolvimento de
soluções para esta tecnologia. Foi feita uma descrição de como configurar os
dispositivos para formar uma rede de sensores sem fios típica e posteriormente foi
apresentado como funcionam as aplicações exemplos que se encontram em
diferentes versões da Z-Stack.
Foram realizados testes para avaliação da taxa de erros na transmissão num
ambiente habitacional, de forma a poder validar a solução. Assim, foi possível
perceber onde podem existir problemas e como os resolver.
Palavras-Chave: Automação; Domótica; Redes; ZigBee; Z-Stack.
iv
Abstract
v
Abstract
The intelligent management of the domestic network, based on the combination
of information and communications technologies with embedded sensors and
actuators, opens the way to new solutions with great usefulness on the real world.
The network enabled digital technology offers exciting opportunities to increase the
connectivity of devices for the purpose of home automation. This dissertation aims
the study, implementation and test of solutions for home automation based on ZigBee
networks.
This dissertation performed a study of multiple network technologies present in
market, based in wired and wireless communications and powerline, with the aim to
provide a comparison with ZigBee, a wireless personal area network based in the IEEE
802.15.4 standard that is growing throughout time.
The implementation and tests were performed using hardware and software
platforms from Texas Instruments (TI) and the IAR Embedded Workbench software.
Initially, information about the Z-Stack, the ZigBee stack supplied by TI, was gathered.
A description of how to configure the devices to form a typical wireless sensor network
was provided, and then it was presented how the examples applications in different
versions of the Z-Stack work.
Tests were made to evaluate the transmission error rate in a residential
environment, in order to validate the solution. That way, it was possible to understand
where some problems were and solve them.
Keywords: Automation; Home Automation; Networks; ZigBee; Z-Stack.
vi
Índice de conteúdos
vii
Índice de conteúdos
Agradecimentos ............................................................................................... i
Resumo .......................................................................................................... iii
Abstract ........................................................................................................... v
Índice de conteúdos ....................................................................................... vii
Lista de figuras ................................................................................................ xi
Lista de tabelas ............................................................................................. xiii
Lista de abreviaturas ...................................................................................... xv
1. Introdução ..............................................................................................1
1.1 Enquadramento e motivação .................................................................. 1
1.2 Objetivos .................................................................................................. 2
1.3 Estrutura da dissertação .......................................................................... 2
2. Estado da arte .........................................................................................5
2.1 Domótica .................................................................................................. 5
2.2 Tecnologias com fios ................................................................................ 8
2.3 Tecnologias powerline ............................................................................. 8
2.3.1 X10 .................................................................................................... 9
2.3.2 INSTEON .......................................................................................... 10
2.4 Tecnologias sem fios .............................................................................. 10
2.4.1 6LoWPAN ........................................................................................ 11
2.4.2 EnOcean .......................................................................................... 12
2.4.3 Wavenis .......................................................................................... 12
Índice de conteúdos
viii
2.4.4 ZigBee ............................................................................................. 13
2.4.5 Z-Wave ............................................................................................ 20
2.5 Comparação de tecnologias ................................................................... 20
2.6 Trabalhos relacionados .......................................................................... 25
2.6.1 HM4All - Health Monitoring for All ................................................ 25
2.6.2 Comunicação ad hoc com ZigBee ................................................... 26
2.6.3 Body Sensor Networks .................................................................... 27
3. Desenvolvimento do sistema ................................................................ 29
3.1 Plataforma de desenvolvimento ............................................................ 29
3.1.1 SmartRF05EB .................................................................................. 30
3.1.2 CC2530EM ...................................................................................... 32
3.1.3 CC2531 USB dongle ........................................................................ 35
3.2 Software de desenvolvimento ............................................................... 35
3.3 Z-Stack .................................................................................................... 36
3.3.1 Z-Stack 2.5 ....................................................................................... 37
3.3.1.1 Coordenador ............................................................................... 39
3.3.1.2 End Device .................................................................................. 40
3.3.2 Z-Stack Home: ZigBee Home Automation Solutions ...................... 41
3.3.2.1 Exemplo de um interruptor de luz ............................................. 41
3.3.2.2 Exemplo de uma fechadura eletrónica ...................................... 43
3.3.2.3 Exemplo de controlo de temperatura ........................................ 45
3.3.3 Z-Stack Energy: ZigBee Smart Energy Solutions ............................. 47
3.3.3.1 GenericApp ................................................................................. 47
3.3.3.2 SerialApp ..................................................................................... 48
Índice de conteúdos
ix
3.3.3.3 TransmitApp ............................................................................... 49
4. Resultados e discussão .......................................................................... 52
4.1 Código de teste ...................................................................................... 52
4.2 Testes e resultados ................................................................................ 54
5. Conclusões ............................................................................................ 63
Referências .................................................................................................... 66
Lista de figuras
xi
Lista de figuras
Figura 2-1 - Consumos de eletricidade em habitações (adaptado de [5]). ................... 6
Figura 2-2 - Exemplo de habitação inteligente [1]. ........................................................ 7
Figura 2-3 - Diagrama de blocos da comunicação PLC (adaptada de [10]). .................. 9
Figura 2-4 - IPv6 e 6LoWPAN framing sobre 802.15.4 standard (adaptado de [14]). . 11
Figura 2-5 - Arquitetura do Wavenis. .......................................................................... 13
Figura 2-6 - Topologia em estrela. ............................................................................... 14
Figura 2-7 - Topologia em árvore. ................................................................................ 15
Figura 2-8 - Topologia em malha. ................................................................................ 15
Figura 2-9 - Arquitetura de pilha protocolar ZigBee [15]. ........................................... 16
Figura 2-10 - Formatos da mensagens da pilha protocolar ZigBee [16]. ..................... 19
Figura 2-11 - Diagrama HM4All [37]. .......................................................................... 26
Figura 3-1 - Conteúdo do Kit de desenvolvimento. ..................................................... 30
Figura 3-2 - Arquitetura do SmartRF05EB [31]. ........................................................... 31
Figura 3-3 - Visão geral da SmartRF05EB Rev. 1.8.1. ................................................... 32
Figura 3-4 - Visão geral do CC2530EM. ........................................................................ 33
Figura 3-5 - Diagrama de blocos do CC2530EM [31]. .................................................. 34
Figura 3-6 - Visão geral do dongle USB CC2531. .......................................................... 35
Figura 3-7 - Ambiente de trabalho do software IAR Embedded Workbench. ............. 36
Figura 3-8 - Includes do SampleApp. ............................................................................ 38
Figura 3-9 - Funções locais da SampleApp. .................................................................. 38
Figura 3-10 - End device no lado direito e coordenador no lado esquerdo. ............... 43
Lista de figuras
xii
Figura 3-11 - Menu de configuração de PIN. ............................................................... 44
Figura 3-12 - SampleDoorLock no coordenador e SampleDoorLockController no end
device. .................................................................................................................. 45
Figura 3-13 - Display SampleHeatingCoolingUnit. ....................................................... 46
Figura 3-14 - Modo de funcionamento da SerialApp. ................................................. 48
Figura 4-1 - Fluxograma do algoritmo no coordenador. ............................................. 53
Figura 4-2 - Tramas capturadas. .................................................................................. 54
Figura 4-3 - Disposição dos nós no primeiro esquema de testes. ............................... 55
Figura 4-4 - IEEE 802.15.4 (ZigBee) vs IEEE 802.11 (Wi-Fi). ......................................... 56
Figura 4-5 - Redes Wi-Fi presentes na habitação. ....................................................... 57
Figura 4-6 - Espectro da banda 2.4 GHz com as fontes de interferência. ................... 58
Figura 4-7 - Disposição dos nós no segundo esquema de testes. ............................... 59
Figura 4-8 - Espectro da banda de 2.4 GHz com todas as fontes de RF ativas. ........... 60
Lista de tabelas
xiii
Lista de tabelas
Tabela 2-1 - Comparação de tecnologias (adaptado de [1], [12], [17]). ...................... 22
Tabela 3-1 - Instruções da aplicação SampleLight. ...................................................... 42
Tabela 3-2 - Instruções da aplicação SampleSwitch. ................................................... 42
Tabela 3-3 – Instruções do SampleDoorLock. .............................................................. 43
Tabela 3-4 - Instruções SampleDoorLockController. ................................................... 43
Tabela 3-5 - Instruções de configuração PIN. .............................................................. 44
Tabela 3-6 - Instruções do SampleThermostat. ........................................................... 45
Tabela 3-7 - Instruções para definição de limites de temperatura do
SampleThermostat. .............................................................................................. 46
Tabela 3-8 - Instruções do GenericApp........................................................................ 47
Tabela 3-9 - Instruções da TransmitApp. ..................................................................... 49
Tabela 4-1 - Resultados obtidos no primeiro teste, no canal 11. ................................ 55
Tabela 4-2 - Resultados obtidos no canal 25 com o forno de micro-ondas desligado.
.............................................................................................................................. 58
Tabela 4-3 - Resultados obtidos no trajeto 5 com o forno de micro-ondas ligado. .... 59
Lista de abreviaturas
xv
Lista de abreviaturas
API Application Programming Interface
BER Bit Error Rate
CCA Clear Channel Assessment
CDMA Code Division Multiple Access
CSMA Carrier Sense Multiple Access
DECT Digital Enhanced Cordless Telecommunication
ETSI European Telecommunications Standards Institute
FDD Frequency Division Duplex
FDMA Frequency Division Multiple Access
FEC Forward Error Correction
FFD Full Function Device
HTTP Hypertext Transfer Protocol
IEEE Institute of Electrical and Electronics Engineers
IETF Internet Engineering Task Force
IP Internet Protocol
ISM Industrial, Scientific and Medical
ISO International Organization for Standardization
ITU International Telecommunications Union
LAN Local Area Network
LEACH Low-Energy Adaptive Clustering Hierarchy
WSN Wireless Sensor Network
Lista de abreviaturas
xvi
ZED ZigBee End Device
MAC Medium Access Control
NLDE NWK Layer Data Entity
NLME NWK Layer Management Entity
NPDU NWK Packet Data Unity
NWK Network
OSI Open System Interconnection
PAN Personal Area Network
PHY Physical
S-MAC Sensor Medium Access Control
Introdução
1
1. Introdução
1.1 Enquadramento e motivação
Com a expansão da Internet foi adicionado o potencial de controlo remoto e
monotorização de aparelhos. Contudo, a sua adaptação em domótica tem sido lenta
e com o ZigBee é possível ultrapassar esses problemas [3].
ZigBee é uma tecnologia de comunicação sem fios, entre dispositivos eletrónicos.
A sua vantagem encontra-se na baixa potência de operação, uma vasta densidade de
comunicação entre aparelhos dependendo da topologia de funcionamento e redução
de conexões físicas. Esta plataforma de desenvolvimento de redes de sensores sem
fios é compatível com a norma IEEE 802.15.4.
Num sistema domótico existem várias tarefas; das mais básicas, como acender e
apagar luzes, até às tarefas mais complexos, como controlos de consumos elétricos,
aumento da vida útil dos equipamentos, controlo através de smartphones em
qualquer tempo e lugar e, principalmente, o bem-estar daqueles que usufruem destes
sistemas no seu lar ou propriedade.
Os pontos importantes desta dissertação são a performance, segurança e
eficiência. Hoje em dia, num sistema com tamanha importância, é necessário garantir
segurança e confidencialidade, evitando invasores. O ZigBee tem vantagem nesses
pontos, quando comparado com outros sistemas idênticos no mercado [2].
Concebendo um cenário residencial que será realizado com auxílio dos módulos
desenvolvidos pela Texas Instruments (TI), baseado em um System on Chip (SoC)
CC2530, serão efetuados vários testes, de modo a entender qual o melhor modo de
funcionamento, para se conseguir obter os pontos relevantes mencionados
anteriormente.
Introdução
2
1.2 Objetivos
Pretende-se com esta dissertação adquirir conhecimentos no domínio dos
protocolos de comunicação em redes sem fios, de modo a que, no final da mesma haja
capacidade para:
a. Descrever as técnicas utilizadas no protocolo de redes sem fios ZigBee;
b. Descrever as soluções para os problemas encontrados;
c. Conceber um cenário residencial com módulos ZigBee;
d. Avaliar a sua performance.
1.3 Estrutura da dissertação
Este capítulo descreve o enquadramento e a motivação que levaram ao
desenvolvimento da dissertação, o conjunto dos objetivos a alcançar neste projeto e
a estrutura da dissertação.
O capítulo 2 apresenta o estado da arte referente às tecnologias presentes no
mercado. É realizado um estudo de tecnologias com fios, sem fios e powerline mais
conhecidas no mercado. É também realizada uma comparação entre as tecnologias e
apresentados trabalhos relacionados com a tecnologia que mais se destacou na
comparação.
O capítulo 3 apresenta uma descrição da plataforma de desenvolvimento ZigBee
utilizada, a nível de hardware e software. Também é efetuada uma descrição de
diversas aplicações exemplo que estão disponíveis para esta plataforma e de
alterações efetuadas no código.
O capítulo 4 apresenta o código de teste implementado para um sistema ZigBee e
os resultados de testes em ambiente real, de forma a perceber os problemas que
podem existir numa habitação para a implementação de uma rede ZigBee numa
residência, mostrando passo a passo o que foi realizado.
Introdução
3
Por fim, no capítulo 5 são apresentadas as conclusões referentes ao projeto
realizado e perspetiva de trabalho futuro.
Estado da arte
5
2. Estado da arte
Neste capítulo será discutido o estado da arte das tecnologias e conceitos mais
importantes das áreas associadas a esta dissertação. Inicialmente serão analisadas as
principais tecnologias atualmente existentes no mercado de domótica tais como
tecnologias com fios, sem fios e powerline. Pretende-se assim analisar as soluções e
comparar de modo a chegar a uma solução que seja a mais viável. A tecnologia mais
adequada será escolhida para a implementação no sistema, tendo em consideração
parâmetros como consumo de energia, taxas de transmissão, alcance entre outros.
2.1 Domótica
As áreas que têm vindo a ter mais foco pela domótica são: eficiência energética,
controlo de luzes, controlo remoto, cuidados remotos e segurança [1].
A eficiência energética está relacionada com a monitorização do consumo de
energia elétrica e a sua gestão [33], no sentido de alcançar o menor desperdício
possível sem que sejam afetados o conforto e a qualidade de vida. O consumo
energético de uma habitação depende de diversos fatores, tais como a zona onde a
mesma se situa, a qualidade de construção a nível de isolamento, o tipo de
equipamentos utilizados e o uso que lhes é dado. Hoje em dia, tanto habitações como
equipamentos são classificados com uma classe de desempenho energético.
Em Portugal, 17,7% do consumo de energia final nacional é proveniente de 3,9
milhões de habitações, sendo cerca de 30% do consumo de equipamentos elétricos, o que
indica, a necessidade de moderar este consumo elétrico [4].
Nas habitações portuguesas, o consumo energético das mesmas tem vindo a
registar um crescimento significativo, também devido, em parte, ao aumento da
aquisição de equipamentos consumidores de energia [5].
Estado da arte
6
A ADENE – Agencia para a Energia, é a entidade gestora do Sistema de Certificação
Energética dos Edifícios (SCE), que visa a avaliação e melhoria do desempenho
energético aos edifícios. De acordo com a entidade, e em relação ao consumo elétrico
de uma habitação média, são consumidos cerca de 3.700 kWh por ano, divididos da
forma como se indica na Figura 2-1.
Figura 2-1 - Consumos de eletricidade em habitações (adaptado de [5]).
O aproveitamento da energia e redução do seu consumo e um dos aspetos mais
importantes da instalação de um sistema de domótica e, com o uso destes sistemas,
estes consumos serão reduzidos significativamente.
O controlo de luzes está ligado diretamente à eficiência energética, sendo que,
não existindo movimento numa divisão da habitação, um sensor poderá comunicar a
um controlador para desligar as luzes, evitando assim um gasto de energia
acrescentado. Caso contrário, quando exista movimento, as luzes serão ligadas. As
luzes podem ser controladas a partir de qualquer lugar e o interruptor não necessita
estar ligado diretamente a uma lâmpada.
O controlo remoto, como o próprio nome indica, permite que o utilizador possa
controlar a habitação, potencialmente, em qualquer lugar. Assim, por exemplo,
mesmo no trabalho, o utilizador pode controlar o AVAC (sistema de aquecimento,
ventilação e ar condicionado) da habitação para que o ambiente esteja confortável
quando pretendido.
Estado da arte
7
Figura 2-2 - Exemplo de habitação inteligente [1].
Os cuidados remotos referem-se aos cuidados de saúde para quem se encontra
na habitação. Assim, com o auxílio de tecnologia wearable, é possível monitorizar os
utilizadores por longos períodos, no sentido de diagnosticar doenças e possibilitar um
tratamento mais eficaz numa fase precoce [7], de possibilitar aos pacientes a
realização de sessões de fisioterapia e reabilitação no conforto do lar, com
monitorização remota por parte dos terapeutas [8], e de detetar situações de
emergência [9] e atuar em tempo recorde, podendo até contactar uma linha de
emergência, caso seja necessário.
Estado da arte
8
Por fim, a segurança é outra área de atuação da domótica, através, por exemplo,
de sensores que detetam movimento indesejado e ativam alarmes, ou circuitos de
câmaras que detetam intrusos.
Na Figura 2-2 é possível ver um exemplo de uma habitação inteligente.
2.2 Tecnologias com fios
As tecnologias com fios foram o início da domótica. Estas tecnologias tinham o
incómodo da necessidade de introdução de cabos adicionais na infraestrutura para
que os dispositivos comunicassem entre eles. Não existem muitas tecnologias
conhecidas associadas à domótica com fios, contudo, existem marcas de
componentes elétricos, como por exemplo a Honeywell [6], que avançaram no
desenvolvimento de dispositivos de controlo domótico proprietários, baseados em
tecnologias de rede já existentes, como é o caso da Ethernet, e assentes sobre par
entrelaçado, cabo coaxial ou fibra ótica.
As tecnologias com fios têm as suas vantagens, como melhores taxas de
transferência, menor taxa de perdas de pacotes devido a fatores como a distância,
ruído e interferência, e maior segurança, comparativamente a tecnologias sem fios.
Um exemplo de sistemas de domótica com fios ainda bastante presentes atualmente
são os sistemas de videovigilância, devido às taxas de transferência de dados
necessárias [22].
2.3 Tecnologias powerline
As tecnologias powerline (PLC) baseiam-se numa transmissão de dados através de
rede elétrica, utilizando uma técnica de modulação adequada ao meio. Os dispositivos
PLC podem monitorizar e, consoante o pretendido, comunicar sobre a rede elétrica da
habitação [11].
Este sistema é dividido em três partes principais, nomeadamente: transmissor,
linha elétrica e recetor. Na Figura 2-3 é possível observar os blocos do transmissor e
Estado da arte
9
do recetor. Na parte do transmissor, os dados modulam uma onda portadora e, em
seguida, o sinal resultante é transmitido através da linha elétrica. No recetor, o sinal
modulado é recebido e, com o uso de técnicas de desmodulação, os dados são
recuperados. Num módulo PLC existe um circuito transmissor e um circuito recetor,
para comunicação bidirecional [10].
Figura 2-3 - Diagrama de blocos da comunicação PLC (adaptada de [10]).
Alguns dos sistemas de comunicação powerline mais conhecidos são o X10 e a
INSTEON. Estes sistemas são descritos nas próximas secções.
2.3.1 X10
O X10 e o protocolo mais antigo e usado nas aplicações domóticas. Foi
desenvolvido em 1975 pela empresa Pico Electronics com o objetivo de transmitir
dados pela rede elétrica com custos muito baixos. A vantagem da utilização da rede
elétrica consiste em não ser necessária a instalação de nova cablagem, sendo este o
principal meio de comunicação. Além disso, a facilidade de implementação e a
Estado da arte
10
possibilidade de utilizar uma instalação de rede elétrica constituem alguns dos aspetos
que contribuíram para o seu sucesso.
Os controladores enviam códigos/sinais pela rede elétrica, dirigidos aos módulos
recetores, para estes atuarem. Deste modo e necessário definir os endereços, quer
dos controladores, quer nos módulos recetores [12].
2.3.2 INSTEON
A INSTEON foi desenvolvida para substituir o padrão X10. Foi concebido de tal
modo que permite que os dispositivos, sensores ou interruptores possam ser usados
em conjunto utilizando a rede elétrica e/ou em radio frequência (RF). Esta é a única
tecnologia que se comunica através de ambos os modos.
Outra vantagem da INSTEON é a sua compatibilidade parcial com dispositivos X10,
uma vez que os comandos executados são idênticos aos do X10. A transmissão de
dados ocorre na frequência de 1.131,65 KHz para dispositivos ligados à rede elétrica e
904 MHz para dispositivos sem fios [12]. O número máximo de hops para cada
mensagem é limitado a quatro, como no Z-Wave.
A transmissão multihop é realizada utilizando um esquema de sincronização por
intervalo de tempo, pelo que são permitidas as transmissões nesses intervalos. Os nós
dentro da mesma rede não transmitem mensagens diferentes ao mesmo tempo.
2.4 Tecnologias sem fios
As tecnologias sem fios constituem uma alternativa às redes convencionais com
fios, fornecendo as mesmas funcionalidades, mas de uma forma mais flexível. Apesar
das vantagens deste tipo de redes, existem desvantagens: o consumo de energia, o
alcance, as interferências no sinal, a menor largura de banda, entre outros. Muitas das
desvantagens apresentadas têm vindo a diminuir com o avanço da tecnologia.
Algumas das tecnologias mais utilizadas na área de domótica sem fios são o 6LoWPAN,
o EnOcean, o Z-Wave, o Wavenis e o ZigBee.
Estado da arte
11
2.4.1 6LoWPAN
O 6LoWPAN é baseado no protocolo IPv6, tendo sido projetado para ser usado
sobre o padrão IEEE 802.15.4 [18] para comunicação sem fios de baixa potência.
Figura 2-4 - IPv6 e 6LoWPAN framing sobre 802.15.4 standard (adaptado de [14]).
A Figura 2-4 mostra a diferença entre cabeçalhos normais IPv6 em comparação
com o cabeçalho comprimido 6LoWPAN sobre IEEE 802.15.4.
Uma das desvantagens deste padrão parte da limitação no tamanho das tramas a
127 bytes, incluindo um cabeçalho MAC de 23 bytes e um cabeçalho opcional de
criptografia AES de 21 bytes. Com um protocolo IPv6 convencional, o payload seria
reduzido para 33 bytes UDP e 21 bytes com o TCP [1].
A ideia do 6LoWPAN é manter o protocolo IPv6, mas comprimindo o cabeçalho
das tramas para diminuir o overhead relativamente ao payload. Assim payload pode
variar entre 65 e 75 bytes de dados. Desta forma, a transmissão de uma determinada
quantidade de dados demora menos pacotes e, consequentemente, consome menos
energia. O 6LoWPAN remove a implementação do Transmission Control Protocol
(TCP), ou seja, o nó é limitado ao protocolo User Datagram Protocol (UDP) e a camada
de aplicação fica responsável pela manipulação de erros.
Estado da arte
12
2.4.2 EnOcean
A EnOcean é uma das mais novas tecnologias em automação residencial, com a
vantagem de alimentar-se da energia que ela própria capta. A característica benéfica
e única nos nós EnOcean é a sua capacidade para trabalhar sem bateria e ainda
conseguir comunicar sem fios.
Os primeiros desenhos de dispositivos EnOcean usavam geradores elétricos
piezoelétricos, mas foram mais tarde substituídos por fontes de energia
eletromagnéticas [13]. Como todos os dispositivos são autoalimentados, a
manutenção é mínima. A interferência de rádio também é mínima, uma vez que atua
na banda 868 MHz na UE.
2.4.3 Wavenis
O Wavenis é uma pilha de protocolos para comunicação sem fios desenvolvida
pela Coronis Systems para controlo e aplicações de monitorização em vários
ambientes, incluindo automação residencial e construção. O Wavenis está a ser
promovido e gerido pela Wavenis Open Standard Alliance.
Esta tecnologia atua principalmente nas bandas de 433 MHz, 868 MHz e 915 MHz,
que são bandas ISM (Industrial, Scientific and Medical) disponíveis na Ásia, Europa
e/ou Estados Unidos, respetivamente. Alguns produtos também operam na banda de
2,4 GHz. As taxas de transferência mínima e máxima oferecida pelo Wavenis são 4,8
kbps e 100 kbps, respetivamente, sendo o valor médio de 19,2 kbps [1].
A subcamada MAC oferece sistemas sincronizados e não-sincronizados. Numa
rede sincronizada, os nós operam com um misto de CSMA (Carrier Sense Multiple
Access) e TDMA (Time Division Multiple Access). Neste caso, um nó atribui a si mesmo
um intervalo de tempo que é aleatoriamente calculado baseado no seu endereço.
Antes da transmissão, o nó executa o CS (Carrier Sense). Se o canal estiver ocupado, o
nó calcula um novo intervalo de tempo para a transmissão. Para aplicações em que a
fiabilidade é uma exigência crítica, como por exemplo alarmes, o sistema deve ser não-
sincronizado, usando CSMA/CA (Carrier Sense Multiple Access with Collision
Estado da arte
13
Avoidance). A camada de rede específica uma árvore hierárquica virtual. A arquitetura
do Wavenis é visível na Figura 2-5.
Figura 2-5 - Arquitetura do Wavenis.
2.4.4 ZigBee
O ZigBee é uma tecnologia de área pessoal sem fios baseada na norma IEEE
802.15.4 [18] a nível da camada física e camada MAC. O ZigBee tem como objetivo um
baixo consumo de energia de modo a que, ao ser alimentado por baterias, estas
tenham uma elevada autonomia. As redes IEEE 802.15.4/ZigBee têm sido utilizadas
em diversas áreas de aplicação, como o desporto [24], a agricultura [25], a medicina
[26] a automação industrial [27], etc.
O baixo custo de instalação oferecido pela ZigBee ajuda a combater os caros e
complexos problemas de arquitetura com sistemas de automação residencial [28].
De modo a satisfazer os requisitos de baixo custo financeiro e energético, o ZigBee
é uma tecnologia que utiliza potências de transmissão e taxas de transmissão de dados
substancialmente menores do que redes de área local. Isso implica um alcance menor.
Contudo, o ZigBee suporta comunicações multihop e, assim, consegue aumentar o
alcance. O coordenador ZigBee tem a responsabilidade de criação e manutenção da
rede. Cada dispositivo eletrónico na habitação pertence a uma rede ZigBee gerida pelo
coordenador. O ZigBee suporta uma elevada quantidade de nós na rede, até 65.535
dispositivos por cada coordenador, atingindo um alcance direto máximo com mais de
10 metros. Este protocolo pode operar em diferentes bandas de frequência: a banda
dos 2.4 GHz que, com 16 canais, do 11 ao 26, separados por 5 MHz, pode obter taxas
Estado da arte
14
de transmissão ate 250 kbps; a banda dos 915 MHz que, com 10 canais, do 1 ao 10,
pode obter taxas de transmissão na ordem dos 40 kbps; e 868 MHz, no canal 0.
O ZigBee define três tipos de nós: coordenador (ZC), encaminhador ou router (ZR)
e end device (ZED). O ZigBee admite diferentes tipos de topologia [29]. Na Figura 2-6
é visível a topologia em estrela. Esta tem um nó central (coordenador) que está ligado
a todos os outros nós da rede, e todas as mensagens passam pelo nó central.
Figura 2-6 - Topologia em estrela.
Na topologia em árvore, o nó superior é o coordenador, e para enviar uma
mensagem é necessário percorrer a árvore até ao topo e, em seguida, descer. Tem
como desvantagem a inexistência de uma rota alternativa caso a ligação necessária
falhe, como é possível observar na Figura 2-7.
Estado da arte
15
Figura 2-7 - Topologia em árvore.
Na topologia em malha (mesh) os routers comunicam entre si, existindo assim
rotas alternativas. A ligação entre os routers é o que diferencia esta tipologia e a
topologia em árvore. Na Figura 2-8 é apresentado um exemplo da topologia em malha.
Figura 2-8 - Topologia em malha.
O ZigBee assenta sobre a norma IEEE 802.15.4. Na Figura 2-9 é visível a arquitetura
da pilha protocolar ZigBee.
Estado da arte
16
Figura 2-9 - Arquitetura de pilha protocolar ZigBee [15].
A camada de rede (NWK) é responsável pela configuração dos dispositivos, e e
aqui que são implementados os mecanismos de descoberta de rotas e
encaminhamento da informação. Esta camada tem como funções:
• Encontrar novos dispositivos que possam integrar-se na rede;
• Monitorização dos dispositivos da rede;
• Armazenar informações relativas aos dispositivos;
• Atribuir endereços, caso seja o coordenador.
Esta camada e responsável por fornecer serviços que permitam o correto
funcionamento da camada de controlo de acesso ao meio (MAC) do 802.15.4, e, da
mesma forma, serviços adequados para a interface com a camada de aplicação. Para
esta camada existem duas entidades, o serviço de dados e o serviço de gestão.
O NLME (Network Layer Management Entity) é o serviço de gestão que, através
do seu ponto de acesso ao serviço (SAP – Service Access Point) fornece serviços
responsáveis por criar recursos que permitam a aplicação interagir com a pilha
protocolar. O NLME tem ainda outros serviços disponíveis como:
• Configuração de novos dispositivos;
Estado da arte
17
• Criação de uma rede;
• Juncão ou abandono a uma rede;
• Endereçamento;
• Descobrir vizinhos;
• Descobrir rotas.
A NLDE (Network Layer Data Entity) e a entidade que fornece o serviço de
transmissão de dados através do seu SAP, e esta capacitada a fornecer serviços como:
• Criação de NPDUs (Network Protocol Data Units);
• Topologia específica de roteamento;
• Segurança.
A camada de aplicação ZigBee consiste na subcamada Application Support (APS),
no ZigBee Device Object (ZDO) e nos objetos de aplicação definidos pelo fabricante na
Application Framework (AF).
As responsabilidades da subcamada Application Support (APS) incluem a
manutenção de tabelas para efetuar o binding, que e a capacidade de combinar dois
dispositivos baseados nos seus serviços e necessidades, e o encaminhamento de
mensagens entre os dispositivos ligados. Existem dois tipos de mensagem: Key-Value
Pair (KVP), onde cada nó conhece o endereço do nó destino; e Message Service Type
(MSG), onde é necessário que seja feita e armazenada uma ligação entre dois end
points. Outra responsabilidade da subcamada APS e a funcionalidade de discovery,
que e a capacidade para determinar quais são os outros dispositivos que operam no
espaço operacional pessoal de um dispositivo. Isto é realizado com auxílio de duas
entidades, o serviço de dados, Application Support Sub-Layer Data Entity (APSDE), e o
serviço de gestão, Application Support Sub-Layer Management Entity (APSME).
As responsabilidades do ZigBee Device Object (ZDO) incluem a definição da função
do dispositivo dentro da rede (como, por exemplo, coordenador, router ou end
device), iniciar e/ou responder a pedidos de ligação, e estabelecer uma relação segura
entre dispositivos de rede, selecionando um dos métodos de segurança do ZigBee, tais
como: chave publica, chave simétrica, entre outros.
Estado da arte
18
A Application Framework (AF) fornece funções que permitem enviar e receber
dados. Nesta subcamada o utilizador pode definir ate 240 objetos de aplicação, em
que cada um e identificado pelo seu end point, tornando possível o desenvolvimento
e identificação de aplicações no mesmo no. Na Figura 2-10 são visíveis os formatos
das mensagens criadas pelas diferentes camadas da pilha protocolar ZigBee.
Estado da arte
19
Figura 2-10 - Formatos da mensagens da pilha protocolar ZigBee [16].
Estado da arte
20
2.4.5 Z-Wave
A Z-Wave Alliance foi estabelecida no início de 2005 por um grupo de fabricantes
de produtos para controlo de habitação [19]. Esta tecnologia possui uma arquitetura
sem fios, desenvolvidos pela Zensys e promovido pela Z-Wave Alliance, para
automação em ambientes residenciais e ambientes comerciais. O principal objetivo
do Z-Wave é permitir uma transmissão fiável de mensagens curtas a partir de uma
unidade de controlo para um ou mais nós na rede [12]. A melhor característica de
dispositivos Z-Wave é sua compatibilidade entre diferentes sistemas da marca [19].
Esta oferece boa integridade de rede e estabilidade. É uma das mais antigas
tecnologias de automação doméstica dentro das disponíveis. Cada nó Z-Wave tem um
ID de rede único e cada rede tem uma identificação única. Esta é uma tecnologia em
malha e, portanto, os nós vizinhos podem comunicar diretamente uns com os outros.
A frequência de operação do Z-Wave varia de acordo com a região; a frequência
é de 908,42 MHz nos Estados Unidos da América (EUA) e de 868,42 MHz na Europa e
recentemente 2.4 GHz num chip específico [23]. As distâncias diretas cobertas pelo Z-
Wave aproximam-se dos 30 metros, sendo possível aumentar as mesmas utilizando
os nós como repetidores. Este processo pode ser utilizado para estender alcance da
rede através de um máximo de 4 nós, pois quando o número de nós ultrapassa 4 o Z-
Wave termina a transmissão. Os recentes chips da série Z-Wave 400 são os únicos que
suportam a banda de 2,4 GHz, oferecendo taxas de transmissão até 200 kbps [1].
2.5 Comparação de tecnologias
Neste capítulo foi realizado um levantamento das vantagens e desvantagens
das soluções apresentadas anteriormente: ZigBee, Z-Wave, INSTEON, Wavenis,
6LoWPAN, EnOcean e X10. Considerando que o ZigBee e 6LoWPAN foram concebidos
para fins gerais, as restantes soluções foram desenvolvidas para aplicações
específicas. Com o auxílio da Tabela 2-1 pode-se observar algumas das características.
Estado da arte
21
Um dos fatores mais importantes é o consumo de energia destes dispositivos.
Como foi mencionado o EnOcean capta energia do ambiente e não requer bateria. A
ZigBee Aliance encontra-se a desenvolver uma funcionalidade para que os seus
dispositivos funcionem em modo de autoalimentação, não necessitando assim de
baterias [12].
O 6LoWPAN e o Wavenis aproximam-se bastante ao ZigBee em termos do
consumo de energia, enquanto as outras tecnologias consumem mais energia.
Outro fator importante é a taxa de transferência de dados. Tanto o ZigBee
como 6LoWPAN oferecem um máximo de 250 kbps, o que supera as outras
tecnologias por uma larga margem. O EnOcean, com 125 kbps, e o Wavenis, com 100
kbps, seguem-se como as tecnologias de maior taxa de transmissão. Após esses, vem
o Z-Wave com uma taxa de 40 kbps e o INSTEON com uma taxa de transmissão
aproximada de 38.4 kbps. O X10 é a tecnologia com a mais baixa taxa de transferência,
cerca de 2 kbps.
Quanto ao alcance da transmissão, o INSTEON e Z-Wave chegam aos 30 metros
num único salto. Estes dispositivos atuam como repetidores e podem realizar 4 saltos.
Sendo assim, podem ter um alcance máximo de 120 metros. Segue-se o ZigBee com
10 a 100 metros de alcance e com a possibilidade de 6 saltos entre dispositivos, tendo
assim um alcance final de 60 metros. O EnOcean tem um alcance aproximadamente
20 metros e não suporta multihop.
Estado da arte
22
Tabela 2-1 - Comparação de tecnologias (adaptado de [1], [12], [17]).
6LoWPAN Z-Wave Wavenis ZigBee INSTEON X10 EnOcean
Banda RF 868 / 915 MHz 2.4 GHz
868 / 908 MHz 2.4 GHz Serie 400
433 / 868 / 915 MHz
Recentemente 2.4GHz
868 / 915 MHz 2.4GHz 904 MHz N/A 868 MHz
Alcance (m) 10-100 30 200 10-100 45 30 120
Taxa de Transferência 20 / 40 / 250 kbps
9.6 / 40 kbps 200 kbps Serie 400 4.8 / 100 kbps 20 / 40 / 250 kbps 38.4 kbps 2 kbps 125 kbps
Modo de Comunicação Radiofrequência Radiofrequência Radiofrequência Radiofrequência Radiofrequência / Powerline Powerline Radiofrequência /
Powerline
Encriptação AES 128 AES 128 AES 128 AES 128 Não contêm Não contêm ARC4 / AES
Solução Multihop RPL Estrela Árvore Malha / Árvore / Estrela Simulcast Não contêm Não contêm
Tamanho da mensagem 127 Bytes 64 Bytes N/D 127 Bytes 14 / 28 Bytes N/D N/D
Máximo de Nós 254 232 N/D 65535 400 N/D N/D
Modulação BPSK / O-QPSK GFSK GFSK BPSK / O-QPSK BPSK / FSK OOK FSK
Estado da arte
23
A capacidade de operação multi-channel tem um grande peso na escolha de uma
destas tecnologias, sendo uma das grandes vantagens do ZigBee. Os seus mecanismos
contra interferência nos canais fazem com que um coordenador ZigBee possa formar
nova rede, para mudar de canal, caso haja demasiada interferência, ao contrário de
outras tecnologias. O INSTEON, o Wavenis, o Z-Wave (exceto o chip série 400), e o x10
operam somente num único canal.
Por o INSTEON usar simulcast em vez de encaminhamento, quando um dispositivo
intermédio fica indisponível, os dados podem ainda chegar ao seu destino através de
caminhos alternativos (caso existam), sem sofrer uma lacuna na conectividade. As
outras soluções, que usam encaminhamento, detetam a falha de ligação e encontram
um caminho alternativo (se existir). O Route Change Latency (RCL) no Z-Wave é de 1
s, em média, enquanto no ZigBee encontra-se entre 50 e 100 ms [21].
A questão de segurança é um fator importante: o ZigBee e o 6LoWPAN tiram
proveito dos serviços de segurança oferecidos pelo IEEE 802.15.4, que utiliza o
algoritmo de chave de 128 bits Advanced Encryption Standard (AES). Enquanto isso, o
Z-Wave, nas séries 200 e 300, não oferece serviços de segurança. Já o chip série 400
oferece suporte a criptografia AES de 128 bits. O INSTEON oferece vários métodos de
criptografia, mas recomenda o uso de criptografia simples. O Wavenis também
suporta vários algoritmos de criptografia, incluindo AES de 128 bits.
Quanto à fiabilidade, o Z-Wave e o INSTEON utilizam verificação de 8 bits,
enquanto o ZigBee e o 6LoWPAN utilizam uma verificação mais forte, de 16 bits, usada
no IEEE 802.15.4. O Wavenis utiliza técnicas de controlo de erro mais avançadas. O
INSTEON é personalizável dependendo dos requisitos da aplicação. A sua fiabilidade
pode ser negociada de modo a poupar energia e largura de banda.
O X10 é o sistema mais barato entre os considerados, mas a tecnologia está a
tornar-se obsoleta. Com as outras tecnologias a baixarem o preço ao longo do tempo,
a vantagem de preço vai dissipar-se.
Como é possível ao INSTEON operar em malha e funcionando com repetidores,
isso aumenta o alcance de transmissão. A instalação de dispositivos INSTEON é
Estado da arte
24
ligeiramente mais fácil. No entanto, suas principais desvantagens são número limitado
de fornecedores e dispositivos certificados disponíveis. O INSTEON é interessante para
utilizadores que migram do antigo padrão X10, já que este permite a integração de
ambas as tecnologias de RF e de powerline.
O EnOcean é o melhor no consumo de energia visto que são dispositivos
autoalimentados. No entanto, a sua fiabilidade é baixa e não tem capacidade de
funcionar como repetidores. A tecnologia é relativamente nova e tem um futuro
promissor dadas as atividades de investigação em curso para melhorar esta tecnologia
[12].
A conectividade com a Internet é uma vantagem significativa do 6LoWPAN, já
que é intrinsecamente compatível com a mesma. Ligar uma estação base 6LoWPAN à
Internet não requer uso de conversão de protocolos [1]. Esta vantagem está a ser
estudada pela ZigBee Alliance, que em meados de 2009 anunciou a incorporação de
padrões da Internet Engineering Task Force (IETF).
As principais vantagens dos dispositivos Z-Wave são a flexibilidade e a
segurança. Características como capacidades de rede de malha, firmware atualizável
e diagnóstico do dispositivo remoto tornam esta tecnologia interessante. Além disso,
o Z-Wave oferece APIs abertas, o que é ideal para desenvolvedores.
O ZigBee tem sido uma tecnologia preferida por muitos, principalmente devido
ao facto de ser um padrão aberto. Além disso, ZigBee oferece fiabilidade dos dados e
contêm bons recursos de criptografia de dados. Tem potencial para prevalecer no
mercado que continua em expansão. Existem vários kits de desenvolvimento ZigBee
disponíveis no mercado para o desenvolvimento de protótipos e, assim, o ZigBee é
ideal para atividades relacionadas com a investigação [12].
Como é possível de concluir, os diferentes protocolos são adequados para
diferentes aplicações, e não há uma solução de rede de sensores sem fios que se
encaixe perfeitamente em todas as aplicações. Cada tecnologia representa um
compromisso entre diferentes fatores como alcance, taxa de transmissão e segurança.
A escolha de uma determinada tecnologia depende do onde esta será aplicada.
Estado da arte
25
Contudo, concluiu-se que o ZigBee é considerado o sistema com mais abrangência de
aplicações comparativamente aos outros.
2.6 Trabalhos relacionados
O ZigBee está a revelar-se cada vez mais promissor a cada dia, tornando-se alvo
de estudo e desenvolvimento em diversas áreas. Esta secção tem o intuito de fornecer
uma visão geral de alguns trabalhos efetuados com o uso de redes ZigBee.
2.6.1 HM4All - Health Monitoring for All
Hoje em dia, o mundo enfrenta um desafio constante no sistema de saúde, com o
aumento dos custos com cuidados de saúde. Segundo a Organização Mundial de
Saúde, os custos de saúde estão atualmente motivados principalmente pela mudança
tecnológica, que corresponde de 50 a 75% do crescimento dos custos. Outras causas
incluem o envelhecimento da população, que é responsável por aproximadamente
10% do crescimento dos custos [35] [36].
As tecnologias de comunicação emergentes nesta área tendem a ser projetadas
especificamente para ter baixo custo e baixo consumo de energia, sendo exemplos o
IEEE 802.15.4 e o ZigBee. Estas têm o potencial de proporcionar alta qualidade de
atendimento ao paciente sem aumentar consideravelmente os custos.
Neste sentido, o HM4All, Health Monitoring for All é um sistema baseado em
ZigBee para monitorização simultânea de vários pacientes em ambiente clínico que foi
desenvolvido para superar algumas das deficiências de sistemas de monitorização de
pacientes existentes, como a complexidade e os altos custos.
Na Figura 2-11 é possível observar o funcionamento deste sistema, onde, com o
auxílio de dispositivos wearable, a informação recolhida dos pacientes percorre os
routers e coordenadores, sendo depois enviada pela Internet para armazenamento
num servidor, ficando assim disponível para análise por prestadores de cuidados de
saúde.
Estado da arte
26
Figura 2-11 - Diagrama HM4All [37].
Este sistema foi implementado e testado num cenário hospitalar real, a partir do
qual foi possível obter informações relevantes sobre o desempenho da rede de
comunicação sem fios em ambiente hospitalar [37].
2.6.2 Comunicação ad hoc com ZigBee
No Instituto de Sistemas e Robótica de Coimbra foram desenvolvidos robôs móveis
com módulos que utilizam a tecnologia ZigBee como protocolo de rede, possibilitando
a comunicação entre os robôs. O objetivo deste trabalho consiste em implementar a
comunicação ad hoc sem fios entre membros de uma equipa de robôs, utilizando a
tecnologia ZigBee.
Este projeto proporciona uma ferramenta útil de investigação, nomeadamente em
swarm robotics, patrulhamento, busca e salvamento, entre outros [38]. Neste
trabalho foram comparadas tecnologias como Wi-Fi, Bluetooth e ZigBee, onde a
capacidade do ZigBee para formar redes usando a topologia em árvore aumenta a
cobertura da rede ad hoc de forma significativa, tornando-a uma escolha mais
adequada para a aplicação.
Estado da arte
27
Nos testes de desempenho da comunicação foi medido o Received signal strength
indication (RSSI) (...) das mensagens recebidas pelos companheiros, estimando a
distância aos mesmos. Utilizando a estimação da distância, procedeu-se a estimação
da posição do robô.
2.6.3 Body Sensor Networks
Uma rede de sensores corporal (BSN - Body Sensor Network) consiste num grupo
de dispositivos com comunicação sem fios distribuídos pelo corpo humano. BSNs
podem ser utilizadas para monitorizar vários sinais fisiológicos, como o
eletroencefalograma (EEG), eletrocardiograma (ECG), a temperatura, a pressão
arterial, eletromiograma (EMG) e oximetria.
A monitorização baseada em BSNs pode proporcionar benefícios no diagnóstico e
tratamento de pacientes sem restringir as suas atividades normais. Ela permite que o
paciente se mova livremente, dentro ou fora do ambiente hospitalar, proporcionando
a monitorização contínua. Esta pode ser muito útil quando é requerido um longo
período de monitorização, como por exemplo, doenças cardíacas, picos transitórios
na pressão sanguínea ou arritmias.
Este trabalho apresentou uma análise de desempenho experimental do ZigBee e
do IEEE 802.15.4 para aplicações BSN, com particular ênfase para as condições de
carga de tráfego elevado. Os resultados confirmam a importância do mecanismo de
reconhecimento para a fiabilidade do sistema e, no geral, o desempenho da topologia
em estrela ZigBee foi boa, mesmo nas piores condições testadas [39].
Desenvolvimento do sistema
29
3. Desenvolvimento do sistema
Este capítulo aborda como é feita a implementação de sistemas de domótica sem
fios utilizando uma plataforma de desenvolvimento de redes ZigBee. O hardware
utilizado é baseado no circuito integrado CC2530, da Texas Instruments. No que
concerne ao software, foram testadas diferentes versões da pilha protocolar ZigBee
disponíveis para esta plataforma de desenvolvimento, com o objetivo de analisar as
características de cada versão tendo em vista a sua aplicação no âmbito da domótica
sem fios. Primeiramente e feita uma descrição geral dos componentes e plataformas
de hardware e software utilizadas. De seguida aborda-se os procedimentos
necessários para a implementação.
3.1 Plataforma de desenvolvimento
A plataforma utilizada para desenvolvimento do projeto é baseada no circuito
integrado CC2530, da Texas Instruments, que integra um microcontrolador baseado
no 8051 e um transceiver compatível com as normas IEEE 802.15.4/ZigBee para a
banda de frequências de 2,4 GHz. Este dispositivo oferece vantagens como: baixo
ruído, boa relação qualidade/preço e operação de baixa tensão. Além disso, o CC2530
fornece amplo suporte para manipulação de pacotes, buffers de dados, criptografia,
autenticação, avaliação do estado do canal, e indicação da qualidade da ligação [30].
O kit de desenvolvimento CC2530DK inclui hardware que oferece uma plataforma
básica para desenvolvimento. Os componentes principais deste kit podem ser
visualizados na Figura 3-1, sendo que os módulos maiores são as placas SmartRF05EB
(Evaluation Board) e os mais pequenos são os módulos CC2530EM (Evaluation
Module) e o dongle USB CC2531.
Desenvolvimento do sistema
30
Figura 3-1 - Conteúdo do Kit de desenvolvimento.
Este kit de desenvolvimento é constituído por:
• 2 x SmartRF05EB;
• 2 x CC2530EM;
• 2 x antenas;
• 1 x dongle USB CC2531;
• Cabos;
• Baterias;
• Documentos.
3.1.1 SmartRF05EB
A placa SmartRF05EB atua como uma placa de auxílio ao desenvolvimento, com
uma vasta gama de interfaces com o utilizador:
• 3x16 LCD;
• Interface USB 2.0;
Desenvolvimento do sistema
31
• UART;
• LEDs;
• Flash Serial;
• Potenciómetro;
• Joystick;
• Botões.
A SmartRF05EB é a plataforma de teste para um EM (Evaluation Module), sendo
acoplada ao mesmo pelo uso de 2 conectores. Esta placa também pode ser conectada
ao PC via USB para programar e controlar o EM. A Figura 3-2 mostra os principais
componentes deste módulo e identifica os principais barramentos de comunicação.
Figura 3-2 - Arquitetura do SmartRF05EB [31].
Um dos principais componentes da placa é o controlador USB. Ele comunica com
o PC via USB e traduz os pedidos de várias ferramentas de software do PC. O
controlador USB comunica com o CC2530EM utilizando SPI, UART e/ou uma interface
de depuração.
É possível notar que nem todos os periféricos na placa são acessíveis a partir do
controlador USB. Este tem acesso ao UART (interface RS232), LCD, um LED, joystick e
ao botão USB. Já o módulo CC2530EM tem acesso a todos os periféricos da
SmartRF05EB: acesso total ao LCD, memória flash, quatro LEDs, 2 botões, joystick e
interface UART RS232.
Desenvolvimento do sistema
32
Uma vez que muitos dos periféricos podem ser acedidos a partir do controlador
USB e do CC2530EM, alguns pinos de entrada e saída podem, potencialmente, ser
conduzidos por duas fontes diferentes. O firmware padrão em execução no
controlador USB está preparado para lidar com isso, evitando conflitos. Na Figura 3-3
é possível obter uma visão geral de onde se encontram os componentes da
SmartRF05EB Rev. 1.8.1.1.
Figura 3-3 - Visão geral da SmartRF05EB Rev. 1.8.1.
3.1.2 CC2530EM
O módulo CC2530EM contém o circuito integrado CC2530, o conector para a
antena externa e componentes auxiliares. Este módulo é ligado por cima da
SmartRF05EB utilizando dois conectores.
O CC2530EM é uma solução baseada na norma IEEE 802.15.4 que permite
construir com um custo relativamente baixo infraestruturas de rede de grandes
Desenvolvimento do sistema
33
dimensões. O CC2530EM combina um microcontrolador 8051 melhorado, com 8 KB
de RAM, entre outras características. O CC2530 está disponível em quatro versões
diferentes de memória flash: CC2530F32/64/128/256, com 32/64/128/256 KB de
memória, respetivamente, sendo que a versão do CC2530 usada no kit é a de 256 KB.
O CC2530EM tem vários modos de operação, tornando-se altamente adequado
para sistemas onde é necessário o consumo de energia ultrabaixo. A combinação do
CC2530EM com a pilha protocolar ZigBee da Texas Instruments, denominada Z-Stack,
permite fornecer uma solução robusta e completa ZigBee. Este módulo pode ser
observado na Figura 3-4.
Figura 3-4 - Visão geral do CC2530EM.
O diagrama de blocos do CC2530 é observado na Figura 3-5. Os módulos podem
ser divididos em três categorias: CPU e módulos relacionados à memória; módulos
relacionados com periféricos, relógios e gerenciamento de energia; e módulos
relacionados com rádio.
Desenvolvimento do sistema
34
Figura 3-5 - Diagrama de blocos do CC2530EM [31].
Desenvolvimento do sistema
35
3.1.3 CC2531 USB dongle
O dongle USB que está incluído no kit vem programado para que possa ser usado
para capturar pacotes transmitidos através do ar. Para usar o dongle como um sniffer,
basta instalar o aplicativo Packet Sniffer, conectar o dongle USB e começar a capturar
pacotes. A Figura 3-6 identifica alguns dos componentes presentes no dongle USB.
Figura 3-6 - Visão geral do dongle USB CC2531.
3.2 Software de desenvolvimento
A SmartRF Studio 7 é uma aplicação para PCs utilizada por vários kits de
desenvolvimento de RF de Texas Instruments. Esta corre numa máquina Windows e
usa uma porta USB para se comunicar com uma placa CC2530EM através da
SmartRF05EB. Este programa oferece modos fáceis de operar, podendo configurar os
registos do CC2530, executar testes de potência de sinal e medir pacotes perdidos.
Para desenvolver software e realizar depuração de código no CC2530EM é
recomendado o uso de um programa intitulado IAR Embedded Workbench [32]. Este
programa suporta a depuração do CC2530EM através da SmartRF05EB, de modo a que
nenhum hardware adicional seja necessário. Na Figura 3-7 é possível observar-se o
ambiente de trabalho do IAR Embedded Workbench.
Desenvolvimento do sistema
36
Figura 3-7 - Ambiente de trabalho do software IAR Embedded Workbench.
3.3 Z-Stack
A Z-Stack é uma implementação em software da pilha ZigBee, destinada a
dispositivos baseados nos microcontroladores da família 8051 e MSP430, tendo como
base a linguagem de programação C. A Z-Stack define todas as camadas da pilha
ZigBee, exceto a camada PHY (Physical Layer) que está implementada ao nível do
hardware. Para além das camadas da pilha protocolar ZigBee, foi também
implementada uma camada HAL (Hardware Abstraction Layer) e uma camada OSAL
(Operating System Abstraction Layer).
A camada HAL disponibiliza um vasto conjunto de funções que simplificam a
configuração, utilização e gestão de energia dos periféricos do microcontrolador. Já a
camada OSAL é usada para amparar os componentes do software Z-Stack durante o
processamento. Esta fornece funcionalidades de uma forma independente do
ambiente de processamento. As funcionalidades são:
• Registo, inicialização e início de tarefas;
• Troca de mensagens entre tarefas;
• Sincronização de tarefas;
Desenvolvimento do sistema
37
• Tratamento de interrupções;
• Temporizadores;
• Alocação de memória.
Ao longo do tempo saíram novas versões Z-Stack com melhoramentos de API,
entre outros, evoluindo até à Z-Stack 2.5. Após esta, o foco incidiu em perfis mais
específicos e dedicados por áreas como: Home Automation, Energy, Lighting, Mesh e
Linux-Gateway.
3.3.1 Z-Stack 2.5
A Z-Stack 2.5 foi lançada em 2011 conseguindo renovar as APIs da versão 2.4. O
presente projeto foi iniciado com a versão 2.5, utilizando como base uma das
aplicação exemplo que esta continha, denominada SampleApp.
A SampleApp envia mensagens periodicamente de um módulo para outro, sendo
que o módulo que recebe as mensagens contém um contador que, consoante o
número de mensagens recebidas, faz com que um LED acenda de forma intermitente.
Isto tudo é ativado pressionando o interruptor SW1.
Na Figura 3-8 são visíveis os includes implementados. Existem tipos diferentes de
include:
• de hardware, para se aceder à SmartRF05EB;
• de acesso a ficheiros de configurações como o “SampleApp.h”;
Desenvolvimento do sistema
38
Figura 3-8 - Includes do SampleApp.
Após os includes são definidas as variáveis globais e as variáveis locais. As variáveis
globais definem Cluster IDs para uma mensagem periódica. As variáveis locais são
usadas para definir variáveis usadas ao longo da aplicação que podem ser uint8, uint16
e uint32. Em seguida, as funções locais, visíveis na Figura 3-9, declaram as funções que
serão usadas com os parâmetros que recebem e devolvem. No caso da Figura 3-9 é
visível, por exemplo, a função SampleApp_SendPeriodicMessage para envio de
mensagens periódicas. Só depois destas declarações é que possível ser implementado
o código da aplicação.
Figura 3-9 - Funções locais da SampleApp.
Para melhor entendimento desta programação foi iniciado um exercício. O
objetivo foi a execução de procedimentos necessários para implementar uma rede de
Desenvolvimento do sistema
39
sensores sem fios baseada na norma ZigBee. Um dispositivo terminal da rede (end
device) efetua a recolha de dados de um sensor e encaminha através da rede sem fios
até a uma estação base (coordenador ZigBee). Esta, por sua vez, encaminha os valores
recebidos para um PC através da porta RS-232, para que sejam apresentados ao
utilizador. Como base de desenvolvimento deste exercício foi utilizada a aplicação
SampleApp e dois dispositivos (compostos pelas placas SmartRF05EB e CC2530EM,
conforme mencionado na secção 3.1. As funções dos dispositivos foram:
• Coordenador ZigBee: Implementar a receção dos pacotes vindos do end
device, extrair as leituras, apresenta-las no LCD da SmartRF05EB e envia-
las através da porta RS-232 para um PC.
• End device: Implementar periodicamente a leitura de valores de um sensor
analógico, efetuando a conversão analógico-digital, e enviar os pacotes de
dados através do ar até ao coordenador. O potenciómetro disponível na
SmartRF05EB, que disponibiliza uma tensão ajustável, executa o papel de
sensor. A leitura deste é efetuada a cada 2 segundos.
3.3.1.1 Coordenador
Aqui são descritas as alterações efetuadas na aplicação do coordenador, no
ficheiro SampleApp_Coord.c.
1) Configuração da comunicação via UART. Foi necessário realizar include da
porta UART e de um conversor RS-232 para USB. De seguida, configurou-se os
parâmetros de comunicação da porta, que devem estar idênticos no PC uma
vez que só assim os dados chegam corretamente ao PC. Foi também
necessário definir a função de callback da UART e, por fim, inserir a função no
código.
2) Sempre que um pacote é recebido, existe uma função,
SampleApp_MessageMSGCB, que é executada. Esta contém vários
parâmetros dos quais só interessaria a sequência do pacote recebido, os
valores que foram recebidos do sensor e o endereço de quem enviou o pacote.
Desenvolvimento do sistema
40
Para imprimir os valores no LCD foi necessária a função
HalLcdWriteStringValue. Esta função contém 3 parâmetros: texto, variável a
apresentar e a linha em que é para imprimir.
3) Para enviar a informação pela UART é necessária a função HalUARTWrite, que
envia uma trama pela porta série para que o computador receba.
4) Na aplicação SampleApp original, todos os dispositivos enviam pacotes
periódicos. Contudo, o objetivo pretendido era que o envio de dados fosse
somente efetuado pelo end device. Assim, é necessário desabilitar o envio por
parte do coordenador sendo a melhor forma retirar o timer
osal_start_timerEx da callback ZDO_STATE_CHANGE.
3.3.1.2 End Device
A seguir descrevem-se as alterações que devem ser efetuadas na aplicação do end
device, no ficheiro SampleApp_ED.c.
1) O primeiro passo consiste em configurar o temporizador para leitura periódica
das amostras. Como supracitado, esta aplicação já contém um timer de envio
de mensagens. Contudo o que se pretende é um envio a cada 2 segundos e,
para isso, é necessário alterar o valor configurado num define no ficheiro
SampleApp.h. Este valor é apresentado em milissegundos.
2) Para que a leitura do potenciómetro seja realizada é necessário descobrir onde
este se encontra ligado na SmartRF05EB e saber que canal do ADC (Analog-to-
Digital Converter) deve ser utilizado para a leitura. Com ajuda do documento
CC2530 Development Kit User’s Guide obteve-se:
• Potenciómetro ligado a IO_POT_R;
• IO_POT_R ligado a EM_POT_R;
• EM_POT_R ligado ao pino 17 do conector P5;
• Pino 17 do conector P1 corresponde a P0.7.
Assim conclui-se que deve ser utilizado o canal 7 do ADC.
Desenvolvimento do sistema
41
3) A função SampleApp_SendPeriodicMessage (void) é sempre chamada quando
o temporizador expira os 2 segundos. Assim, dentro desta usa-se a função
HalAdcRead, que retorna os valores do ADC para que seja necessário guardar
numa variável para nosso uso. Para que se possa utilizar esta função, é
necessário fazer um include da hal.adc.h. Estes dados foram guardados num
buffer de 3 bytes, sendo que o primeiro guarda o número de sequência do
pacote e nos outros 2 bytes é enviado o valor da leitura do ADC.
4) No código encontra-se um comando AF_DataRequest. Este é responsável
pelo envio dos pacotes para o coordenador. Assim foi necessário realizar
alterações de modo a que o buffer criado com valores do ADC seja enviado.
Para ser mais visível ao utilizador que o pacote está a ser enviado, é possível,
com a função HalLedSet, fazer com que um LED da SmartRF05EB pisque ou
troque de estado quando um pacote é enviado.
5) Na SampleApp os pacotes periódicos são enviados para todos os
endereços - envio modo broadcast. Como só é necessário enviar para o
coordenador, e este tem um endereço fixo igual a zero, basta alterar o
SampleApp_Periodic_DstAddr.addr.shortAddr presente no código para o valor
de “0x00” em vez de “0xFFFF”.
3.3.2 Z-Stack Home: ZigBee Home Automation Solutions
Zigbee Home é um dos perfis de aplicação pública concebidos para a especificação
ZigBee 2012. Este perfil pode ser implementado tanto para utilizadores iniciantes ou
profissionais de automação residencial. Esta implementação da TI inclui aplicações
exemplo para controlo de luzes, portas e temperatura.
3.3.2.1 Exemplo de um interruptor de luz
Neste exemplo é demonstrado como este sistema pode funcionar como um
interruptor de luz numa habitação. Os programas usados são o SampleSwitch e o
SampleLight. Tradicionalmente no ZigBee Home Automation o coordenador/router é
configurado como luzes enquanto os end devices interruptores são configurados como
Desenvolvimento do sistema
42
interruptores. Isto deve-se à necessidade de as luzes requererem uma fonte de
alimentação constante e os interruptores poderem ser usados com baterias, pois só
são atuados em curtos instantes.
Na Tabela 3-1 observa-se as interações com o utilizador no módulo coordenador
e na Tabela 3-2 as interações do end device. Quando os módulos são ligados, no
display aparece o endereço MAC, assim como também o nome do fabricante e nome
do programa.
Tabela 3-1 - Instruções da aplicação SampleLight.
Botão Funcionalidade Descrição SW1 Comuta estado Troca o estado da luz local SW2 EZ-Mode Inicia modo de ligação SW4 Comuta permit join Não necessário no uso de EZ-Mode SW5 Modo de ajuda Ajuda ao utilizador
Quando o coordenador forma a rede, pressionando em ambos módulos o
interruptor SW2 ao mesmo tempo, inicia-se a conexão entre os módulos através do
EZ-Mode. Quando esta conexão é concluída, a mensagem “EZMODE: SUCESS” aparece
no display.
Tabela 3-2 - Instruções da aplicação SampleSwitch.
Botão Funcionalidade Descrição SW1 Comuta estado Troca o estado da luz remotamente SW2 EZ-Mode Inicia modo de ligação SW5 Modo de ajuda Ajuda ao utilizador
Na Figura 3-10 pode-se observar o envio do comando a partir do end device, figura
do lado esquerdo, para que o coordenador realize um “toggle”, pressionando o botão
SW1, e desligue a luz. No lado esquerdo da figura pode-se encontrar informações
adicionais, tais como o PAN ID que é “EEEC”, o canal usado na comunicação que é o
“11” e por fim o endereço do módulo, que no coordenador por norma é zero.
Desenvolvimento do sistema
43
Figura 3-10 - End device no lado direito e coordenador no lado esquerdo.
3.3.2.2 Exemplo de uma fechadura eletrónica
Esta aplicação tem como intuito trancar ou destrancar uma porta através de um
PIN de 4 dígitos. Na Tabela 3-3 é visível a interação possível com o utilizador no módulo
coordenador com a aplicação SampleDoorLock. Na Tabela 3-4 consta a interação no
end device, que contém o programa SampleDoorLockController.
Tabela 3-3 – Instruções do SampleDoorLock.
Botão Funcionalidade Descrição SW1 Comutação local do estado Troca o estado da fechadura SW2 EZ-Mode Modo de ligação SW3 Menu PIN Configurador de PIN SW4 Comuta permit join Não necessário no uso de EZ-Mode SW5 Modo de ajuda Ajuda ao utilizador
Tabela 3-4 - Instruções SampleDoorLockController.
Botão Funcionalidade Descrição
SW1 Comutação remota do estado Envia remotamente o PIN para abrir ou fechar a fechadura
SW2 EZ-Mode Modo de ligação SW3 Menu PIN Configurador de PIN SW5 Modo de ajuda Ajuda ao utilizador
Esta aplicação funciona de modo semelhante à anteriormente mencionada,
SampleLight/SampleSwitch. Depois de ligados e pressionando o SW2, o EZ-Mode irá
Desenvolvimento do sistema
44
conectar-se automaticamente. Assim que conectados, a partir do interruptor SW1 é
possível enviar comandos para abrir ou fechar a porta.
A principal diferença desta aplicação é que o PIN tem de coincidir para que o
comando seja aceite, e assim deve-se configurar o “master PIN” desejado no
SampleDoorLock, ou seja, no coordenador. O PIN pode ser configurado quando é
pressionado o SW3. Em seguida aparece um segundo menu com indicações de como
configurar. Essas indicações estão presentes na Tabela 3-5.
Tabela 3-5 - Instruções de configuração PIN.
Botão Funcionalidade Descrição SW1 Incrementa número Incrementa o número selecionado SW3 Decrementa número Decrementa o número selecionado SW5 Próximo número / Grava Passa para próximo número e grava
O menu de configuração do PIN desejado é visível na Figura 3-11. Após serem
definidos os 4 dígitos de PIN, automaticamente o programa volta a apresentar o menu
principal no ecrã.
Figura 3-11 - Menu de configuração de PIN.
Caso o PIN não seja igual nos dois lados, aparece uma mensagem no coordenador,
como é possível observar na Figura 3-12 do lado esquerdo. Sendo assim, obtém-se
uma mensagem de erro no end device, como é visível na mesma figura do lado direito.
Desenvolvimento do sistema
45
Figura 3-12 - SampleDoorLock no coordenador e SampleDoorLockController no end device.
3.3.2.3 Exemplo de controlo de temperatura
A aplicação SampleThermostat é usada para controlo de temperatura. O
termostato é um componente que mede a temperatura e, com a definição de uma
temperatura, liga ou desliga, por exemplo, um ar condicionado. O SampleThermostat
encontra-se no coordenador e serve para ler as temperaturas que para si são enviadas.
Na Tabela 3-6 são visíveis as interações.
Um submenu aparece ao carregar-se no SW1 ou SW3 para predefinir os limites
de temperatura desejados. Quando gravado, voltamos ao menu principal.
Tabela 3-6 - Instruções do SampleThermostat.
Botão Funcionalidade Descrição
SW1 Temperatura predefinida de aquecimento
Temperatura a que o termostato é ativado e liga o aquecimento
SW2 EZ-Mode Modo de ligação
SW3 Definição de temperatura de arrefecimento
Temperatura a que o termostato é ativado e liga o arrefecimento
SW4 Comuta permit join Não necessário no uso de EZ-Mode SW5 Modo de ajuda Ajuda ao utilizador
Desenvolvimento do sistema
46
Tabela 3-7 - Instruções para definição de limites de temperatura do SampleThermostat.
Botão Funcionalidade Descrição
SW1 Incrementa temperatura Incrementa a temperatura com que o termostato vai ativar
SW3 Decrementa temperatura Decrementa a temperatura com que o termostato vai ativar
SW5 Gravar Grava a temperatura
A conexão entre estas aplicações realiza se do mesmo modo, pressionando o SW2
para ativar o EZ-Mode. Assim que conectados, o coordenador, que contém o
SampleThermostat, recebe a temperatura do SampleTemperatureSensor a cada 10
segundos.
O LED1 acende para temperaturas acima de 24° C e o LED2 acende para
temperaturas abaixo de 20° C por defeito. Estes LEDs simulam saídas, sendo o LED1 a
temperatura em que liga o arrefecimento e o LED2 a temperatura em que liga o
aquecimento. Estes valores podem ser alterados pelo utilizador com o auxílio da
Tabela 3-6. Estes LEDs acendem da mesma forma em outra aplicação, no
SampleHeatingCoolingUnit, pois está é uma unidade de controlo que conta com
comandos enviados a partir do SampleThermostat, que incluem: ciclo de
aquecimento, ciclo de arrefecimento ou sistema desligado. Por omissão, esta unidade
está no estado desligado. Na Figura 3-13 pode-se observar dois estados do
SampleHeatingCoolingUnit. Esta aplicação é executada por um router.
Figura 3-13 - Display SampleHeatingCoolingUnit.
Desenvolvimento do sistema
47
3.3.3 Z-Stack Energy: ZigBee Smart Energy Solutions
Este perfil abrange quatro aplicações exemplo da Z-Stack: GenericApp, SerialApp,
e TransmitApp Cada uma das aplicações da Z-Stack é um ponto de partida para o uso
da distribuição TI da pilha protocolar ZigBee, a fim de implementar uma aplicação
específica. Cada aplicação exemplo usa o mínimo de subconjuntos de ZDOs (ZigBee
Device Objects), interfaces públicas que seriam necessárias para implementar um
dispositivo razoavelmente viável em uma rede ZigBee.
Além disso, todas as aplicações exemplo utilizam funcionalidades da API OSAL:
comunicação inter e intra-tarefas, que envia e recebe mensagens, definição e receção
de eventos de tarefas, definição e receção de timer callbacks, com uso de memória
dinâmica, bem como outros. Estas aplicações também fazem uso das funcionalidades
da API HAL, para poder controlar o hardware.
3.3.3.1 GenericApp
O GenericApp proporciona um exemplo simples de estrutura de aplicação e de
fluxo de mensagem. Esta aplicação envia uma mensagem simples a cada 5 segundos.
A mensagem, "Olá Mundo", é enviada pelo ar para outro dispositivo. A mensagem só
pode ser vista com um packet sniffer.
Esta aplicação não é uma aplicação com grande complexidade, mas pretende ser
o ponto de partida para um utilizador construir a sua própria aplicação. Na Tabela 3-8
observa-se a interação com o utilizador, sendo este que escolhe o modo de ligação.
Tabela 3-8 - Instruções do GenericApp.
Botão Funcionalidade Descrição SW2 Hand Binding Modo de ligação SW4 Auto Find Modo de ligação
Desenvolvimento do sistema
48
3.3.3.2 SerialApp
O SerialApp é basicamente uma aplicação que permite a substituição de cabos
entre dois dispositivos não ZigBee. Um PC ou outro dispositivo não ZigBee transfere
dados por uma porta serial conectada a um dispositivo ZigBee que executa esta
aplicação.
Figura 3-14 - Modo de funcionamento da SerialApp.
Esta aplicação, em seguida, transmite o fluxo de dados da porta série pelo ar.
Outro dispositivo ZigBee, também correndo a aplicação SerialApp, recebe o fluxo de
dados e transmite-o pela porta série para um segundo dispositivo não ZigBee. A
transferência de dados em série é projetada para ser bidirecional, full-duplex e com
controlo de fluxo por hardware. Na Figura 3-14 visível o modo de funcionamento da
aplicação SerialApp.
Desenvolvimento do sistema
49
Com o auxílio de um programa Terminal1, escolhe-se a porta série a usar e as
configurações usadas pela aplicação, como o baud rate e a paridade, entre outros,
para iniciar a comunicação.
3.3.3.3 TransmitApp
A aplicação TransmitApp é usada para demonstrar o rendimento máximo da
comunicação sem fios através do envio de pacotes de dados tão rápido quanto a stack
permita. O aplicativo irá calcular tanto a taxa média de transmissão de dados, em
bytes por segundo, como o número total de bytes para ambos os pacotes transmitidos
e recebidos. Na Tabela 3-9 pode-se observar as instruções desta aplicação.
Tabela 3-9 - Instruções da TransmitApp.
Botão Funcionalidade Descrição SW1 Comuta transmissão Troca o estado da transmissão
SW2 Hand Binding Modo de ligação SW4 Limpar dados Limpa os valores da transmissão SW5 Auto Find Modo de ligação
Os módulos contêm um display de três linhas, em que nesta aplicação a linha um
contém os parâmetros 1 e 2 e na segunda linha os parâmetros 3 e 4. Cada parâmetro
informa:
• Parâmetro 1: Média de bytes a ser recebidos por segundo;
• Parâmetro 2: Número total de bytes recebidos;
• Parâmetro 3: Média de bytes a ser transmitidos por segundo;
1 O Terminal é um software para sistemas Windows comunicarem por porta série. O software
encontra-se disponível em: https://sites.google.com/site/terminalbpp/
Desenvolvimento do sistema
50
• Parâmetro 4: Número total de bytes transmitidos.
Resultados e discussão
52
4. Resultados e discussão
Com intuito de avaliar o alcance e fiabilidade de uma rede ZigBee baseada em
módulos CC2530EM num ambiente residencial e otimizar a quantidade e localização
dos nós na habitação, foram realizados vários testes em ambiente real. Este capítulo
descreve o código de teste implementado e os resultados obtidos.
4.1 Código de teste
Para execução de testes de alcance e fiabilidade foi implementado um código que
envia tramas de 50 bytes de um end device para o coordenador, com o propósito de
calcular a taxa de perda de pacotes. Neste teste o coordenador recebe 2000 tramas,
a 10 tramas por segundo. Os dados que são processados neste teste focam-se
somente no número de sequência da trama e no RSSI do sinal. Na Figura 4-1 é possível
observar-se o algoritmo de funcionamento do código para o teste de perdas no
coordenador, pois a função do end device consiste basicamente em emitir tramas
periodicamente.
Resultados e discussão
53
Figura 4-1 - Fluxograma do algoritmo no coordenador.
Uma variável de 16 bits, denominada sn16, é usada no contador, que contém o
número de sequência esperado. Assim, quando sn16 for igual a 2000 o programa
finaliza, imprimindo os resultados no display. O coordenador recebe o número de
sequência da trama acabada de chegar nos dois primeiros bytes do payload:
cmd.data[0] e cmd.data[1]. Só um byte não chegaria para este teste, pois 28 = 256 e
no teste é necessário enviar 2000 tramas. Assim, com o uso de 2 bytes, consegue-se
enviar até 216 = 65536 valores sem que haja overflow.
Caso a condição “cmd.Data[0]x256+cmd.Data[1]==sn16” seja verdadeira, o
algoritmo só incrementa o contador de tramas recebidas, enquanto no caso contrario
é calculada a diferença entre estes dois valores, que é acumulada na variável
“packetloss”. Além disso, o a variável sn16 toma o valor do número de sequência atual
(cmd.Data[0]x256+cmd.Data[1]) e, por fim, o contador é incrementado para que fique
com o próximo número de sequência a ser recebido.
Resultados e discussão
54
Para garantir que o programa funcionaria corretamente, realizou-se um teste
onde o end device, em vez de enviar uma sequência correta, envia uma sequência de
números impares. Assim, o coordenador obteve um PER (Packet Error Rate) de 50%,
como esperado num bom funcionamento. O mesmo aconteceu quando o envio da
sequência foi de três em três, em que o PER foi de 66.66%. O envio das tramas pode
ser confirmado com uma aplicação denominada Packet Sniffer e com o hardware que
acompanha este software – um dongle USB CC2531. Na Figura 4-2 são visíveis as
tramas capturados que foram enviadas entre os módulos.
Figura 4-2 - Tramas capturadas.
Assim é possível confirmar que as tramas enviadas contêm 50 bytes e verificar o
seu conteúdo.
4.2 Testes e resultados
O cenário escolhido para realizar os testes de alcance foi uma habitação, que pode
ser observada na Figura 4-3. Nesta figura podem-se igualmente verificar os trajetos
inicialmente definidos, usando dois módulos: um coordenador e um end device.
Resultados e discussão
55
Figura 4-3 - Disposição dos nós no primeiro esquema de testes.
Os resultados obtidos através do esquema definido na Figura 4-3 podem ser
observados na Tabela 4-1.
Tabela 4-1 - Resultados obtidos no primeiro teste, no canal 11.
Trajeto Teste Distância em Metros Nº Pacotes Perdidos PER Média RSSI
1 1
4,2 0 0,0% -80
2 0 0,0% -78
2 1
8,3 289 14,5% -91
2 315 15,8% -92
3 1
7,5 0 0,0% -62
2 0 0,0% -61
4 1
4,1 56 2,8% -64
2 75 3,8% -63
5 1
6,9 731 36,6% -95
2 843 42,2% -93
Este seria é um cenário favorável, uma vez que se usa um módulo por divisão;
contudo, existe um excesso de perdas em certos trajetos. Em cada trajeto foi realizado
dois testes idênticos. O ZigBee pode comunicar em vários canais de transmissão. O
canal em funcionamento neste teste era o canal 11. Como os resultados apresentam
Resultados e discussão
56
perdas elevadas em alguns trajetos, efetuou-se um estudo para analisar mais
profundamente se este era um bom canal para a transmissão. Na Figura 4-4 é visível
a comparação de canais entre ZigBee e Wi-Fi. Assim é possível obter uma comparação
da localização dos canais entre dois protocolos. Cada canal Wi-Fi tem 22 MHz de
espectro e sobrepõe-se sobre vários canais ZigBee.
Figura 4-4 - IEEE 802.15.4 (ZigBee) vs IEEE 802.11 (Wi-Fi).
Com ajuda do software Wi-Fi Scanner2, pode-se concluir que o canal 11 não é o canal
mais apropriado para transmitir dados. Na Figura 4-5, verifica-se que existem algumas
redes Wi-Fi pela habitação. A rede intitulada MEO é a rede Wi-Fi da habitação e
encontra-se a transmitir no canal 1, que se sobrepõe ao canal 11 do ZigBee. O canal
em funcionamento do Wi-Fi pode diferir dependendo da configuração do wireless
router. Este é possível ser alterado ou deixar em modo automático e o router escolher
qual o mais apropriado. Outras redes presentes usam outros canais de transmissão,
mas não com a mesma intensidade, e, assim, não causam interferência tão
significativa para os módulos ZigBee.
2 O Wi-Fi Scanner é um software que mostra onde se encontram na banda de frequências as redes
Wi-Fi. O software encontra-se disponível através em: http://wifiscanner.com/wifiscanner.html
Resultados e discussão
57
Figura 4-5 - Redes Wi-Fi presentes na habitação.
Outros aparelhos, como o forno de micro-ondas, também podem criar
interferência. Com o uso do software Chanalyzer da Metageek e do analisador de
espectro Wi-Spy 2.4x USB foi possível verificar todas as interferências e em que
frequências operam. Na Figura 4-6 é possível observar-se o espectro na habitação na
banda de 2.4 GHz durante o funcionamento do forno micro-ondas e da rede Wi-Fi. A
janela 1 mostra onde se encontra a rede Wi-Fi, com picos que ultrapassam os 40 dBm,
e na janela 2 está presente a interferência do micro-ondas quando se encontra em
funcionamento. Neste momento as placas de desenvolvimento não se encontravam a
transmitir. O espectro da Figura 4-6 foi recolhido na cozinha, zona do trajeto 5.
Resultados e discussão
58
Figura 4-6 - Espectro da banda 2.4 GHz com as fontes de interferência.
Após conhecimento das interferências presentes, foi então escolhido o canal 25
para os testes seguintes. Com o mesmo esquema da Figura 4-3 e com o mesmo código
de teste, obtiveram-se os resultados presentes na na Tabela 4-2.
Tabela 4-2 - Resultados obtidos no canal 25 com o forno de micro-ondas desligado.
Trajeto Teste Distância em Metros Nº Pacotes Perdidos PER Média RSSI
1 1
4,2 0 0,0% -66
2 0 0,0% -68
2 1
8,3 0 0,0% -71
2 0 0,0% -71
3 1
7,5 0 0,0% -83
2 0 0,0% -78
4 1
4,1 0 0,0% -69
2 0 0,0% -71
5 1
6,9 0 0,0% -80
2 0 0,0% -78
É notório que os resultados foram bem mais satisfatórios com a escolha do canal
25. Conseguiu-se transmitir nos trajetos 2 e 5 com PER de 0,0%, onde no teste anterior,
o PER obtido era alto. Contudo, neste teste, quando o forno de micro-ondas se
encontrava em funcionamento, existiam perdas de pacotes no trajeto 5, conforme
indicado na Tabela 4-3.
Resultados e discussão
59
Tabela 4-3 - Resultados obtidos no trajeto 5 com o forno de micro-ondas ligado.
Trajeto Teste Distância em Metros Nº Pacotes Perdidos PER Média RSSI
5 1
6,9 11 0,6% -90
2 7 0,4% -88
Sendo assim, mesmo com o ZigBee em funcionamento em frequências diferentes
às do forno de micro-ondas, houve perdas de pacotes, devido ao acumular à distância
e aos obstáculos no trajeto entre o end device e o coordenador.
No ZigBee, na banda de frequências dos 2.4 GHz, ainda existe o canal 26, mais à
direita no espectro de frequências. Este canal foi testado nesta situação devido a estar
mais distante da interferência produzida pelo forno de micro-ondas. Contudo, os
resultados foram semelhantes não sendo necessário repetir o teste a todos os trajetos
por não trazer vantagens.
Optou-se por abordar uma nova topologia, adicionando um router e dividindo-se
o trajeto 5 em duas partes (6 e 4), como é visível na Figura 4-7.
Figura 4-7 - Disposição dos nós no segundo esquema de testes.
Resultados e discussão
60
Com esta topologia, as perdas criadas pelo micro-ondas deixaram de existir,
obtendo-se um PER nulo nos dois testes realizados. Assim, conclui-se que com esta
topologia pode-se comunicar em toda a área da habitação sem quaisquer perdas.
A Figura 4-8 apresenta o espectro que se encontra na habitação com todas as
fontes RF ativas, estando visível na janela inferior o espectro dos módulos ZigBee
usando o canal 25.
Figura 4-8 - Espectro da banda de 2.4 GHz com todas as fontes de RF ativas.
Conclusões
63
5. Conclusões
O desenvolvimento de sistemas baseado em redes de sensores sem fios tem vindo
a crescer ao longo do tempo devido às necessidades do mercado. Cada vez mais se
requerem sistemas que minimizem o consumo energético e que ao mesmo tempo
consigam manter a fiabilidade dos dados enviados e recebidos.
Inicialmente foi proposto fazer um estudo do estado da arte do tema de modo a
conhecer as diferentes tecnologias, incluindo tecnologias com fios, sem fios e
powerline, sendo que no total foram analisadas 7 tecnologias. Foi realizado um estudo
a nível de características e performance. Foi apresentado como cada tecnologia
funciona, vantagens e desvantagens perante o ZigBee. Neste estudo deu para
entender que existem outras tecnologias semelhantes e com bastante potencial.
O foco principal desta dissertação visava em apresentar as tecnologias de
comunicação presentes no mercado com aplicação no domínio da domótica,
comparar, implementar e testar o uso de uma tecnologia que vem crescendo ao longo
dos anos, o ZigBee.
Após demonstrar que o ZigBee é uma das tecnologias que melhor se encaixa na
área da automação residencial, foram apresentados trabalhos realizados com esta
tecnologia.
Ficou claro que a Z-Stack acompanhada pelo ZigBee é bastante completa, e a parte
mais fulcral é a facilidade que um simples utilizador pode implementar um sistema
destes em sua própria casa. Foi documentado como pode ser realizado a integração
numa habitação e executados testes.
Estes testes foram realizados para que um simples utilizador perceba o que
poderá levar um sistema ZigBee a ter interferências e como as ultrapassar, como aqui
foi realizado.
Conclusões
64
Como trabalho futuro, propõe-se investigação no sentido de realizar uma casa
totalmente automatizada e criar uma habitação capaz de precaver problemas e
resolver automaticamente pois, o ZigBee contém muitas capacidades que aqui ainda
não foram demonstradas.
Referências
66
Referências
[1] C. Gomez and J. Paradells, “Wireless Home Automation Networks: A Survey of
Architectures and Technologies”, IEEE Communications Magazine, 2010.
[2] A. Molina, E. G. Lazaro and A. Bonastre, “Application of Wireless Sensor Network
to Direct Load Control in Residential Areas”, IEEE International Symposium on,
2007.
[3] Gill, Khusvinder, Yang, Shuang-Hua, Yao, Fang, Lu, Xin, “A zigbee-based home
automation system”, Volume: 55, Issue: 2, IEEE Transactions on Consumer
Electronics, 2009.
[4] Electronica PT. (2015) [Online]. Pagina disponıvel em: http://www.electronica-
pt.com/content/view/67/
[5] Adene, agência para a energia. (2015) [Online]. Pagina disponıvel em:
http://www.adene.pt/sites/default/files/guiaee_v1310.pdf
[6] Honeywell. (2015). Smart House. Safe Home. [Online]. Pagina disponıvel em:
http://homesecurity.honeywell.com/home_security.html.
[7] Chen AH, Huang SY, Hong PS, Cheng CH, Lin EJ. “HDPS: Heart disease prediction
system”, Computing in Cardiology, 2011; 38, pp. 557–560.
[8] P. Macedo, J. A. Afonso, L. A. Rocha, R. Simões, "A Telerehabilitation System
Based on Wireless Motion Capture Sensors", International Conference on
Physiological Computing Systems (PhyCS 2014), Lisbon, Portugal, January 2014.
[9] O. Gama, P. Carvalho, J. A. Afonso, P. M. Mendes, “Quality of Service in Wireless
e-Emergency: Main Issues and a Case-study”, 3rd Symposium of Ubiquitous
Computing and Ambient Intelligence, 2009.
[10] Imamul Arefeen, Abdus Samad and Asadujjaman Nur,”The power line home
automation type communication system for voice communication and data
transmission using an existing power line”, The 9th International Forum on
Referências
67
Strategic Technology (IFOST), 2014.
[11] Dange, H.V.; Gondi, V.K., “Powerline Communication Based Home Automation
and Electricity Distribution System”, Process Automation, Control and
Computing (PACC) International Conference, 2011.
[12] Chathura Withanage, Rahul Ashok, Chau Yuen and Kevin Otto, “A Comparison of
the Popular Home Automation Technologies”, IEEE Conference on Innovative
Smart Grid Technologies, 2014.
[13] Joern Ploennigs, Uwe Ryssel, and Klaus Kabitzsch, “Performance Analysis of the
EnOcean Wireless Sensor Network Protocol”, IEEE Conference on Emerging
Technologies and Factory Automation (ETFA), 2010.
[14] Thomas Gonnot and Jafar Saniie, “User Defined Interactions between Devices
on a 6LoWPAN Network for Home Automation”, IEEE International Technology
Management Conference, 2014.
[15] ZigBee Alliance. (2015) [Online]. Pagina disponıvel em:
https://docs.zigbee.org/zigbee-docs/dcn/05/docs-05-3767-00-0mwg-zigbee-
network-layer-technical-overview.pdf
[16] Microchip. (2015) [Online]. Pagina disponıvel em:
http://www.microchip.com/forums/download.axd?file=0;193947
[17] Amol Baviskar, Jaypal Baviskar, Swapnil Wagh, Afshan Mulla, Piyush Dave,
“IComparative Study of Communication Technologies for Power Optimized
Automation Systems: A Review and Implementation”, Fifth International
Conference on Communication Systems and Network Technologies, 2015.
[18] IEEE Std 802.11 2012, “IEEE Standard for Information technology--
Telecommunications and information exchange between systems Local and
metropolitan area networks--Specific requirements Part 11: Wireless LAN
Medium Access Control (MAC) and Physical Layer (PHY) Specifications”.
[19] Z-Wave Alliance. (2015) [Online]. Pagina disponıvel em: http://z-
wavealliance.org/z-wave_alliance_history/.
Referências
68
[20] Enocean Alliance. (2015) [Online]. Pagina disponıvel em: http://www.enocean-
alliance.org/en/home/.
[21] M. Knight, "Wireless security - How safe is Z-wave?" Computing & Control
Engineering Journal, Volume: 17, Issue: 6, 2006.
[22] Satoshi Kawaguchi, Masanori Kojima, Kunihiro Yamada, "Mutually
Complementary Network System between Wired and Wireless Communication
for Home Appliances", The 13th IEEE International Symposium on Consumer
Electronics, 2009.
[23] Pedro Amaro, Rui Cortesao, Jorge Landeck, Paulo Santos, “Implementing an
Advanced Meter Reading infrastructure using a Z-Wave compliant Wireless
Sensor Network”, 3rd International Youth Conference on Energetics (IYCE),
2011.
[24] P. Ferreira, H. F. López, J. A. Afonso, "Sistema de Sensorização Móvel e Controlo
baseado em ZigBee para Bicicletas Elétricas", Seminário Anual de Automação,
Eletrónica Industrial e Instrumentação (SAAEI 2012), Guimarães, Portugal, Julho
2012.
[25] Yiming, Zhou, et al. "A design of greenhouse monitoring & control system based
on ZigBee wireless sensor network." IEEE International Conference on Wireless
Communications, Networking and Mobile Computing (WiCom 2007), 2007.
[26] H. F. López, J. A. Afonso, J. H. Correia, R. Simões, “HM4All: A Vital Signs
Monitoring System based in Spatially Distributed ZigBee Networks”, 4th
International Conference on Pervasive Computing Technologies for Healthcare
(PervasiveHealth 2010), Munique, Alemanha, March 2010.
[27] P. Macedo, J. A. Afonso, “Simulation Analysis of IEEE 802.15.4 for Wireless
Networked Control Systems”, 35th Annual Conference of the IEEE Industrial
Electronics Society (IECON 2009), Porto, Portugal, November 2009.
[28] Khusvinder Gill, Shuang-Hua Yang, Fang Yao, and Xin Lu, “A ZigBee-Based Home
Automation System”, IEEE Transactions on Consumer Electronics, Vol. 55, No. 2,
May 2009.
Referências
69
[29] J. A. Afonso, “Integracao de Sistemas de Comunicacoes”, Universidade do
Minho, 2013.
[30] Texas Instruments, “CC2530 Development Kit User’s Guide (swru208b)”, 2010
[31] Texas Instruments, “SmartRF05 Evaluation Board User’s Guide (SWRU210A)”,
2010.
[32] AR Systems. (2015). IAR Embedded Workbench for 8051 [Online]. Pagina
disponıvel em: http://www.iar.com/ew8051/.
[33] José A. Afonso, Filipe Rodrigues, Pedro Pereira, Henrique Gonçalves and João L.
Afonso, “Wireless Monitoring and Management of Energy Consumption and
Power Quality Events”, World Congress on Engineering (WCE 2015), July 2015.
[34] L. A. Rocha, J. A. Afonso, P. M. Mendes, J. H. Correia, “A Body Sensor Network
for E-Textiles Integration”, EUROSENSORS XX, Gothenburg, Sweden, September
2006.
[35] World Health Organization, Rising health care costs due to technology [Online].
Página Disponível: http://www.euro.who.int/en/who-we-are/regional-
director/news/news/2011/03/rising-health-care-costs- due-to-technology2.
[36] The Economist, The Future of Healthcare in Europe, 2011 [Online]. Página
Disponível: http://www.eufutureofhealthcare.com/.
[37] H. Fernandez-Lopez, J. A. Afonso, J. H. Correia and R. Simoes, “ZigBee-based
Remote Patient Monitoring”, Studies in Health Technology and Informatics,
pHealth, IOS Press 2012, 2012.
[38] Amadeu S. L. Fernandes, “Comunicacao Ad Hoc em Equipas de Robos Moveis
Utilizando a Tecnologia ZigBee”, Dissertação de Engenharia Eletrotecnica e de
Computadores, Universidade de Coimbra, 2012.
[39] Diogo Gomes, Jose A. Afonso, Helena Fernandez-Lopez, “Experimental
Evaluation of ZigBee and IEEE 802.15.4 for Data-Intensive Body Sensor
Networks”, Seminar on Automation, Industrial Electronics and Instrumentation,
2012.
Referências
70