Você está na página 1de 38

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

INSTITUTO DE INFORMTICA
CURSO DE CINCIA DA COMPUTAO

RODRIGO HOMMERDING ESCHNER

Sistema de Automao Residencial Baseado


em Sensores ZigBee

Trabalho de Diplomao.

Prof. Dr. Joo Cesar Netto


Orientador

Porto Alegre, 5 de dezembro de 2011.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL


Reitor: Prof. Carlos Alexandre Netto
Vice-reitor: Prof. Rui Vicente Oppermann
Pr-Reitora de Graduao: Prof. Valquria Linck Bassani
Diretor do Instituto de Informtica: Prof. Lus da Cunha Lamb
Coordenador do CIC: Prof. Raul Fernando Weber
Bibliotecria-Chefe do Instituto de Informtica: Beatriz Regina Bastos Haro

Dinheiro at pode trazer felicidade mas no satisfao! A


satisfao vem quando ele conqusitado honestamente!
Israel Ziller

SUMRIO

LISTA DE FIGURAS .......................................................................................... 6


LISTA DE TABELAS ......................................................................................... 7
LISTA DE ABREVIATURAS E SIGLAS ............................................................ 8
RESUMO............................................................................................................ 9
ABSTRACT...................................................................................................... 10
1 INTRODUO ........................................................................................... 11
1.1 Contextualizao .................................................................................................. 11
1.2 Motivao ............................................................................................................. 11
1.3 Objetivo Principal do Trabalho ......................................................................... 12
2 PRINCIPAIS CONCEITOS RELACIONADOS ........................................... 13
2.1 O Padro ZigBee .................................................................................................. 13
2.1.1 Camada Fsica .................................................................................................... 14
2.1.2 Camada MAC ..................................................................................................... 14
2.1.3 Camada de Rede ................................................................................................. 15
2.1.4 Camada de Aplicao ......................................................................................... 15
2.1.5 Caractersticas ..................................................................................................... 16
2.1.6 Funcionamento ................................................................................................... 16
2.1.7 Topologias de Rede ............................................................................................ 17
2.2 Mdulo XBee ........................................................................................................ 18
3 IMPLEMENTAO DO PROJETO ............................................................ 21
3.1 Funcionamento Geral do Sistema ...................................................................... 21
3.2 Sensores e Dispositivos ZigBee ........................................................................... 22
3.2.1 Sensor de Movimento ......................................................................................... 22
3.2.2 Sensor de Chuva ................................................................................................. 23
3.2.3 Sensor de Temperatura ....................................................................................... 23
3.2.4 Dispositivos ........................................................................................................ 24
3.3 Arquitetura do Sistema ....................................................................................... 25
3.4 Sistema de Automao ........................................................................................ 26
3.4.1 Configrao dos Mdulos XBee ........................................................................ 26
3.4.2 Cadastro dos Componentes ................................................................................ 26
3.4.3 Configurao do Cenrio .................................................................................... 27

3.4.4
3.4.5
3.4.6

Sensores .............................................................................................................. 29
Acionamento ....................................................................................................... 29
Estrutura do Software ......................................................................................... 30

4 CONCLUSES E TRABALHOS FUTUROS ............................................. 32


4.1 Concluses ............................................................................................................ 32
4.2 Trabalhos Futuros ............................................................................................... 32
REFERNCIAS ................................................................................................ 34
APNDICE 1 - DIAGRAMA DE CASOS DE USO ........................................... 35
APNDICE 2 - DIAGRAMA ER ....................................................................... 38

LISTA DE FIGURAS

Figura 2.1: Camadas do padro ZigBee (KAUR, AHUJA, 2011) ..................................13


Figura 2.2: Topologia estrela ...........................................................................................17
Figura 2.3: Topologia em rvore .....................................................................................17
Figura 2.4: Topologia em malha......................................................................................18
Figura 2.5: Mdulo XBee-PRO .......................................................................................18
Figura 2.6: Estrutura do frame XBee ..............................................................................19
Figura 3.1: Viso geral do funcionamento do sistema ....................................................22
Figura 3.2: Sensor de movimento com o mdulo XBee .................................................23
Figura 3.3: Sensor de chuva junto ao mdulo XBee .......................................................23
Figura 3.4: Componente LM34 conectado ao mdulo XBee ..........................................24
Figura 3.5: Prottipo do dispositivo acionador ............................................................... 25
Figura 3.6: XBee Dongle .................................................................................................25
Figura 3.7: Cadastro dos sensores e dispositivos ............................................................27
Figura 3.8: Configurao do cenrio por sensor.............................................................. 28
Figura 3.9: Adio de regras e de dispositivos ................................................................ 29
Figura 3.10: Threads do mdulo de controle ...................................................................30
Figura A1.1: Diagrama de casos de uso do sistema ........................................................35
Figura A2.1: Diagrama ER do sistema ............................................................................38

LISTA DE TABELAS

Tabela 2.1: Faixas de frequncia do padro IEEE 802.15.4............................................14


Tabela 2.2: Principais comandos XBee ...........................................................................20

LISTA DE ABREVIATURAS E SIGLAS

AES

Advanced Encryption Standard

API

Aplication Program Interface

APS

Application Support Sublayer

CSMA-CA

Carrier Sense Multiple Access with Collision Avoidance

GTS

Guaranteed Time Slot

IEEE

Institute of Electrical and Electronics Engineers

JSP

Java Server Pages

LED

Light Emitting Diode

MAC

Medium Access Control

OSI

Open Systems Interconnection

PAN

Personal Area Network

PDU

Protocol Data Unit

PHY

Physical Layer

RF

Radio Frequency

USB

Universal Serial Bus

VCC

Voltagem Corrente Contnua

ZDO

ZigBee Device Object

RESUMO

Aps presenciar o avano da automao industrial e predial, o Brasil est buscando,


cada vez mais, os servios de automao residencial, um mercado emergente no pas.
Porm, a maioria dos sistemas atuais se limita possibilidade de controlar a residncia
com a interveno do usurio, utilizando poucos recursos que atuam de forma realmente
automtica.
Este trabalho consiste na implementao de um sistema de automao residencial
baseado em diversos tipos de sensores sem fio. A atuao do sistema ocorre de forma
automtica, somente com as informaes adquiridas desses sensores (movimento,
temperatura, umidade, luminosidade, entre outros). Eles utilizam o protocolo ZigBee
como meio de comunicao, formando uma rede de sensores sem fio.

Palavras-Chave: Automao Residencial, ZigBee, Sensores.

ABSTRACT

After witnessing the advance of industrial automation, Brazil is seeking the services
of home automation, an emerging market in the country. However, most current
systems are limited to controlling the residence with user intervention, with few
resources that works automatically.
This work consists in the implementation of a home automation system based on
various types of wireless sensors. The operation of the system occurs automatically,
only with the information acquired from these sensors (motion, temperature, humidity,
luminosity, etc.). They use the ZigBee protocol to communicate, forming a network of
wireless sensors.

Keywords: Home Automation, ZigBee, Sensors.

1 INTRODUO

1.1 Contextualizao
As reas de automao, tanto residencial como industrial, vem buscando cada vez
mais as novas tecnologias de comunicao sem fio. Em funo disso, o mercado de
redes de transmisso de dados tambm est se expandindo, principalmente em redes
sem fio para ambientes locais. Nesse contexto, foi criado o protocolo ZigBee, com o
objetivo de padronizar o desenvolvimento de produtos nessa rea.
O mercado de automao residencial est em um grande momento, impulsionado
por essas novas tecnologias sem fio, que proporcionam uma grande facilidade,
principalmente na instalao, pois evita a necessidade de reformas na residncia. Outro
grande motivo dessa expanso a reduo dos custos dessas tecnologias, o que est
tornando o mercado de automao cada vez mais popular e acessvel.
O protocolo ZigBee um dos fatores que influenciou essa reduo do custo de
desenvolvimento de sistemas de automao sem fio, pois at ento s existiam sistemas
que utilizavam protocolos fechados e especficos para uma determinada soluo.

1.2 Motivao
Apesar da evoluo da tecnologia ter impulsionado o mercado de automao
residencial, a maioria dos sistemas existentes se limita no controle da residncia pela
interveno do usurio, seja pelo celular, internet ou algum tipo de painel de controle.
Poucas so as solues que atuam de forma realmente automtica, e quando existem,
elas atuam de forma local, por exemplo, um sensor de luminosidade em uma lmpada
especfica que ligar quando o nvel de luz for baixo.
Alm disso, muitas solues de automao residencial oferecem as possibilidades de
configurao e agendamento bastante engessadas, em alguns casos obrigando o
usurio a acionar a empresa responsvel pelo sistema para alterar alguma funo
programada.
Levando em considerao esse contexto, o presente trabalho prope desenvolver
uma soluo que atua de forma automtica e inteligente, limitando ao mximo a
interferncia do usurio.

12

1.3 Objetivo Principal do Trabalho


O objetivo do trabalho desenvolver um sistema de automao baseado em sensores
sem fio, que tem como base na sua comunicao o protocolo ZigBee. O diferencial
desse sistema a forma automtica de sua atuao, pois todas as funes so executadas
de acordo com as informaes de sensores espalhados pela residncia. O nico
momento de interao direta do usurio com o sistema ser no momento de configurar
as regras dos sensores e suas aes para serem aplicadas automaticamente.
Para o desenvolvimento dessa soluo, necessrio adaptar diferentes tipos de
sensores para que eles se comuniquem com uma central de controle via protocolo
ZigBee. Nessa central ficar instalado o software de automao, que realizar o
processamento de todas as informaes e o gerenciamento das funes da residncia.

2 PRINCIPAIS CONCEITOS RELACIONADOS

2.1 O Padro ZigBee


O ZigBee um padro desenvolvido pela ZigBee Alliance, uma associao formada
por grandes empresas do ramo de tecnologia, que trabalham em conjunto no
desenvolvimento dessa alternativa de comunicao sem fio. Conforme a prpria ZigBee
Alliance (2008) essa tecnologia fruto de esforos de empresas com necessidades em
comum em torno de um padro de comunicao simples e robusto.
De acordo com Farahani (2008) o principal alvo do padro ZigBee aplicaes no
muito complexas que necessitam de baixo consumo de energia, baixas taxas de
transferncias e baixo custo.
O ZigBee utiliza a norma IEEE 802.15.4, homologada em maio de 2003, como
camada fsica e camada de acesso ao meio, onde proposta uma comunicao de
dispositivos sem fio com baixa taxa de transferncia em uma PAN (Personal Area
Network).

Figura 2.1: Camadas do padro ZigBee (KAUR, AHUJA, 2011).

14

2.1.1 Camada Fsica


Segundo o modelo OSI, a camada fsica, tambm conhecida como PHY (Physical
Layer), tem a responsabilidade de tratar a transmisso dos dados brutos por meio de um
canal de comunicao. Para isso, preciso definir uma srie de parmetros, como, por
exemplo, modulao e taxa e transferncia, necessrios para estabelecer esse vnculo.
O padro IEEE 802.15.4 oferece diferentes faixas de frequncia, que so aplicadas
de acordo com regio. Nos Estados Unidos, a frequncia utilizada de 902928 MHz,
possibilitando uma taxa de 40kbps. Na Europa, usa-se a frequncia 868868.6 MHz,
que atinge uma taxa de 20kbps. J a frequncia 24002483.5 MHz usada em todo o
mundo, a taxa nesse caso de 250kbps. A modulao tambm varia de acordo com a
regio, conforme a tabela abaixo.
Tabela 2.1: Faixas de frequncia do padro IEEE 802.15.4
Camada Fsica

Frequncia

Canais

868/915 MHz

868-870 MHz

20

BPSK

902-928 MHz

1-10

40

BPSK

2.4-2.4835 GHz

11-26

250

O-QPSK

2.4 GHz

Taxa de bit Modulao


(Kbits/s)

2.1.2 Camada MAC


A camada de controle de acesso ao meio (MAC) tem as seguintes responsabilidades:
gerenciar
o
acesso
ao
canal,
sincronizao
de
beacons
(baliza),
validao/reconhecimento do quadro e de associao/desassociao de dispositivos na
rede.
Segundo Farahani (2008), existem dois mtodos de acesso ao canal: baseado em
conteno e livre de conteno.
No modelo baseado em conteno, o dispositivo comea a transmitir
imediatamente se verificar que o meio est livre, utilizando o mecanismo
CSMA-CA, que possui, em alguns casos, um tempo de conteno para
iniciar a transmisso efetiva dos dados.
No mtodo livre de conteno, o coordenador da PAN define um intervalo de
tempo para cada dispositivo. Esse intervalo, chamado de guaranteed time
slot (GTS), possibilita ao dispositivo realizar a transmisso sem a
necessidade do protocolo CSMA-CA, logo sem necessidade de conteno.
Porm, necessrio que todos os dispositivos da rede estejam sincronizados
para que esse mtodo funcione. Isso feito atravs de um pacote especial e
controle, chamado de beacon, que enviado pelo coordenador.
Para o ZigBee, a grande vantagem do modelo livre de conteno, tambm conhecido
como beaconned, a economia de energia, pois o dispositivo pode ficar no estado
dormente (sleep) enquanto no estiver no seu determinado slot. J o modo que utiliza
CSMA-CA, ou modo non-beaconned, necessrio que os dispositivos do tipo roteador
estejam sempre ativos, impossibilitando poupar energia com a funcionalidade sleep.

15

2.1.3 Camada de Rede


A camada de rede responsvel por duas funes, o transporte de dados e tambm o
suporte as aplicaes dos dispositivos ZigBee. Segundo TEIXEIRA, 2006, algumas
funcionalidades lhe foram concedidas para desempenhar esse papel:
Network Scan: Capacidade de um dispositivo de detectar um ou mais canais
ativos em sua faixa de comunicao;
Creating/Joining a PAN: Criar uma rede local e ingressar em uma j
existente;
Device Discovery: Capacidade de encontrar dispositivos sobre o canal ativo
na PAN;
Service Discovery: Descoberta de um servio e a capacidade de determinar
quais os servios so suportados pelos dispositivos dentro de uma rede;
Binding: Capacidade de se comunicar no nvel da aplicao com outro
dispositivo da rede.

2.1.4 Camada de Aplicao


A camada de aplicao a camada de mais alto nvel definida pela especificao
ZigBee. Ela pode ser dividida em trs elementos: subcamada de suporte a aplicao
(APS), Application Framework e ZigBee Device Object.
Subcamada de Suporte a Aplicao (APS): fornece uma interface entre a
camada de rede e aplicao. responsvel por gerenciar a tabela de ligao,
mantendo uma base de dados com os dispositivos conectados na rede.
Tambm sua funo prover a transmisso de dados (PDUs) entre dois
dispositivos na mesma rede. Para isso ele realiza a fragmentao e
remontagem das PDUs, alm dos servios de segurana.
Application Framework: o ambiente onde so alocados os objetos de
aplicao ZigBee (Application Objects). Esses objetos possuem funes
definidas pelos fabricantes, incluindo primitivas de servio de dados como
request, response, confirm. Cada objeto representa um tipo (ou profile) de
aplicao diferente, que definido para um nico dispositivo ZigBee,
possvel armazenar at 240 objetos de aplicao distintos em um dispositivo.
ZigBee Device Object (ZDO): implementa o profile do dispositivo
proporcionando as funcionalidades bsicas que permitem a comunicao
entre a APS e os objetos de aplicao. Tambm responsvel por descobrir e
identificar os servios oferecidos por novos dispositivos na rede.
Application Profiles so definies de formatos de mensagens e processamento de
aes que possibilitam a interoperabilidade entre dispositivos. obrigatrio que
qualquer dispositivo na rede ZigBee implemente um profile.
J os Application Objects encapsulam um conjunto de atributos que representam o
estado do dispositivo e tambm funcionalidades (servios) para ler/escrever nesses
atributos.

16

2.1.5 Caractersticas
O padro ZigBee possui diversas funcionalidades que foram desenvolvidas para
atender as necessidades do mercado, principalmente da rea de automao. Algumas
das principais caractersticas do ZigBee so:
Baixo consumo de energia: possui a habilidade de operar no modo sleep,
podendo reduzir o consumo de energia de 70 mili amperes para 6 micro
amperes;
Baixo custo: possui uma pilha de protocolo de fcil implementao;
Grande quantidade de ns: possvel ter 65535 ns em uma nica rede;
Diferentes topologias de rede: estrela, rvore ou malha;
Baixa latncia: tempo pequeno de ligao a rede e rapidez na transio do
modo de espera (sleep) para o modo ativo (30 milisegundos ou menos);
Dois modos de operao da rede: beaconing e non-beaconing;
Segurana e confiabilidade: possui recursos de encriptao com a
implementao do padro AES (Advanced Encryption Standard) de 128 bits;

2.1.6 Funcionamento
Para entender o funcionamento de uma rede ZigBee, se faz necessrio conhecer os
trs tipos de ns que a rede pode possuir. Os trs tipos de n so: roteador, dispositivo
final ou coordenador.
O dispositivo coordenador (coordinator) o agente central da rede, o n que cria e
gerencia uma rede ZigBee. Existe apenas um nico coordenador por rede, sendo ele o
responsvel por concentrar as informaes de interesse da aplicao, por isso ele possui
uma maior capacidade computacional. O coordenador quem determina o identificador
da rede (PAN ID) e este valor dever ser utilizado por todos os equipamentos que
desejam fazer parte da mesma rede.
Os dispositivos roteadores (router) possuem o importante papel de redirecionar os
pacotes entre os ns da rede que no conseguem se comunicar diretamente. Isso permite
a expanso da rede do ponto de vista fsico.
Dispositivos finais (end devices) so aqueles que desempenham as funes de
sensores ou atuadores da rede. Esses dispositivos podem se comunicar somente com os
roteadores e o coordenador.
Uma das principais funcionalidades dos dispositivos finais a possibilidade de
operar no modo sleep, o que reduz de forma significativa o consumo de energia eltrica.
Esse tipo de dispositivo projetado para ficar a maior parte do tempo nesse modo,
sendo que a transao para o modo ativo extremamente rpida, cerca de 30
milissegundos.

17

2.1.7 Topologias de rede


De acordo com Farahani (2008), as aplicaes que utilizam como base o IEEE
802.15.4 podem suportar as topologias estrela e ponto-a-ponto, sendo que nesta ltima
possvel formar redes mais complexas como rvores e malha.
Na topologia estrela (star) diversos dispositivos se comunicam apenas com o
coordenador da rede. Nesta topologia os dispositivos finais no conseguem se
comunicar entre si, somente por intermdio do coordenador, por esse motivo esta
topologia utilizada geralmente em aplicaes de baixa complexidade.

Figura 2.2: Topologia estrela.


Na topologia do tipo ponto-a-ponto, os dispositivos de uma mesma rede podem se
comunicar entre si diretamente, sem a necessidade do coordenador. Nesse caso,
possvel organizar a rede em duas outras topologias: rvore ou malha.
Nas redes em rvore (cluster tree) utilizada uma estratgia de roteamento
hierrquico, onde o coordenador se comunica com os mdulos roteadores e esses com
os dispositivos finais. Com a utilizao dos roteadores possvel expandir a rede
geograficamente, porm os roteadores no se comunicam entre si nesse modelo, apenas
com o coordenador.

Figura 2.3: Topologia em rvore.


A rede em malha (mesh) considerada uma extenso da topologia em rvore. Nela
os roteadores podem se comunicar diretamente, sem a necessidade de passar pelo
coordenador. Com isso possvel expandir a rede indefinidamente, apenas
acrescentando mais roteadores. Outra vantagem a redundncia na comunicao, caso
um roteador perca a conexo, possvel redirecionar as mensagens por uma rota
alternativa.

18

Figura 2.4: Topologia em malha.

2.2 Mdulo XBee


Para implementao do sistema de automao, foi utilizado um mdulo de rdio
frequncia XBee. Esse dispositivo foi desenvolvido em 2005 pela empresa Digi
International, fabricante de dispositivos de comunicao sem fio.
O XBee um mdulo que possui o protocolo ZigBee embarcado no prprio
microcontrolador. Esse mdulo disponibilizado em dois modelos, sendo eles XBee e
XBee-PRO, onde ambos possuem as mesmas funcionalidades. A diferena entre eles
est apenas na potncia de transmisso.

Figura 2.5: Mdulo XBee-PRO.


Cada mdulo possui diversos pinos de I/O que podem ser configurados para atuar
como leitores ou acionadores (input ou output respectivamente). Esses pinos so o meio
com que o mdulo se comunica com o ambiente externo, no caso desse projeto, os
sensores e os dispositivos atuadores.

19

Alm de poder operar em diferentes topologias, o mdulo tambm implementa a


funcionalidade de sleep mode, o que permite que ele seja alimentado por pilhas ou
baterias, obtendo uma autonomia de meses ou at anos.
O formato dos dados enviados na comunicao entre os XBees especificado por
uma API (Aplication Program Interface), o que facilita o gerenciamento dos mdulos
por outros programas. Cada mensagem trafegada na rede ZigBee estruturada em um
frame, contendo informaes pertinentes para uma comunicao efetiva na rede.

Figura 2.6: Estrutura do frame XBee.


De acordo com a figura 2.6, o conjunto de dados enviados ou recebidos composto
pelos seguintes campos:
Start Delimiter: byte indicador do incio do frame;
Length: dois bytes que informam o tamanho do campo "Frame Data";
Frame Data: estrutura composta por um identificador do tipo de mensagem e
pelo seu contedo;
API Identifier: define o tipo de comando (AT, Remote Request, Remote
Response, entre outros);
Identifier-specific Data: contedo do frame com a estrutura interna de dados
que varia de acordo com o tipo de comando que utilizado;
Checksum: byte que valida a integridade do frame.
De acordo com o manual disponibilizado pela Digi International, existem dois tipos
de mensagens que podem ser enviadas. Cada tipo possui diferentes comandos que
podem ser usados para interagir com os mdulos.
O AT Command utilizado quando se deseja enviar uma mensagem diretamente
para o coordenador da rede, ou seja, uma mensagem local, que no ser retransmitida
para outro n na rede. Como esse mdulo XBee estar conectado fisicamente no
dispositivo onde o programa usurio est em execuo, no necessrio especificar o
endereo do mdulo de destino (sempre ser o prprio coordenador), tornando o frame
dessa mensagem bastante simples.
Para enviar um comando para um mdulo remotamente, necessrio utilizar a
mensagem do tipo Remote Command Request. Nela preciso informar o endereo do

20

mdulo de destino podendo ser inclusive um endereo de broadcast, enviando o


comando para todos os mdulos da rede. As mensagens sero sempre enviadas ao
coordenador, que por sua vez o encarregado de retransmitir at o mdulo de destino.
Os XBees podem ser configurados para atuar como roteadores, formando assim uma
topologia em malha (mesh). Assim possvel expandir a rede ZigBee de acordo com a
necessidade, como foi descrito anteriormente.
O prprio firmware do XBee realiza os tratamentos necessrios para que as
mensagens sejam transmitidas entre os mdulos com sucesso, de acordo com as regras
especificadas pelo padro ZigBee. Caso o coordenador no consiga enviar a mensagem
at o mdulo de destino, ento ele enviar uma mensagem sinalizando que no foi
possvel executar o comando desejado. Essa funcionalidade bastante til para a
questo de confiabilidade de um sistema, onde possvel que o programa usurio trate
os casos onde ocorreram erros na transmisso de comandos.
Toda a comunicao necessria entre os mdulos para o controle dos dispositivos e
o gerenciamento dos sensores feita atravs dos comandos disponibilizados pela API
do XBee. A tabela a seguir apresenta os comandos mais importantes que foram
utilizados nesse projeto.
Tabela 2.2: Principais comandos XBee
Comando

Nome

Descrio

ND

Node Discover

Busca todos os mdulos presentes na rede.

ID

PAN ID

Busca ou configura o identificador da rede.

D0

AD0 / DIO0
Configuration

Busca ou configura as funes do pino 0. Pode ser


configurado como entrada analgica, entrada
digital, sada em baixa ou sada em alta.

IS

Force Sample

Fora a leitura (sample) de todos os pinos


habilitados do mdulo.

SM

Sleep Mode

Busca ou configura o sleep mode.

A lista completa de comandos pode ser encontrada no manual do produto


disponibilizado pela Digi International, informado nas referncias deste trabalho.

21

3 IMPLEMENTAO DO PROJETO

O sistema de automao foi desenvolvido para possibilitar a consolidao dos dados


adquiridos dos sensores sem fio e para coordenar as aes que devem ser realizadas com
base nessas informaes. Dessa forma, o controle de dispositivos da residncia como
luzes, persianas, aparelhos eletrnicos, entre outros, ocorrer de forma automtica, sem
a necessidade de interveno do usurio.
A troca de dados entre os sensores, a central de comandos e os dispositivos que
sero acionados feita atravs dos mdulos de rdio frequncia XBee, que
implementam o protocolo de comunicao ZigBee, introduzido anteriormente.

3.1 Funcionamento Geral do Sistema


A soluo de automao residencial desenvolvida nesse projeto composta por um
conjunto de componentes de hardware e software que interagem por meio de uma rede
sem fio, utilizando o protocolo ZigBee.
Os sensores so responsveis por informar central de controle sobre qualquer
mudana de estado, como alterao na temperatura ou acionamento de um sensor de
movimento, por exemplo. J os dispositivos como luzes e persianas so elementos
passivos, pois so acionados por comandos vindos da central.
Quem realiza comunicao entre os sensores e os dispositivos o componente
denominado de central de controle. Essa central onde ficar instalado o software de
automao, responsvel por processar os dados adquiridos dos sensores e aplicar as
aes nos atuadores, caso seja necessrio.
A deciso de acionar ou no os dispositivos feita com base em regras definidas
pelo usurio. Sendo assim, a nica interveno do usurio no funcionamento do sistema
no momento de definir as regras para os sensores e quais dispositivos devem ser
acionados caso acontea a situao definida nas regras.

22

Figura 3.1: Viso geral do funcionamento do sistema.

3.2 Sensores e Dispositivos ZigBee


Os sensores utilizados no sistema so uma adaptao de sensores comerciais com a
incluso dos mdulos XBee. Algumas funcionalidades disponibilizadas pela API de
programao do XBee so usadas para tornar possvel essa unio do mdulo com o
sensor.
Como descrito anteriormente, esses mdulos possuem pinos de I/O para se
comunicarem com o meio externo. Esses pinos so a ligao entre os
sensores/dispositivos e o XBee, onde os pinos que conectam os sensores sero do tipo
input e os pinos dos dispositivos do tipo output.
O desenvolvimento dos sensores e a adaptao com o XBee foi feita com o auxlio
do engenheiro Bernardo Pianta, formado em Engenharia Eltrica pela Pontifcia
Universidade Catlica do Rio Grande do Sul (PUCRS).
3.2.1 Sensor de Movimento
Para implementar esse sensor, foi utilizado o sensor de movimento comercial da
marca Fairchild e nele foi adaptado um mdulo XBee para possibilitar a interao com a
central de controle.
Esse sensor funciona pela deteco da radiao infravermelha, ou seja, ele
acionado quando existe uma variao das ondas eletromagnticas emitidas por fontes de
calor que esto dentro da rea de alcance do sensor.
Para adaptar o mdulo XBee, foi necessrio conectar um dos pinos de I/O na sada
do sensor que indica se houve movimento (output 1 do amplificador operacional da
placa do sensor). Tambm foi necessrio conectar o pino de terra do XBee no sensor,
pois ambos precisam ter o terra comum.
Como o XBee e o sensor de movimento trabalham em tenses diferentes, fez-se
necessrio que o XBee ter a sua prpria fonte de alimentao de 3,3 VCC, sem poder
aproveitar a alimentao do sensor.

23

Figura 3.2: Sensor de movimento com o mdulo XBee.

3.2.2 Sensor de Chuva


Para o sensor de chuva, no foi utilizado nenhum sensor comercial com a finalidade
de deteco da chuva. Ao invs disso, foi desenvolvida uma placa com algumas trilhas
para fazer a conduo da corrente eltrica em caso de contato com a gua da chuva.
O funcionamento desse sensor bastante simples: as trilhas na placa foram
projetadas de forma que, ao entrar em contato com a gua, ocorrer o contato eltrico e
acionar o pino do XBee. Alm dessa conexo da placa nos pinos do XBee (pino DIO 0
e terra), tambm foi necessrio somente alimentar o mdulo na tenso 3,3 VCC.

Figura 3.3: Sensor de chuva junto ao mdulo XBee.

24

3.2.3 Sensor de Temperatura


Para implementar o sensor de temperatura ZigBee, foi utilizado o componente
LM34. Esse circuito um sensor que tem como sada uma tenso proporcional
temperatura ambiente na escala Fahrenheit.
A sada desse sensor ligada diretamente no pino DIO 0 do XBee, pois esse um
dos pinos que pode ser configurado como uma entrada analgica, possibilitando que o
valor da temperatura seja lido desse pino.
Como esse componente suporta a tenso que o XBee trabalha, no existe a
necessidade do componente ter sua prpria fonte de energia. O sensor pode ser
conectados nos pinos de alimentao do XBee, que por sua vez alimentado por uma
fonte de 3,3 VCC.

Figura 3.4: Componente LM34 conectado ao mdulo XBee.

3.2.4 Dispositivos
O mdulo XBee pode controlar qualquer tipo de dispositivo que esteja conectado em
seus pinos de I/O, como, por exemplo, luzes, cortinas e persianas automatizadas,
motores, tomadas, entre outros.
Como o foco do presente trabalho a interao entre os sensores, no ser
implementado um circuito para acionar esses diferentes dispositivos. Ao invs disso,
ser utilizado o prprio mdulo XBee alimentado por uma fonte de energia 3,3 VCC e
com um componente LED conectado diretamente nos pinos, para detectar quando o
dispositivo est ligado ou desligado.

25

Figura 3.5: Prottipo do dispositivo acionador.

3.3 Arquitetura do Sistema


O software de automao desenvolvido ficar instalado no componente denominado
de central de controle. Essa central formada por um computador conectado
a um mdulo XBee, configurado como sendo o coordenador da rede ZigBee.
O computador poder rodar qualquer sistema operacional (nesse projeto foi utilizado
o Ubuntu 10.10), pois o software desenvolvido utiliza a linguagem JAVA, que
independente de plataforma.
Para armazenar os dados dos dispositivos e sensores cadastrados, assim como as
regras de acionamento definidas pelo usurio, foi utilizado o banco de dados MySQL
mantido pela empresa Oracle.
A comunicao fsica entre a central e o XBee feita por meio de um adaptador
denominado XBee Dongle, que conecta o mdulo XBee com a central por uma porta
USB. Na parte de software, foi utilizado a biblioteca XBee-API verso 0.9 para auxiliar
a montagem dos pacotes enviados rede ZigBee, essa biblioteca tambm foi
desenvolvida na linguagem JAVA.

Figura 3.6: XBee Dongle.


O usurio acessa o sistema por meio de uma interface WEB, implementada com a
tecnologia JSP (Java Server Pages). Isso permite que o sistema esteja disponvel pela da
internet, funcionalidade muito importante em um sistema desse tipo.

26

3.4 Sistema de Automao


O software desenvolvido fica instalado na central de controle, sendo responsvel por
coordenar todos os componentes que esto na rede ZigBee. O sistema possui uma
interface WEB bastante simples e intuitiva, oferecendo as funcionalidades de cadastrar
os sensores e dispositivos e tambm possibilita a configurao das regras de
acionamento dos dispositivos.
3.4.1 Configrao dos Mdulos XBee
Cada mdulo XBee deve ser configurado com um srie de parmetros antes de ser
utilizado no sistema de automao. Para executar essa configurao foi utilizado o
programa X-CTU da prpria empresa Digi International. Para configurar cada mdulo,
ele deve ser conectado no adaptador XBee Dongle que se comunica com o computador
por uma porta USB, da mesma maneira que feita com o mdulo coordenador.
Para todos os mdulos, tanto sensores quanto dispositivos atuadores, eles devem
possuir o mesmo PAN ID. Esse parmetro um valor de 4 bytes que representa o
identificador da rede, por isso todos os mdulos que pretendem se comunicar, devem
obrigatoriamente ter o mesmo valor de PAN ID.
Outra configurao comum a todos os mdulos o modo de operao API. Com
esse parmetro, os dados so transmitidos com base em quadros (frames). Alm disso, a
biblioteca Java XBee-API que usada nesse projeto s compatvel com os XBees
configurados desse modo.
O mdulo XBee que ficar conectado junto a central de controle deve ser do tipo
Coordenator, sendo ele o responsvel por criar a rede ZigBee. J os mdulos de
sensores e dispositivos devem ser configurados como sendo End Devices. Para permitir
a ampliao da rede ZigBee, poderia ser utilizado mdulos configurados como Routers,
porm eles no sero utilizados nesse projeto.
Nos mdulos acoplados nos sensores de movimento e de chuva, eles devem ser
configurados com o pino DIO 0 para operar como uma entrada (input). Alm disso,
importante que se habilite a opo de Digital IO Change Detection nesse pino. Com
essa opo, o mdulo enviar uma mensagem (sample) ao coordenador sempre que
ocorrer uma mudana de estado no pino. Assim ser possvel detectar imediatamente
sempre que ocorrer um evento nesses sensores (chuva ou movimento).
Para o sensor de temperatura necessrio configurar o pino DIO 0 como uma
entrada analgica (analog input). Assim a temperatura poder ser lida do pino como um
valor analgico que representar a temperatura na escala Fahrenheit.
Nos dispositivos acionados, a principal configurao colocar o pino DIO 0 como
uma sada em baixa (output low), com isso o estado inicial do LED conectado ao XBee
ser sempre desligado. Na execuo do sistema de automao, o LED ser ligado por
um comando remoto que colocar esse pino no estado output high.
3.4.2 Cadastro dos Componentes
O cadastro dos sensores e dos dispositivos a serem acionados deve ser feito por um
usurio com a funo de administrador do sistema.
Pela interface WEB o administrador poder adicionar ou remover os dispositivos
controlados pelo sistema, informando o endereo de cada mdulo dentro da rede

27

ZigBee. necessrio informar um nome para o dispositivo e tambm qual o pino de I/O
que ser utilizado, pois em um mesmo mdulo XBee poderemos ter diversos
dispositivos, limitados pelo nmero de pinos de I/O. Porm nesse trabalho cada mdulo
estar relacionado a apenas um dispositivo atuador, que cadastrado pelo tipo Liga e
Desliga no software de automao.
De forma similar, o administrador poder cadastrar os sensores ZigBee que ficaro
instalados na residncia. Nesse caso, alm do nome e endereo do mdulo XBee, ser
necessrio informar tambm qual o tipo de sensor, que poder ser de movimento, chuva
ou temperatura. Nesse caso o pino ser preenchido automaticamente de acordo com o
sensor selecionado.

Figura 3.7: Cadastro dos sensores e dispositivos.

3.4.3 Configurao do Cenrio


A configurao do cenrio por sensores uma das funcionalidades mais importantes
do sistema. Ela a nica parte do sistema que o usurio final poder interagir
diretamente pela interface.
Nessa tela, o usurio poder adicionar elementos em duas listas diferentes, uma de
regras e outra de dispositivos que sero acionados. Alm disso, tambm preciso
informar um nome para esse cenrio, conforme a figura a seguir.

28

Figura 3.8: Configurao do cenrio por sensor.


necessrio definir uma ou mais regras de ativao como sendo os critrios para a
execuo desse cenrio. Existem diferentes tipos de regras que podem ser aplicadas,
sendo elas:
Sensor de movimento foi acionado
Temperatura maior/menor que uma temperatura definida
Sensor de chuva com/sem precipitao
Horrio atual do dia maior/menor que um horrio definido
Aps definir a lista de regras, o usurio dever informar tambm a lista de
dispositivos que sero acionados. Ser possvel escolher a opo de ligar ou desligar
qualquer dispositivo que esteja conectado em um pino de I/O de um mdulo XBee,
formando assim um cenrio que ser executado de acordo com as regras definidas
anteriormente.

29

Figura 3.9: Adio de regras e de dispositivos.

3.4.4 Sensores
Os sensores utilizados no projeto so adaptados com um mdulo XBee para
poderem interagir com a central de controle. Dependendo do tipo de sensor, ele ir se
comunicar de forma diferente com o XBee e a central.
Os sensores de movimento e de chuva utilizam a funcionalidade Digital IO Change
Detection. Assim o coordenador recebe a mensagem (sample) no exato momento em
que ocorre um evento no sensor (movimento ou chuva).
J para o sensor de temperatura, a tcnica de comunicao outra. Nesse caso, a
central de controle envia um comando requisitando as informaes necessrias do
sensor. O comando XBee utilizado o IS, com isso forado um sample no nodo
desejado e as informaes podem ser adquiridas com a mensagem de resposta. Essa
requisio enviada a cada minuto e o resultado usado para verificar as regras de
acionamento cadastradas e, caso seja necessrio, executar as aes definidas nos
cenrios.
3.4.5 Acionamento
A verificao das regras de acionamento ocorre em dois momentos: quando uma
mensagem de algum dos sensores recebida (sample) ou a cada minuto, quando feita
a leitura dos sensores de temperatura. Nesses dois casos, as regras de todos os cenrios
so analisadas, sero executados os cenrios que possurem todas suas regras em um
estado verdadeiro.
Na execuo de um cenrio, uma mensagem enviada a cada um de seus
dispositivos cadastrados. Esses dispositivos sero ligados ou desligados, de acordo com
a configurao feita pelo usurio.

30

Nos dispositivos desenvolvidos nesse trabalho, foi utilizado o pino DIO 0 (digital
input/output 0), o valor desse pino alterado para alto ou baixo pelo comando D0 da
API de programao do XBee, possibilitando ligar ou desligar o LED do circuito.
O Apndice 1 contm maiores informaes sobre o processo de configurao e
acionamento dos dispositivos, detalhando todos os casos de uso do sistema.
3.4.6 Estrutura do Software
O software de automao foi desenvolvido em dois mdulos: mdulo WEB e
mdulo de controle.
Mdulo WEB: responsvel por gerar a interface para o usurio (telas de
cadastro de cenrios, regras e aes). Todos os dados informados pelo
usurio so armazenados em um banco de dados (MySQL) que ser
interpretado pelo mdulo de controle.
Mdulo de Controle: responsvel por interagir com a rede ZigBee e
executar os cenrios contidos no banco de dados.
No mdulo de controle, existem duas threads executando em paralelo que
coordenam a validao e execuo de todos os cenrios.
Uma das threads realiza a leitura dos sensores de temperatura a cada minuto,
mandando uma mensagem que fora um sample dos mdulos XBee. Alm disso, aps
enviar o comando aos sensores de temperatura, essa thread faz a leitura de todos os
cenrios cadastrados e a execuo dos cenrios que forem necessrios. Essa verificao
a cada minuto tambm necessria para que sejam executados os cenrios que possuem
o horrio como uma das regras.
A outra thread faz a leitura das mensagens que chegam ao coordenador, o
tratamento de cada mensagem depende do seu tipo:
Sample do sensor de temperatura: feita a leitura do pacote e o valor da
temperatura atualizado no banco de dados. Nesse caso a verificao dos
cenrios feita pela thread que envia a mensagem aos mdulos de
temperatura.
Sample do sensor de movimento ou chuva: faz a verificao de todos os
cenrios e executa os cenrios que forem necessrios. O mtodo de
verificao/execuo o mesmo utilizado pela thread descrita anteriormente.
Resposta OK de um dispositivo atuador: atualiza no banco de dados o estado
desse dispositivo (ligado ou desligado). Isso feito na resposta ao invs do
envio para garantir que o XBee est funcionando corretamente, evitando que
o estado do dispositivo seja alterado indevidamente (se o XBee estivesse
indisponvel, por exemplo).
Qualquer acionamento de dispositivo, independente da thread que executa, utiliza
uma estrutura de dados para indicar qual o comando foi enviado para o mdulo (ao de
liga ou desliga), assim possvel atualizar o banco de dados com o valor correto do
dispositivo. As duas threads do sistema tem a visibilidade dessa varivel. Alm disso, o
prprio tipo da varivel (ConcurrentHashMap do Java) possui o controle de
concorrncia na sua implementao, evitando problemas de acesso pelas duas threads
simultaneamente.

31

A figura a seguir resume o funcionamento das duas threads do mdulo de controle,


onde a Thread 1 a que realiza a leitura dos sensores de temperatura e a Thread 2 a
leitura das mensagens do mdulo coordenador.

Figura 3.10: Threads do mdulo de controle.

32

4 CONCLUSES E TRABALHOS FUTUROS

4.1 Concluses
Com a popularizao e o desenvolvimento de novas tecnologias sem fio, o mercado
de automao residencial est crescendo significativamente, inclusive no Brasil. Esse
trabalho props uma alternativa de sistema que utiliza apenas sensores wireless para
automatizar as tarefas rotineiras em uma residncia.
O software desenvolvido ser includo no sistema de automao residencial da
empresa Home Manager, criada pelo autor desse trabalho em conjunto com o scio
Bernardo Pianta. Atualmente a empresa encontra-se incubada na RAIAR, incubadora de
empresas da PUCRS, de Viamo.
A utilizao do protocolo ZigBee na implementao desse trabalho agrega vrias
vantagens para o sistema de automao, como a economia de energia, baixo custo e
grande facilidade na instalao do sistema, evitando reformas na residncia. Alm disso,
a capacidade do ZigBee de formar uma rede mesh garante uma ampla cobertura de sinal
e tambm agrega confiabilidade na comunicao entre os nodos da rede.
O modelo de configurao do sistema definido por uma lista de regras e outra lista
de aes se mostrou bastante flexvel, assim sempre possvel criar os cenrios de
acordo com a necessidade do usurio.
Como esse modelo foi desenvolvido para ser o mais genrico possvel, visando
abrangncia do maior nmero de casos, em algumas ocasies a configurao no to
intuitiva quanto se desejava. Em alguns casos necessria a criao de mais de um
cenrio para o mesmo propsito, um para ligar o dispositivo e outro para desligar aps
um perodo de tempo, por exemplo.

4.2 Trabalhos Futuros


O presente trabalho possibilita a expanso do sistema desenvolvido com a incluso
de um maior nmero de sensores ZigBee e tambm o desenvolvimento dos dispositivos
que podem ser controlados. Com isso possvel criar um sistema completo de
automao, englobando a parte de controle pelo usurio e tambm s aes automticas
baseadas em sensores, desenvolvidas nesse trabalho.
Outra melhoria muito interessante nesse projeto seria a utilizao de inteligncia
artificial no sistema de automao. Nessa abordagem o sistema poderia aprender a

33

rotina do usurio em sua residncia, baseada nos sensores, possibilitando se antecipar as


aes que seriam feitas manualmente. Por exemplo, prximo ao horrio do meio dia,
logo aps o sensor de movimento da sala ser acionado, a televiso ligada pelo usurio.
Um sistema que implemente o mecanismo de aprendizado poderia detectar esse padro
e ligar a televiso assim que o sensor de movimento for acionado nesse intervalo de
horrio. Com isso no seria mais necessria a configurao das regras pelo usurio, o
prprio sistema poderia tentar defini-las de acordo com a rotina dos moradores da
residncia.
Atualmente no existe nenhum sistema comercial que aplique essa proposta de
aprendizado com inteligncia artificial, em alguns casos essa tcnica aplicada em
projetos experimentais na rea de automao. Mesmo assim, existem diversas pesquisas
e projetos nesse assunto, buscando sempre uma forma ideal de automatizar uma
residncia sem produzir regras e aes indesejadas para o usurio.

REFERNCIAS

FARAHANI, Shahin. ZigBee Wireless Network and Transceivers. Burlington:


Newnes, 2008.
LABIOD, Houda; AFIFI, Hossan; DE SANTIS, Costantino. Wi-fi, Bluetooth, ZigBee
and WiMax. Paris: Springer, 2007.
KAUR, Gurjit; AHUJA, Kiran. QoS measurement of Zigbee home automation
network using various modulation schemes. International Journal of Engineering
Science and Technology (IJEST), 2011.
William C Craig.
http://www.zigbee.org

ZigBee:

Wireless

Control

That

Simply

Works.

TEIXEIRA, Luis Marcelo. Desenvolvimento de uma Aplicao com o Protocolo


ZigBee aplicado em Instrumentao de Ensaio de Vo. 2006. 162f. Tese de
Mestrado em Engenharia Eletrnica e Computao Instituto Tecnolgico de
Aeronutica, So Jos dos Campos.
ZigBee
Alliance, ZigBee
http://www.zigbee.org/

Specifications, version 1.0

r13, December 2006.

IEEE Computer Society. IEEE Standard802.15.4: Wireless Medium Access Control


(MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area
Networks (WPANs). IEEE Computer Society. [S.l.]: Disponvel em:
<http://standards.ieee.org/getieee802/download/802.15.4a-2007.pdf>. Acesso em: 21
abr. 2011.
XBee / XBee-Pro ZB RF Modules. Manual do Produto. [S.l.]: Disponvel em:
<http://ftp1.digi.com/support/documentation/90000982_A.pdf>. Acesso em: 14 set.
2011.

35

APNDICE 1 DIAGRAMA DE CASOS DE USO

Com o intuito de facilitar o entendimento da soluo utilizada, foi desenvolvido o


diagrama e a descrio dos casos de uso do sistema.

Figura A1.1: Diagrama de casos de uso do sistema.


Efetuar Login
Usurio
Nenhuma
Processo que autentica o usurio para entrar no sistema
Sequncia de Eventos
Ator
Sistema
1. Entra com o login e senha
2. Valida usurio
3. Libera o acesso ao sistema de acordo
com a permisso definida para o usurio
Caso de Uso:
Atores:
Pr-condies:
Descrio:

36

Configurar Sensores
Administrador
Ter feito o login com um usurio com a permisso de
administrador
Permite gerenciar o cadastro de sensores do sistema
Descrio:
Sequncia de Eventos
Ator
Sistema
1. Acessa a rea de cadastro dos sensores
2. Exibe os sensores cadastrados
3. Seleciona um sensor para edio ou 4. Exibe tela de cadastro
seleciona a criao de um novo sensor
5. Insere as informaes referentes ao 6. Salva as informaes no banco de
sensor
dados
Caso de Uso:
Atores:
Pr-condies:

Configurar Dispositivos
Administrador
Ter feito o login com um usurio com a permisso de
administrador
Permite gerenciar o cadastro de dispositivos do sistema
Descrio:
Sequncia de Eventos
Ator
Sistema
1. Acessa a rea de cadastro dos 2. Exibe os dispositivos cadastrados
dispositivos
3. Seleciona um dispositivo para edio ou 4. Exibe tela de cadastro
seleciona a criao de um novo dispositivo
5. Insere as informaes referentes ao 6. Salva as informaes no banco de
dispositivo
dados
Caso de Uso:
Atores:
Pr-condies:

Definir Regras
Usurio
Ter feito o login com a permisso de usurio
Permite gerenciar o cadastro de regras de sensores e as
aes dos dispositivos
Sequncia de Eventos
Ator
Sistema
1. Acessa a rea de configurao de 2. Exibe todos cenrios cadastrados
cenrios por sensores
3. Seleciona um cenrio para edio ou 4. Exibe a tela de cadastro do cenrio,
seleciona a criao de um novo cenrio
contendo a lista de regras e aes dos
dispositivos
5. Adiciona ou remove regras de sensores 6. Atualiza a lista de regras na tela de
na lista de regras
cadastro
7. Adiciona ou remove aes para os 8. Atualiza a lista de aes na tela de
dispositivos na lista de aes
cadastro
9. Confirma a alterao ou criao do 10. Salva as informaes no banco de
cenrio
dados
Caso de Uso:
Atores:
Pr-condies:
Descrio:

37

Acionar Dispositivos
Usurio
Ter configurado no sistema o sensor que ser disparado
Aciona os dispositivos configurados de acordo com a
informao dos sensores
Sequncia de Eventos
Ator
Sistema
algum dos sensores da 2. Busca todos os cenrios que possuem
como regra o sensor disparado
3. Para cada cenrio, valida se todas as
regras do cenrio so verdadeiras
4. Aciona os dispositivos dos cenrios que
possuem todas as regras verdadeiras

Caso de Uso:
Atores:
Pr-condies:
Descrio:

1. Dispara
residncia

38

APNDICE 2 DIAGRAMA ER

Este apndice possui o diagrama ER (Entidade e Relacionamento) do sistema de


automao. O diagrama representa o modelo de dados do sistema e foi desenvolvido
utilizando a ferramenta MySQL Workbench da Oracle.

Figura A2.1: Diagrama ER do sistema.

Você também pode gostar