Você está na página 1de 59

Michel Vinicius de Melo Euz ebio

DroidLar - Automac a es de um o residencial atrav celular Android

S ao Jos e SC agosto / 2011

Michel Vinicius de Melo Euz ebio

DroidLar - Automac a es de um o residencial atrav celular Android


` Coordenac o do Monograa apresentada a a Curso Superior de Tecnologia em Sistemas es do Instituto Federal de de Telecomunicac o o do diploma de Santa Catarina para a obtenc a es. Tecn ologo em Sistemas de Telecomunicac o

Orientador:

Prof. Emerson Ribeiro de Melo, Dr.

C URSO S UPERIOR DE T ECNOLOGIA EM S ISTEMAS DE T ELECOMUNICAC OES I NSTITUTO F EDERAL DE S ANTA C ATARINA

S ao Jos e SC agosto / 2011

Monograa sob o t tulo DroidLar - Automac a es de um celular An o residencial atrav droid, defendida por Michel Vinicius de Melo Euz ebio e aprovada em 12 de agosto de 2011, em S ao Jos e, Santa Catarina, pela banca examinadora assim constitu da:

Prof. Emerson Ribeiro de Melo, Dr. Orientador

Prof. Tiago Semprebom, M. Eng. IFSC

Prof. Marcos Moecke, Dr. Eng. IFSC

As pessoas raramente reconhecem a oportunidade porque ela surge disfarc ada em trabalho a rduo. H. L. Mencken

Agradecimentos
` Deus e a minha fam Dedico meus sinceros agradecimentos a lia que me deram forc a para vencer os obst aculos e chegar at e aqui. Agradec o tamb em ao professor Emerson, que me proporcionou um grande aprendizado me o tecnol orientando nas bosas de iniciac a ogica e tamb em nesse trabalho, que me ajudaram a o que eu deveria seguir na minha vida prossional. Por m, agradec encontrar a direc a o aos amigos e colegas que convivi nesses anos de curso.

Resumo
o residencial permitem que os usu Sistemas de automac a arios controlem os eletroeletr onicos de sua resid encia atrav es de interfaces de controle como pain eis axados em paredes. A o dos telefones inteligentes se deu pelo fato de possu es de hardpopularizac a rem congurac o ware superiores aos telefones convencionais, e tamb em sistemas operacionais complexos que es mais sosticadas. O sistema operacional Android permitem o desenvolvimento de aplicac o um projeto de c e odigo aberto desenvolvido para dispositivos m oveis e por isso est a presente utilizado em redes sem o de baixa em diversos telefones inteligentes. O protocolo ZigBee e taxa de transmiss ao e possibilita uma economia de energia por parte dos transmissores. As poss transmiss oes na rede ZigBee n ao possuem longo alcance por em, nesse protocolo e vel que os transmissores encaminhem as mensagens da rede aumentando a extens ao desta. Nesse apresentado o DroidLar, um sistema de automac o residencial completo que utiliza trabalho e a o rodando em telefones Android como interface de controle. Os controladores de uma aplicac a dispositivos desse sistema se comunicam por uma rede ZigBee.

Abstract
Home automation systems allow the users to control of electronics of a residence through control interfaces like xed panels on the walls. The smart phones become popular because have superior hardware settings compared to conventional mobile phones and because have more complex operating systems allowing development of sophisticated applications. The operating system Android is an open source project developed for mobile devices and is present in so many smart phones. The ZigBee protocol is used in wireless networks with low transmission rate and provides energy safe by the transmitters. The transmissions in ZigBee networks dont have long-range but this protocol allows the transmitters forward messages in network, increasing the length it. In this paper we presents the DroidLar, a complete home automation system that uses an application running on Android phones as a control interface. The devices controller of this system communicate over a ZigBee network.

Sum ario

Lista de Figuras Lista de Tabelas 1 o Introduc a 1.1 1.2 1.3 2 o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivac a Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Organizac a p. 12 p. 12 p. 13 p. 13 p. 15 p. 15 p. 15 p. 18 p. 21 p. 23 p. 25 p. 25 p. 27 p. 30 p. 32 p. 32 p. 35

Revis ao Bibliogr aca 2.1 o Residencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Automac a 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 X10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Insteon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Z-Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Padr ao IEEE 802.15.4 e ZigBee . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3 2.4 2.5 3

Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XBee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

DroidLar

3.1

Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 3.1.2 3.1.3 Controladores de Dispositivos . . . . . . . . . . . . . . . . . . . . . SAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cliente Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

p. 35 p. 35 p. 37 p. 40 p. 42 p. 42 p. 46 p. 47 p. 48 p. 53 p. 54 p. 55 p. 57

3.2

Protocolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 3.2.2 3.2.3 Cliente Android SAR . . . . . . . . . . . . . . . . . . . . . . . . . Cliente Android SAR Controladores . . . . . . . . . . . . . . . . SAR Controladores . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3 4

Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Conclus oes 4.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lista de Abreviaturas Refer encias Bibliogr acas

Lista de Figuras
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Transmiss ao sincronizada no n vel zero AC (EUROX10, 2011). . . . . . . . . Transmiss ao nas tr es fases (EUROX10, 2011). . . . . . . . . . . . . . . . . . Topologia da rede Insteon (DARBEE, 2005). . . . . . . . . . . . . . . . . . Mensagens do protocolo Insteon. . . . . . . . . . . . . . . . . . . . . . . . . Quadro de mensagem(IEEE, 2006). . . . . . . . . . . . . . . . . . . . . . . Pilha do protocolo ZigBee. . . . . . . . . . . . . . . . . . . . . . . . . . . . Topologias da rede ZigBee. . . . . . . . . . . . . . . . . . . . . . . . . . . . Elementos de um kit Arduino (HERRADOR, 2009). . . . . . . . . . . . . . C odigo para piscar um LED no Arduino. . . . . . . . . . . . . . . . . . . . . p. 16 p. 17 p. 19 p. 20 p. 26 p. 27 p. 28 p. 30 p. 31 p. 33 p. 34 p. 34 p. 36 p. 36 p. 37 p. 40 p. 41 p. 42 p. 42 p. 43 p. 43 p. 44

o de m 2.10 Congurac a odulos no X-CTU . . . . . . . . . . . . . . . . . . . . . . 2.11 Arquitetura do Android. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o Android utilizando Java e XML. . . . . . . . . . . . . . . . . . . 2.12 Aplicac a 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Elementos do DroidLar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prot otipos do DroidLar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o dos circuitos nos Kits. . . . . . . . . . . . . . . . . . . . . . . Congurac a o do SAR . . . . . . . . . . . . . . . . . Interface principal e de congurac a o dos dispositivos e pers . . . . . . . . . . . . . Interfaces para congurac a Mensagem de controle padr ao. . . . . . . . . . . . . . . . . . . . . . . . . . o. . . . . . . . . . . . . . . . . . Mensagem de controle usada na autenticac a o. . . . . . . . . . . . . . . . . . . . . . . . . . . . Mensagem de autenticac a o das informac es de todos os dispositivos. . . . . . . Mensagem de requisic a o

o das informac es de dispositivos pelo tipo. . . . . . . 3.10 Mensagem de requisic a o

o do ID da lista de pers. . . . . . . . . . . . . . . . 3.11 Mensagem de requisic a o de pers. . . . . . . . . . . . . . . . . . . . . . . 3.12 Mensagem de atualizac a o da lista de pers. . . . . . . . . . . . . . . . . . . . 3.13 Mensagem de requisic a o dos nomes. . . . . . . . . . . . . . . . . . . . . 3.14 Mensagem de congurac a o da varredura peri 3.15 Mensagem de congurac a odica. . . . . . . . . . . . . . . 3.16 Mensagem de controle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17 Mensagem de varredura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . es. . . . . . . . . . . . . . . . . . . . . . . . . 3.18 Mensagem com as informac o o. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.19 Mensagem de atualizac a o. . . . . . . . . . . . . . . . . . . . . 3.20 Diagrama de casos de uso da aplicac a

p. 44 p. 45 p. 45 p. 45 p. 46 p. 47 p. 47 p. 48 p. 48 p. 49

Lista de Tabelas
2.1 Comparativo entre os protocolos. . . . . . . . . . . . . . . . . . . . . . . . . p. 25

12

Introduc a o

1.1

o Motivac a

o residencial presentes atualmente no mercado oferecem como Os sistemas de automac a interfaces de controle p aginas Web que podem ser acessadas de qualquer computador pes o dos telefones celulares em todo mundo, tornou-se poss soal. Com a disseminac a vel que eles tamb em tivessem acesso a essas p aginas Web, por em, com uma interface mais simples por conta es de hardware e software desses telefones. das limitac o o de dispositivos O surgimento dos telefones inteligentes possibilitou uma melhor utilizac a o residencial. Esses telefones m oveis como interfaces de controle para sistemas de automac a possuem recursos como maior quantidade de mem oria e poder de processamento, aliados a sistemas operacionais mais sosticados, se comparados ao celulares comuns. o rodando em celulaEsse trabalho foi motivado pela possibilidade de utilizar uma aplicac a res Android (OPEN HANDSET ALLIANCE, 2008) como interface de controle de um sistema o residencial, a m de substituir as limitadas p de automac a aginas Web utilizadas pelos siste o de aplicac es em telefones inteligentes possibilita usufruir de recursos mas atuais. A utilizac a o o de arquivos, reproduc o de a udio e v o de interfaces como manipulac a a deo, al em de construc a gr acas avanc adas com uma facilidade maior do que em p aginas Web. o de redes sem o que O protocolo ZigBee (ZIGBEE ALLIANCE, 2005) possibilita a criac a n ao exijam uma taxa de transfer encia alta. Por isso, os dispositivos que se comunicam utilizando o esse protocolo necessitam de pouca energia para operar. Uma das causas dessa economia e o permitindo que os n curto alcance das transmiss oes. Por em, o ZigBee previne essa limitac a os da rede possam encaminhar as mensagens uns aos outros. o residencial cont Sistemas de automac a em dispositivos que s ao conectados aos eletroeletr onicos da resid encia e executam efetivamente os comandos do usu ario. Esses dispositivos precisam estar dispon veis o tempo todo para receberem as mensagens da rede e executar os comandos. As caracter sticas apresentadas pelo protocolo ZigBee s ao ideias para sistemas de

1.2 Objetivos

13

o residencial, e por isso ele foi utilizado nesse trabalho. automac a

1.2

Objetivos

o residenEste trabalho tem o objetivo de apresentar o DroidLar, um sistema de automac a cial controlado por telefones Android que contem recursos semelhantes aos apresentados pelos sistemas encontrados no mercado. No desenvolvimento desse trabalho os seguintes objetivos espec cos foram propostos: Desenvolvimento de um dispositivo capaz de controlar os eletr onicos de uma resid encia o de kits Arduino que se comuniquem pela rede ZigBee; com a utilizac a o servidora que encaminhe mensagens provenientes da Desenvolvimento de uma aplicac a o cliente pela rede IP para os controladores de dispositivos pela rede ZigBee. aplicac a o tamb o de comandos agendados pelo usu Essa aplicac a em permite a execuc a ario; o cliente que rode em telefones Android e sirva como Desenvolvimento de uma aplicac a o tamb interface de controle para os eletr onicos da resid encia. Essa aplicac a em possibilita o agendamento de comandos no servidor.

1.3

o do texto Organizac a

O texto est a organizado da seguinte forma: No Cap tulo 2 s ao descritos os principais pro o residencial, como tamb tocolos utilizados em sistemas de automac a em produtos comerciais estudada tamb que as utilizam. E em a plataforma Arduino. Iniciando com suas principais ca o com redes ZigBee atrav racter sticas, sua integrac a es do m odulo XBee e terminando com um exemplo de c odigo. feita uma an o protocolo ZigBee. E Outro assunto abordado nesse cap tulo e alise de sua arquitetura e tamb em descrito seu funcionamento, os pap eis de cada tipo de dispositivo na rede o nesse trabalho ao inv e tamb em, os motivos pela sua utilizac a es de outros protocolos de rede apresentado o sistema operacional Android, mais populares. Al em desses assuntos, tamb em e o. sua arquitetura e a estrutura b asica de uma aplicac a apresentado o DroidLar, o sistema de automac o residencial resultante No Cap tulo 3 e a descrita a sua arquitetura e as tecnologias utilizadas em cada desse trabalho. Inicialmente e estudado o protocolo utilizado na comunicac o do sistema parte do sistema. Posteriormente e a

1.3 Organizac a o do texto

14

atrav es da an alise das poss veis sequ encias de mensagens trocadas na rede. E nalizando o es que um usu cap tulo, s ao apresentadas as poss veis ac o ario pode executar enquanto estiver utilizando o sistema. Por m, no Cap tulo 4 ser ao apresentadas as conclus oes desse trabalho e tamb em os trabalhos futuros que podem ser desenvolvidos a partir deste.

15

Revis ao Bibliogr aca

2.1

o Residencial Automac a

o s Sistemas de automac a ao sistemas capazes de executar comandos, obter medidas, regular es automaticamente. Esses sistemas comec par ametros e controlar func o aram a ser utilizados es industriais. Consolidados no setor industrial sua utilizac o na d ecada de 70 em aplicac o a expandiu-se tamb em para o com ercio com o surgimento dos chamados pr edios inteligentes, o predial (PINHEIRO, J. M. S., 2004). originando os sistemas de automac a o predial consiste em equipar pr es comerciais, A automac a edios, normalmente com func o o, seguranc com sistemas automatizados de iluminac a a, ar condicionado, controle de acessos e etc. Apenas na d ecada de 90, com o avanc o das tecnologias computacionais e das redes o, os sistemas usados em pr de comunicac a edios comec aram a ser utilizados tamb em em do o residencial (PINHEIRO, J. M. S., 2004). mic lios, dando origem a automac a o residencial tem como principais objetivos fornecer conforto e comodidade A automac a aos usu arios, por em ela tamb em pode ser utilizada para outros objetivos como a economia e a seguranc a. Esses sistemas s ao tipicamente formados por um dispositivo de gerenciamento centralizado e dispositivos micro controlados conectados aos eletroeletr onicos da resid encia. O usu ario envia os comandos aos dispositivos controladores atrav es de interfaces de controle o como, por exemplo, pain eis axados em paredes. Existem diversos protocolos de comunicac a o residencial, eles diferem-se pelo custo, meio f para sistemas de automac a sico que utilizam es ser para as transmiss oes e complexidade. Nas pr oximas sec o ao apresentados alguns destes es presentes no mercado de automac o que fazem uso deles. protocolos e tamb em, soluc o a

2.1.1

X10

O X10 (SARASWAT et al., 2008) foi um dos primeiros protocolos a serem utilizados em o residencial. Desenvolvido na d automac a ecada de 70 pela empresa escocesa Pico Electro o da rede el nics, tem como principal caracter stica a utilizac a etrica da resid encia como meio

2.1 Automac a o Residencial

16

o, o que oferece economia ao usu utilizada uma infraestrutura j de comunicac a ario, pois, e a o tornou-se muito popular nos Esinstalada. Por possuir um baixo custo e ser de f acil instalac a tados Unidos e na Europa. Em 1997 expirou a patente da Pico Electronics sobre o X10, o que tornou o protocolo acess vel gratuitamente a qualquer fabricante, motivando ainda mais a sua o. popularizac a O protocolo X10 pode funcionar de forma descentralizada, ou seja, as interfaces de controle, normalmente pain eis axados em paredes, se comunicam diretamente com os dispositivos controladores. Esse protocolo suporta no m aximo 256 enderec os de rede, al em disso, um mesmo enderec o pode ser compartilhado por diferentes dispositivos. Nesse caso, quando uma enviada para um enderec mensagem e o compartilhado por mais de um dispositivo, todos eles o determinada por essa mensagem. executaram a ac a o u nica, ou seja, as interfaces de controle enviam as As mensagens s ao enviadas em direc a o. Isso ocorre porque o X10 mensagens aos dispositivos e n ao recebem nenhuma conrmac a n ao possui um protocolo de acesso ao meio, o que possibilita colis oes entre mensagens, sendo ` outras tecnologias para automac o residencial. isso uma desvantagem, quando comparado a a As mensagens s ao transmitidas atrav es da rede el etrica da resid encia, sendo que os bits de valor 1 s ao enviados na forma de pulsos de 120 Khz a cada cruzamento pelo valor zero de tens ao Corrente Alternada (CA), j a os bits 0 s ao caracterizados pela aus encia desses pulsos, como mostra a Figura 2.1 (CHUNDURU; SUBRAMANIAN, 2006).

Figura 2.1: Transmiss ao sincronizada no n vel zero AC (EUROX10, 2011). Os pulsos s ao enviados a cada 60 da tens ao CA para que o protocolo seja compat vel com pot encias trif asicas e, assim, receber o bit pela fase que estiver em melhor estado naquele o sinal/ru momento (Figura 2.2), resultando numa melhora na relac a do. O protocolo X10 ainda o complemento do original (Figura 2.2) aumentando, prev e o envio de um segundo bit que e assim, a imunidade a ru dos do sistema (DA SILVA, A. A. J. P., 2005). As mensagens do X10 s ao formadas por uma sequ encia de 13 bits. Os 4 primeiros bits

2.1 Automac a o Residencial

17

Figura 2.2: Transmiss ao nas tr es fases (EUROX10, 2011). indicam o in cio da mensagem, os 4 bits subsequentes indicam o c odigo da casa e os outros 5 variam de acordo com o tipo de mensagem. Desses 5 bits vari aveis, o quinto bit mais signi do tipo Address ou do tipo Function. Quando um usu cativo indica se a mensagem e ario envia enviada uma mensagem do tipo um comando para determinado dispositivo, primeiramente e Address que informa o enderec o para o qual ser a enviada a pr oxima mensagem. Em seguida enviada uma mensagem do tipo Function que cont e em o comando que o dispositivo dever a executar. enviada a mensagem Address, os 4 bits vari Quando e aveis indicam o c odigo do dispositivo. Esse c odigo juntamente com o c odigo da casa podem ser usados para o enderec amento dos dispositivos, resultando no total de 256 enderec os poss veis na rede. No envio de uma mensagem Function os 4 bits vari aveis s ao usados para indicar o tipo de comando. Esses 4 bits limitam a quantidade de comandos em 16, al em disso, os comandos do X10 s ao predenidos como, por exemplo, On, Off e Dim que servem para ligar, desligar e diminuir a intensidade de energia do dispositivo, respectivamente, tornando o X10 menos ex vel comparado a outros protocolos o (DA SILVA, A. A. J. P., 2005). para automac a No X10 as interfaces de controle e os dispositivos normalmente s ao conectados a rede um grande problema, el etrica por meio de cabos, o que impede a mobilidade no sistema. Isso e pois, hoje em dia existem v arias tecnologias que fazem o transporte dos dados por uma rede sem o. Pensando nisso alguns fabricantes de produtos para o X10 utilizam um adaptador que recebe as mensagens dos pain eis de controle por um receptor de Radiofrequ encia (RF) e as envia pela rede el etrica. o de adaptadores de RF amenizar o problema do X10 quanto a mobiliApesar da utilizac a es mais complexas e que requeiram dade, outros fatores ainda o tornam invi avel para aplicac o o u nica, limite de 256 uma conabilidade maior do sistema tais como: mensagens em direc a

2.1 Automac a o Residencial

18

o. Al enderec os e comandos predenidos, como j a explicado nessa sec a em disso, a pr opria o da rede el utilizac a etrica na transmiss ao das mensagens pode acarretar problemas aos dispositivos devido a quedas de energia e descargas eletromagn eticas, por exemplo. Como j a visto o compat X10 e vel com pot encias trif asicas mas para que os dispositivos ligados em diferentes necess o de um equipamento adicional ou mesmo a fases possam se comunicar e ario a instalac a o de capacitores para interligar essas fases (SENA, 2005). utilizac a Siatron o1 , o Siatron e um sistema de automac o residencial Desenvolvido pela Siatron Automac a a no qual o usu ario pode controlar eletroeletr onicos de sua resid encia, que est ao conectados a dispositivos X10, por interfaces de controle como pain eis, uma p agina Web ou mesmo um telefone celular, tanto localmente como pela Internet. o entre as interfaces de controle, que utilizam redes Internet Protocol (IP) A comunicac a feita atrav para se comunicar, e os dispositivos X10 e es de um software da mesma empresa que roda em um computador pessoal e encaminha as mensagens entre essas duas redes distintas. Esse software ainda permite o agendamento de comandos aos dispositivos para hor arios pr edeterminados pelo usu ario. comercializado em forma de m O Siatron e odulos tais como o Siatron Biometria, que con o biom o, que pertrola o acesso a resid encia atrav es de identicac a etrica e o Siatron Iluminac a mite que o usu ario acenda ou apague as l ampadas da sua resid encia.

2.1.2

Insteon

um protocolo de rede para automac o residencial criado pela O Insteon (DARBEE, 2005) e a Smarthome Technology - maior distribuidora de dispositivos X10 do mundo - em 2001. Ele e considerado o sucessor do X10, pois, assim como ele, tamb em utiliza a rede el etrica existente o. Entretanto, diferente do X10, o Insteon tamb da resid encia como meio de comunicac a em o de dispositivos utilizando RF, o que s poss o prev e a comunicac a oe vel no X10 com a utilizac a o 2.1.1. de adaptadores de terceiros como j a mencionado na Sec a o el Os dispositivos da rede podem se comunicar utilizando a instalac a etrica, atrav es de RF ou por ambos. Isso permite que uma mensagem que foi perdida por ru dos na rede el etrica, por o exemplo, seja recebida atrav es do receptor de RF. Outra caracter stica que torna a comunicac a a retransmiss recebida uma na rede mais segura e ao de mensagens, ela ocorre quando n ao e
1 http://www.siatron.com.br

2.1 Automac a o Residencial

19

o da mensagem enviada. A Figura 2.3 apresenta um exemplo de uma rede Insteon conrmac a poss com dispositivos atuando tanto na rede el etrica quanto por RF. E vel ver que podem ser utilizados dispositivos h bridos, que transmitam tanto por RF quanto pela rede el etrica, como o de dispositivos conectados a diferentes fases da rede el ponte para a comunicac a etrica.

Figura 2.3: Topologia da rede Insteon (DARBEE, 2005). O Insteon utiliza uma rede do tipo par a par, sendo que todos os m odulos podem receber, o de mensagens aumenta ainda mais a enviar ou repetir as mensagens (Figura 2.3). A repetic a o do sistema contra perdas, j protec a a que elas tem v arios caminhos poss veis para chegar ao es de rotas na rede, ou seja, todos os m destino. N ao h a congurac o odulos repetir ao todas as o innita de mensagens na rede, o Insteon mensagens que receberem. Para evitar uma repetic a es de uma mesma mensagem. limita em 3 o n umero de repetic o Existem dois tipos de mensagens no protocolo Insteon: a mensagem Standard (Figura 2.4(a)) que contem 10 bytes e a mensagem Extended (Figura 2.4(b)) que cont em os mesmos 10 by es que tes da Standard acrescidos de 14 bytes para preenchimento com quaisquer informac o o usu ario queira. Esses 10 bytes comuns nas duas mensagens s ao divididos em cinco campos: ltimo Cyclic Redundancy enderec o de origem; enderec o de destino; ags; comandos 1 e 2 e por u Check (CRC) (DARBEE, 2005). Os campos enderec o de origem e de destino ocupam 3 bytes da mensagem cada, ou seja, na nicos poss rede Insteon existem 16.777.216 enderec os u veis. Esses enderec os s ao congurados

2.1 Automac a o Residencial

20

(a) Mensagem do tipo Standard(DARBEE, 2005).

(b) Mensagem do tipo Extended(DARBEE, 2005).

Figura 2.4: Mensagens do protocolo Insteon. o dos dispositivos e, por isso, n durante a fabricac a ao podem ser alterados. O campo ags es como o tipo de mensagem que e enviada, j ocupa 1 byte e cont em informac o a o campo comandos ocupa 2 bytes, um para cada comando, e cont em os comandos predeterminados que ltimo byte cont o de o dispositivo dever a executar. O u em o valor de CRC utilizado para detecc a erros. Os sinais que carregam as mensagens na rede el etrica t em frequ encia de 131,65 Khz e, assim como no X10, s ao sincronizados no n vel zero de tens ao CA. Esses sinais s ao modulados o Binary Phase Shift Keying (BPSK) o que garante uma boa perforutilizando-se a modulac a mance do sistema na presenc a de ru dos. J a os sinais enviados por radiofrequ encia utilizam a ` 924 Mhz dentro da banda Industrial, Scientic and Medical (ISM) e s faixa de 902 a ao transmitidos a uma taxa de 38,4 Kbps. compat O protocolo X10 e vel com o protocolo Insteon, ou seja, os dois sistemas podem o el operar na instalac a etrica da mesma resid encia sem causar interfer encias entre si. Por em, as mensagens do Insteon e do X10 n ao s ao compat veis, por isso, os fabricantes foram autorizados o de a desenvolver dispositivos h bridos - que operem nas duas redes - o que permite a integrac a uma nova rede Insteon com uma rede X10 j a instalada. O Insteon resolveu v arios dos problemas existentes no X10, por em, por utilizar a rede o tamb el etrica para a transmiss ao de comandos os problemas decorridos dessa utilizac a em o de dois meios de transmiss encontram-se nele. Mesmo com a utilizac a ao evitando a perda es ou ru das mensagens devido a atenuac o dos na rede, nem todos os dispositivos presentes no mercado tem a capacidade de utilizar os dois meios.

2.1 Automac a o Residencial

21

iHome uma soluc o para automac o residenDesenvolvido pela IHC Technologies2 , o iHome e a a cial composta pelo iHomeClub e por hardwares, que controlar ao os eletroeletr onicos, tamb em o aplicativo utilizado como interface de controle e desenvolvidos pela IHC. O iHomeClub e foi desenvolvido para dispositivos m oveis que rodem o sistema operacional iOS3 como iPhone, iPod Touch e iPad. No iHome o usu ario pode controlar diferentes setores da sua resid encia. Na parte de o e poss iluminac a vel acender e apagar l ampadas, agendar o hor ario de funcionamento delas o da intensidade das luzes. Tamb poss e a dimerizac a em e vel o controle dos aparelhos de som, televisores e Home Theaters da resid encia. Al em disso, ele permite o controle de sistemas adicionais como: ar condicionado; lareiras; persianas entre outros. o residenAl em do protocolo Insteon, o iHome suporta outros protocolos para automac a cial como Global Cache, Lutron, AMX, Creston e outros. Os dispositivos que controlar ao os equipamentos da resid encia s ao vendidos separadamente em representantes comerciais da IHC Technologies, j a o aplicativo iHomeClub pode ser baixado gratuitamente no site iTunes.com.

2.1.3

Z-Wave

es pela instalac o el A transmiss ao de informac o a etrica da resid encia fornece um m etodo sim o. Entretanto, com a exposic o ples e barato para a infraestrutura de uma rede de comunicac a a ` rede el dos dados da rede aos problemas inerentes a etrica buscou-se criar uma infra-estrutura o el o. Com esse pr opria, separada da ac a etrica, para serem utilizados em sistemas de automac a intuito foi criado o Z-Wave(Z-WAVE ALLIANCE, 2004), um protocolo propriet ario desenvol o sem o para a troca de mensagens entre os vido pela empresa Zensys que utiliza comunicac a dispositivos da rede. No Z-Wave os dados s ao transmitidos a uma taxa de 40 Kbps - 9,6 Kbps nos dispositivos ` 928 Mhz. Na comunicac o entre os dispositivos da antigos - utilizando a banda ISM de 902 a a rede, o raio de alcance das mensagens pode chegar a 30 metros. Para evitar colis oes no meio o bastante simples, quando onde as mensagens s ao transmitidas, o Z-Wave utiliza uma soluc a um dispositivos quer enviar uma mensagem pela rede ele primeira escuta o meio e caso ele esteja ocupado espera um tempo aleat orio para tentar mandar a mensagem novamente, se o meio estiver ocioso ent ao a envia.
2 http://www.ihclub.com.br 3 http://www.apple.com/ios

2.1 Automac a o Residencial

22

Numa rede Z-Wave podem haver 232 dispositivos ativos na rede, o que pode ser pouco dependendo da resid encia e da complexidade do sistema em que forem instalados. Para diminuir o foi inclu essa limitac a do no protocolo uma funcionalidade bem interessante que s ao os n os virtuais. Um dispositivo Z-Wave com a funcionalidade de controle pode servir como ponte que esses dispositivos podem pertencer a para v arios outros dispositivos. O interessante disso e outros tipos de rede como TCP/IP e X10, e para o restante da rede ser ao vistos como dispositivos Z-Wave. Essa funcionalidade permite um n umero acima de 125 n os virtuais na rede Z-Wave e o do protocolo com sistemas pr possibilita a integrac a e-instalados numa resid encia. Os dispositivos na rede Z-Wave podem rotear mensagens formando uma rede em malha o que resulta num aumento do alcance de suas transmiss oes. As mensagens enviadas podem o, al carregar no m aximo 64 bytes de informac a em disso, quando um dispositivo recebe uma mensagem ele envia para a origem uma mensagem do tipo acknowledge para conrmar o rece o contra ru bimento com sucesso. Para a protec a dos ou interfer encias no meio, as mensagens enviadas cont em um campo que guarda um valor de checksum para que o dispositivo de destino es recebidas. Quando uma mensagem e enviada e possa vericar a integridade das informac o recebida uma conrmac o de recebimento ou quando e identicado um erro durante a n ao e a o do valor de checksum, e feita uma retransmiss vericac a ao dessa mensagem. o que exercem Numa rede Z-Wave existem v arios tipos de dispositivos dependendo da func a nico dispositivo do tipo Controlador Prim na rede. Toda rede Z-Wave ter a um u ario, que ser a es como a inclus respons avel por iniciar a rede e por func o ao e exclus ao de dispositivos da rede. o de gerenciar a rede, por Os dispositivos podem ser do tipo Controlador, que tem a func a em es de modo indireto, ou seja, mediante comandos do Controlador Prim s o executa ac o ario. Os dispositivos podem tamb em ser do tipo Escravo, s ao eles quem enviam, recebem e encaminham as mensagens na rede. Os dispositivos do tipo Controlador podem ainda ser classicados como Port ateis ou Est aticos. Os Controladores Port ateis tem a capacidade se movimentar na rede, es nela automaticamente. pois, podem modicar a tabela de roteamento atualizando suas posic o o de ponte para n Os Controladores Est aticos exercem a func a os virtuais e para isso devem ter es na tabela de rotas deve haver um pouca mobilidade na rede, pois para atualizar suas posic o evento externo, como um aperto de bot ao por exemplo. Modest Solution o para automac o residencial onde e A empresa Modest Solution4 disp oe de uma soluc a a o, climatizac o, sonorizac o e eletroeletr poss vel controlar c ameras, iluminac a a a onicos como te4 http://www.modestsolution.com.br

2.1 Automac a o Residencial

23

o das interfaces de controle e dos dispositivos que levisores e home theaters. Para a comunicac a utilizado o protocolo Z-Wave para resid controlar ao os eletros da casa e encias j a constru das e cabeamento estruturado para resid encias ainda em fase de projeto. o da Modest Solution funciona de forma descentralizada, ou seja, O sistema de automac a o entre os controles e os dispositivos n ao existe qualquer equipamento mediando a comunicac a o no sistema, j terminais. Isso cria uma certa limitac a a que n ao havendo um servidor ativo o tempo todo na rede se perde funcionalidades como o agendamento de tarefas aos dispositivos. o da criac o de cen Nesse sistema tamb em h a a opc a a arios. Esses cen arios permitem que diferentes tipos de dispositivos tais como, l ampadas, televisores e persianas, sejam controlados o de na mesma tela da interface de controle. Um exemplo dessa funcionalidade seria a criac a cen arios espec cos para cada c omodo da resid encia.

2.1.4

ZigBee

Um grupo de v arias empresas entre elas Philips, Texas Instruments, Intel, Cisco e AT&T formam a ZigBee Alliance5 . Esse grupo desenvolveu o ZigBee (ZIGBEE ALLIANCE, 2005), um protocolo criado para sistemas sem o espec cos, que n ao necessitem de altas taxas de o. O ZigBee foi constru transmiss ao tais como sistemas de controle e automac a do sobre o padr ao IEEE 802.15.4 (IEEE, 2006) que dene as redes pessoais sem o com baixa taxa de transmiss ao, e por isso produtos de diferentes fabricantes s ao mais compat veis entre si do que em outros protocolos. O ZigBee utiliza as bandas ISM de 868 e 915 Mhz al em da banda de 2,4 Ghz, para a transmiss ao dos dados que pode chegar a taxa de 250 Kbps. O alcance dessas transmiss oes realizada e dos dispositivos utilizaatinge em m edia 50 metros dependendo do ambiente onde e poss dos. Por em, e vel estender esse alcance congurando os n os da rede ZigBee para atuarem o as mensagens podem ser encaminhadas por diversos n como roteadores. Nessa congurac a os at e chegarem ao destino. feito uso do protocolo Carrier Sense Multiple AcPara a transmiss ao das mensagens e cess With Collision Avoidance (CSMA/CA), que escuta o meio antes de enviar a mensagem, e caso ele esteja ocupado, toma medidas para evitar colis oes na rede. Outra medida tomada a utilizac o da t e a ecnica Direct Sequence Spread Spectrum (DSSS) para alargar o espectro de frequ encias do sinal e, consequentemente, aumentar a imunidade dele a ru dos. rea. Ele ainda O protocolo ZigBee suporta no m aximo 65.536 redes coabitando a mesma a
5 http://www.zigbee.org

2.1 Automac a o Residencial

24

prev e dois tamanhos para enderec os, os mais curtos de 16 bits - para reduzir o tamanho do nicos na rede, e os de 64 bits que pacote - que possibilitam a quantidade de 65.536 enderec os u possibilitam mais de 18x1018 de enderec os. Os enderec os dos m odulos ZigBee v em gravados o e n desde a sua fabricac a ao podem ser alterados. poss No ZigBee e vel garantir a seguranc a na transfer encia das mensagens utilizando crip es e conseguida utilizado-se um esquema tograa. J a a conabilidade dessa troca de informac o o de erros para vericar a integridade dos dados recebidos, caso seja identicado de detecc a um erro, ent ao ser a realizada uma retransmiss ao da mensagem. Al em disso, para toda mensa o de gem enviada - exceto as de broadcast - deve ser recebida uma mensagem de conrmac a recebimento com sucesso do destino, caso contr ario, tamb em ocorrer a a retransmiss ao dessa mensagem. Control4 es na a rea de automac o, desenA empresa americana Control46 , especializada em soluc o a o residencial completo onde e poss volveu um sistema de automac a vel controlar desde equipamentos mais simples como lumin arias, at e equipamentos eletr onicos mais complexos como televisores, equipamentos de ar-condicionado, aparelhos de som e home theaters. O usu ario pode utilizar como interface de controle pain eis com telas sens veis ao toque, controles remotos convencionais e ainda pode utilizar aplicativos dispon veis para dispositivos m oveis rodando iOS e tamb em para computadores pessoais e laptops. Os dispositivos que controlam os eletros utilizam a rede ZigBee no envio dos comandos, j a as interfaces de controle o dos controles remotos convencionais que tamb utilizam a rede Wi-Fi, com excec a em utili o entre as interfaces de controle e os dispositivos, a Control4 zam ZigBee. Para a comunicac a desenvolveu um equipamento denominado Controller que integra os dois tipos de rede. o tamb Essa soluc a em disponibiliza o Composer Home Edition, um software para compu o de cen tadores pessoais que permite, entre outras coisas, a criac a arios personalizados para o controle dos dispositivos e tamb em o agendamento de eventos como acendimento de l ampadas e a mudanc a de temperatura dos equipamentos de ar-condicionado, em hor arios espec cos. o para automac o residencial da Control4 os dispositivos que controlam os eletros Na soluc a a e o Controller podem ser adquiridos separadamente de acordo com a necessidade do usu ario. Os aplicativos para dispositivos m oveis e computadores podem ser baixados gratuitamente, por em, o usu ario ter a que adquirir uma licenc a de funcionamento para cada dispositivo usado como
6 http://www.control4.com

2.2 Padr ao IEEE 802.15.4 e ZigBee

25

interface de controle.

2.1.5

Comparativo

o 2.1 foram apresentados importantes protocolos da automac o residencial seja Na Sec a a o no mercado. Al pelo aspecto hist orico ou seja pela grande utilizac a em disso, foram apre o residencial presentes no mercado que utilizam sentados exemplos de produtos de automac a esses protocolos. Foram descritas caracter sticas desses protocolos como o meio e a taxa de transmiss ao que utilizam, e outras como topologias de rede e funcionalidades de seguranc a que possuem. Na Tabela 2.1 essas caracter sticas s ao postas lado a lado.
X10 Insteon Z-Wave ZigBee Rede El etrica Rede El etrica e RF Radiofrequ encia Radiofrequ encia 902 MHz 902 MHz 868, 915 MHz e 2,4 GHz 60 bps 38,4 Kbps 40 Kbps 250 Kbps Estrela Malha Malha Estrela, Malha, Arvore 4 bits 2 bytes 64 bytes Vari avel Baseada na AES 128 bits AES 128 bits Instal. simples H brido Roteamento Baixo consumo

Meio F sico Bandas de RF Taxa M axima Topologias Qtd. de Info. Seguranc a Caracter stica

Tabela 2.1: Comparativo entre os protocolos. poss E vel perceber que o X10, mesmo tendo a caracter stica de ser utilizado diretamente na bastante simples e n o de topologias de rede rede el etrica da resid encia, e ao possibilita a formac a mais complexas ou mesmo possui recursos de seguranc a. Em contrapartida, o ZigBee se mostra o protocolo mais completo, dos apresentados na tabela, possibilitando diversas topologias e bandas para transmiss ao, al em de possuir funcionalidades sosticadas de seguranc a e economia de energia.

2.2

Padr ao IEEE 802.15.4 e ZigBee

o das redes sem o em ambientes comerciais e residenciais, onde um Com a popularizac a longo alcance e uma alta taxa de transfer encia de dados s ao caracter sticas desej aveis, tornou-se necess ario o desenvolvimento de uma tecnologia voltada para redes espec cas, como as in o. Essas redes n dustriais e de automac a ao necessitam de grandes taxas de transmiss ao, por em, elas requerem dispositivos que tenham um baixo consumo de energia. Por essa raz ao foi desenvolvido o padr ao IEEE 802.15.4. Esse padr ao dene a Low-Rate Wireless Personal Area o industrial e residencial, Network (LR-WPAN) e pode ser aplicado em sistemas de automac a militares, de monitoramento sem o, entre outros.

2.2 Padr ao IEEE 802.15.4 e ZigBee

26

No 802.15.4 s ao utilizadas as bandas ISM de 868 Mhz (Europa somente), 902 Mhz e 2,4 utilizado apenas um canal de Ghz para as transmiss oes de dados. Na Banda de 868 Mhz e transmiss ao e consegue-se taxas de no m aximo 40 Kbps, na banda de 902 Mhz s ao utilizados at e 8 canais que possibilitam taxas de at e 40 Kbps, j a na banda de 2,4 Ghz s ao dispostos 16 canais e a taxa m axima salta para 250 Kbps. Quando se utiliza bandas com v arios canais, os dispositivos que controlam a rede podem ser congurados para escolher automaticamente o canal que estiver ocioso, isso permite que possam coexistir v arias redes sem o numa mesma rea. a Numa rede 802.15.4 existem dois tipos de dispositivos: os Full Function Devices (FFD) e os Reduced Function Devices (RFD). Os FFDs s ao dispositivos que podem se comunicar com qualquer outro tipo de dispositivo, ou seja, FFDs e RFDs. Esses dispositivos podem ainda es de controle e gerenciamento da rede. Em contrapartida, os RFDs podem se exercer func o es extras na rede. comunicar apenas com os FFDs e n ao exercem quaisquer func o As mensagens do 802.15.4 s ao transmitidas em forma de pacote. Como mostra a Fi dividido em tr gura 2.5, o pacote e es partes: o Medium Access Control Header (MHR), a o enviada (Medium Access Control Payload (MAC Payload)), e um Medium Access informac a Control Footer (MFR). No MHR est ao contidos o campo delimitador de quadro (Frame Control), indicando o in cio do pacote, um campo com o n umero de sequ encia do pacote, e os campos de enderec amento. O campo MAC Payload tem o comprimento vari avel e seu tamanho m aximo varia de fabricante pra fabricante. No MFR est a contido o valor do Frame Checksum es recebidas, e caso Sequence (FCS). Esse valor serve para vericar a integridade das informac o seja encontrado algum erro, ent ao ser a requisitada uma retransmiss ao do pacote ao dispositivo de origem.

Figura 2.5: Quadro de mensagem(IEEE, 2006). poss Para o envio das mensagens e vel utilizar enderec os de 16 ou 64 bits. O enderec o atribu xo e de 16 bits e do ao dispositivo quando este se conecta a rede, j a o de 64 bits e utilizado exclusivo para cada dispositivo ZigBee fabricado. Para a troca de mensagens na rede e facilmente mut o enderec o de 16 bits, por em, como ele e avel, na montagem dos pacotes deve ser utilizado o enderec o de 64 bits. Durante o envio da mensagem, a rede ZigBee utilizar a

2.2 Padr ao IEEE 802.15.4 e ZigBee

27

esse enderec o de 64 bits para descobrir o enderec o mais curto atual do dispositivo de destino e, assim, evitar perdas de pacotes.

2.2.1

ZigBee

O padr ao IEEE 802.15.4 dene as camadas Physical Layer (PHY) e Medium Access Control Layer (MAC Layer) para as LR-WPANs, entretanto, as camadas superiores precisam ser es que utilizarem essa base. O ZigBee e uma delas, ele utiliza a denidas pelas especicac o o base denida pelo 802.15.4 e adiciona outras duas camadas, as camadas de rede e de aplicac a o, como visto na Figura 2.6. a qual pertence a sub-camada de suporte a aplicac a
Aplicao (AF) Subcamada de Suporte a Aplicao (APS) Camada de Rede (NWK)
Camada de Controle de Acesso ao Meio
Aplicaes do Usurio

Plataforma ZigBee IEEE 802.15.4

(MAC) Camada Fsica (PHY)

Figura 2.6: Pilha do protocolo ZigBee. respons es como o gerenciamento de inclus A camada de rede e avel por func o ao/exclus ao de o de rotas na rede. J o fornece as dispositivos e a descoberta e manutenc a a a camada de aplicac a es necess instruc o arias para o desenvolvimento dos servic os. Nessa camada ainda est ao contidos servic os como os de seguranc a, os da fabricante do dispositivo e tamb em servic os do usu ario. o de roteador, coordenador ou pontos Numa rede ZigBee um dispositivos pode ter a func a nais. Os roteadores s ao dispositivos montados sobre a arquitetura FFD do 802.15.4, eles podem enviar, receber e encaminhar mensagens na rede. Em uma rede ZigBee sempre deve haver nico roteador com func o de coordenador, e ele quem inicia e gerencia a rede. J um u a a os pon es da rede, por isso, s tos nais s ao projetados sobre a arquitetura RFD, eles s ao as terminac o o enviam e recebem mensagens. Os pontos nais n ao necessitam estar o tempo todo funcionando, eles podem entrar em o, fazendo-os car parcialmente desligados, e de tempos em tempos acordar modo de hibernac a para se comunicar na rede. Operando nesse modo, eles consomem pouca energia podendo ser alimentados, inclusive, por baterias durante meses e at e anos. Esse baixo consumo de energia

2.2 Padr ao IEEE 802.15.4 e ZigBee

28

o se comparado a outras tecnologias torna o ZigBee mais apropriado para sistemas de automac a mais populares de rede sem o como o Wi-Fi (IEEE, 2007). No ZigBee as redes podem ser implantadas utilizando-se as topologias em forma de estrela, rvore ou em malha, como mostra a Figura 2.7. A topologia em estrela e formada por um em a roteador - atuando como coordenador - e v arios pontos nais, sendo que todas as mensagens da rvore funciona rede passar ao por esse roteador para chegarem ao seu destino. A topologia em a como uma arranjo de v arias topologias em estrela. J a na topologia em malha, o n ucleo da rede formado por roteadores e podem haver pontos nais nas bordas. Nesse caso, as mensagens e podem passar por quantos dispositivos forem necess arios para chegar ao destino. Essa capacidade de encaminhamento das mensagens do ZigBee permite a transmiss ao de mensagens a dist ancias maiores que outras tecnologias de rede sem o que tamb em possibilitam baixo con poss sumo energ etico como, por exemplo, o Bluetooth (BLUETOOTH, 1998) onde n ao e vel topologias em malha.

Rede em estrela

Rede em rvore

Coordenador ZigBee Roteador ZigBee End-device ZigBee

Rede em malha

Figura 2.7: Topologias da rede ZigBee.

2.2 Padr ao IEEE 802.15.4 e ZigBee

29

Seguranc a uma das caracter o A seguranc a nas redes ZigBee e sticas que mais o destacam em comparac a a seus concorrentes. Para garantir a seguranc a na troca de mensagens, est ao presentes nele funcionalidades como o controle de acesso, integridade das mensagens, condencialidade das o contra ataques de repetic o. Essas funcionalidades s mensagens, e protec a a ao implementadas o (SASTRY; WAGNER, na MAC Layer e s ao manipuladas pelos servic os da camada de aplicac a 2004). O controle de acesso previne que dispositivos intrusos se comuniquem numa rede privada, j a a integridade das mensagens, garante que as mesmas n ao sejam alteradas no meio do percurso inclu de transmiss ao. Para garantir essas funcionalidades, e do em cada pacote um Message Authentication Code (MAC). O MAC funciona como um c odigo de checksum criptografado. gerado na origem utilizando-se uma chave secreta, e quando recebe o pacote, o destino Ele e recalcula o MAC utilizando essa mesma chave secreta. Se o MAC recebido no pacote e o MAC calculado no destino forem diferentes, signica que o pacote n ao foi enviado por um dispositivo pertencente a rede, ou que ele foi alterado (SASTRY; WAGNER, 2004). es contidas nos pacotes, o ZigBee utiliza Para garantir a condencialidade das informac o criptograa. Essa condencialidade, al em de garantir que um intruso n ao tenha acesso a essas es, tem que garantir tamb informac o em que ele n ao consiga acessar nenhuma parte delas. A feita de modo sim criptograa das mensagens no ZigBee e etrico, ou seja, os dispositivos de origem e destino utilizam a mesma chave para criptografar e descriptografar as mensagens. utilizado o padr Para isso e ao AES (DAEMEN; RIJMEN, 2002) com chaves de 128 bits. Uma nica chave pode ser compartilhada por todos os n u os da rede, ou ainda, pode utilizar-se uma chave distinta para cada par de n os que se comunicam. o s Ataques de repetic a ao feitos repetindo-se mensagens de um n o v alido na rede sem alter a` las. Um exemplo seria a captura de uma mensagem de pagamento de uma pessoa destinada a o nanceira. Quem capturou essa mensagem poderia enviar ela repetidas vezes, uma instituic a e ent ao seriam efetuados diversos pagamentos. Para evitar isso, os pacotes da rede ZigBee inserido um n t em um campo onde e umero de sequ encia, como visto na Figura 2.5, e caso um dispositivo receba um pacote com o mesmo n umero de sequ encia de uma mensagem recebida anteriormente, esse pacote ser a descartado.

2.3 Arduino

30

2.3

Arduino

A plataforma Arduino7 foi desenvolvida em 2005 no Interaction Design Institute Ivrea na It alia com o intuito de ser utilizada como uma ferramenta simples e f acil de usar mesmo para o e eletr leigos em programac a onica. Essas caracter sticas tornaram ela uma plataforma muito utilizada para o desenvolvimento de prot otipos. Por se tratar de uma plataforma aberta de hardware e software, qualquer fabricante pode montar e vender kits Arduino baseados no original sem precisar pagar por isso. composto por uma placa de sil soldado um microO kit padr ao do Arduino e cio na qual e de conectores para controlador da fam lia Atmega8 , que cont em o c odigo a ser executado, alem as portas do microcontrolador e para conex oes externas (p. ex. USB). Esse microcontrolador o serial, portas de entrada cont em portas de entrada e sa da digitais, portas para comunicac a poss anal ogicas e de sa da PWM (Power Wave Modulation), onde e vel controlar o n vel de tens ao da sa da, entre outras, como mostra a Figura 2.8. Nessas portas de entrada e sa da e poss vel conectar bot oes, sensores, LEDs ou quaisquer outros dispositivos el etricos, tornando in umeras as possibilidades de uso para o kit.

Figura 2.8: Elementos de um kit Arduino (HERRADOR, 2009). o de shields, A expans ao das funcionalidades do kit Arduino pode ser feita com a utilizac a os quais, consistem de placas que devem ser acopladas aos kits e podem conter, entre outros dispositivos, interfaces Ethernet ou Wi-Fi para se comunicarem pela rede IP, ou mesmo transmissores ZigBee o que tornaria esses kits n os dessa rede. Para permitir que kits Arduino se comuniquem numa rede ZigBee podem ser utilizados os
7 http://www.arduino.cc 8 http://www.atmel.com

2.3 Arduino

31

m odulos XBee (DIGI INTERNATIONAL INC., 2009). Esses m odulos devem ser acoplados ` um XBee Shield9 e s a ao congur aveis para exercerem funcionalidades j a mencionadas na o 2.2. Sec a o dos microcontroladores, o Arduino utiliza uma linguagem, baseada no Para a programac a implementada em C/C++. Por esse motivo, a linguagem do Arduino encapsula Wiring10 , que e o do microcontrolador como, por exemplo, a diversos aspectos de baixo-n vel da programac a o de registradores. Isso torna a programac o do Arduino mais amig manipulac a a avel se comparada a outras plataformas(WADDINGTON; TAYLOR, 2007). Para o desenvolvimento de projetos no Arduino foi criada uma Integrated Development Environment (IDE) onde o usu ario pode escrever e compilar seus c odigos. Al em disso, ela poss possui uma ferramenta chamada Serial Monitor onde e vel enviar dados pela porta serial do Arduino e visualizar os dados recebidos. Na IDE tamb em est ao dispon veis c odigos com o dos mais variados dispositivos el exemplos de utilizac a etricos. A Figura 2.9 mostra um dos exemplos de c odigo dispon veis na IDE. Ap os ser compilado e instalado no microcontrolador, ele faz com que o mesmo acende e apague um LED, que deve estar conectado na porta digital. Todos os programas escritos para a plataforma Arduino es setup() e loop(). A func o setup() e sempre chamada no in dever ao conter as func o a cio da o, antes de qualquer outra e pode ser utilizada para inicializar vari execuc a aveis e congurar o loop() e chamada em seguida, ela e repetida innitas as portas do microcontrolador. A func a nela que dever es podem ser vezes, portanto, e a car toda a l ogica do programa. Outras func o es setup() ou loop(). criadas, por em, elas s o poder ao ser chamadas de dentro das func o
1 2 3 4 5 6 7 8 9 10 11 12 13 14

void setup() { // inicializando a porta digital como saida // A porta 13 tem um LED conectado a ela na maioria dos kits Arduino: pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // acende o LED delay(1000); // espera por um segundo digitalWrite(13, LOW); // apaga o LED delay(1000); // espera por um segundo }

Figura 2.9: C odigo para piscar um LED no Arduino.


9 http://www.libelium.com 10 http://wiring.org.co

2.4 XBee

32

2.4

XBee

Os m odulos XBee foram desenvolvidos pela Digi International11 - membro da ZigBee Alliance - com o intuito de permitir que dispositivos eletr onicos de todos os tipos se comuniquem pela rede ZigBee. Esses m odulos consistem em pequenas placas onde est ao presentes transmis es recebidas sores que se comunicam em redes ZigBee utilizando radiofrequ encia. As informac o pelo r adio podem, inclusive, ser passadas para o dispositivo que faz uso do m odulo atrav es da o serial existente entre eles. comunicac a Existem duas vers oes de m odulos XBee, denominadas Series 1 e 2, sendo a principal diferenc a entre as duas a capacidade de roteamento de mensagens, presente apenas na Series 2. Existe ainda uma vers ao PRO de cada Serie, que basicamente tem a pot encia de transmiss ao maior do que as vers oes comuns, por em, resultando num consumo maior de energia. Os m odulos XBee podem operar tanto no modo AT quando no modo Application Program o com os outros m feita de forma ming Interface (API). No modo AT a comunicac a odulos e transparente, ou seja, os dados s ao enviados como se os dois m odulos - transmissor e receptor - estivessem conectados por uma interface serial. J a no modo API os dados s ao enviados em es como enderec forma de pacote que, al em dos dados, carregam informac o o de origem e de destino. o dos m Para a congurac a odulos XBee pode ser feito uso do aplicativo X-CTU12 , tamb em necess es da comunicac o desenvolvido pela Digi. Inicialmente e ario escolher as congurac o a o, que deve ser igual serial como a porta em que o m odulo est a conectado e a taxa de comunicac a es iniciais j poss a utilizada pelo m odulo (Figura 2.10(a)). Concluindo as congurac o ae vel congurar o m odulo no menu, mostrado na Figura 2.10(b), com as caracter sticas desejadas, o, opc es de tais como o identicador da rede, seu enderec o, o canal utilizado na comunicac a o criptograa, entre outras.

2.5

Android

Os telefones inteligentes se tornaram populares, contudo, seus sistemas operacionais pro o para diferentes dispositivos priet arios dicultam o desenvolvimento de uma mesma aplicac a m oveis. Por essa raz ao, um grupo de empresas lideradas pelo Google formaram a Open Handset Alliance. Essa alianc a tem como objetivo o desenvolvimento do Android (OPEN HANDSET
11 http://www.digi.com 12 http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125

2.5 Android

33

o serial do X-CTU (a) Congurar comunicac a

es no m (b) Gravar congurac o odulo

o de m Figura 2.10: Congurac a odulos no X-CTU ALLIANCE, 2008), um sistema operacional de c odigo aberto, e por isso, pode ser utilizado por qualquer fabricante de dispositivos m oveis. Como mostra a Figura 2.11, na base da arquitetura do Android encontra-se um Kernel Linux. Sobre ele est ao as bibliotecas C/C++ de v arios componentes do sistema como a biblioteca de m dia, a do banco de dados SQLite13 , a de gerenciamento da tela, entre outras. Sobre o Kernel tamb em roda a Dalvik, uma m aquina virtual Java otimizada para dispositivos m oveis que o JIT (Just In Time) para possui recursos para economia de mem oria e implementa a compilac a economia de processamento. Rodando sobre a m aquina virtual e fazendo uso das bibliotecas es do sistema e as aplicac es do usu est ao as aplicac o o ario. es para Android o Google disponibilizou um Software Para o desenvolvimento das aplicac o Development Kit (SDK). Esse kit cont em, entre outras ferramentas, um emulador de telefone poss es, c es celular - onde e vel testar as aplicac o odigos com diversos exemplos de aplicac o o. Para a escrita dos c recomendado a utilizac o da IDE e ferramentas de depurac a odigos e a poss es no emulador de Eclipse14 , onde, al em de escrever, e vel compilar e instalar aplicac o o da maneira simples grac as a um plugin disponibilizado pela pr opria Google para a integrac a SDK com o Eclipse. o de software e utilizada a linguagem Java, entretanto, para a criac o Para a programac a a
13 www.sqlite.org 14 www.eclipse.org

2.5 Android
Aplicaes Android Arcabouo de Aplicaes
Activity Manager Window Manager Notication Manager View System

34

...

... Bibliotecas

...

Media Framework OpenGL

SQLite Surface Manager

Ambiente de execuo

...

... Kernel Linux

Dalvik VM

Figura 2.11: Arquitetura do Android. das interfaces gr acas pode ser utilizada tamb em a linguagem Extensible Markup Language o. Quando se utiliza XML (XML), deixando o c odigo Java apenas com a l ogica de programac a o da interface gr necess na criac a aca, e ario atribuir aos objetos nesses arquivos um valor de o para que eles possam ser convertidos para objetos Java, como e mostrado na Fiidenticac a gura 2.12.
Interface da aplicao Descrio da interface em XML Classe Java com a lgica

o Android utilizando Java e XML. Figura 2.12: Aplicac a

35

DroidLar

o residencial apresentados na Sec o 2.1 oferecem muitas opc es Os sistemas de automac a a o o, al o de aplicativos em de congurac a em disso, os mais sosticados possibilitam a utilizac a es telefones inteligentes. Em contrapartida, as suas infraestruturas propriet arias limitam as opc o o na resid do usu ario na hora de substituir um dispositivo, ou mesmo, ampliar a automac a encia. o residencial completo, onde e poss O DroidLar consiste num sistema de automac a vel controlar eletroeletr onicos de uma resid encia utilizando como interface de controle celulares Android.

3.1

Arquitetura

A arquitetura do DroidLar foi constru da de forma centralizada, ou seja, um servidor central capaz de se comunicar tanto com as interfaces de controle quanto gerencia toda a rede. Este e poss dividido com os dispositivos controladores. Como e vel ver na Figura 3.1, o DroidLar e o Residencial (SAR), e kits Arduino. em tr es partes: cliente Android, Servidor de Automac a O cliente Android atua como uma interface de controle no sistema e se comunica pela rede IP, os kits Arduino funcionam como controladores de dispositivos e utilizam ZigBee para a o, j o servidor central, ele se comunica tanto pela rede IP quanto por comunicac a a o SAR e o transferir as mensagens entre essas duas redes. ZigBee e tem como principal func a

3.1.1

Controladores de Dispositivos

o residencial, tem a func o de executar os Os controladores de dispositivos, na automac a a comandos enviados pelas interfaces de controle nos eletroeletr onicos da resid encia tais como acender l ampadas, fechar cortinas e alterar a temperatura de aparelhos de ar-condicionado. Nor es de acordo malmente, esses dispositivos s ao constitu dos de microcontroladores e realizam ac o com o comando recebido. Nesse trabalho foram utilizados kits Arduino para a prototipagem dos controladores de o 2.3. A Figura 3.2 e uma dispositivos, devido as suas caracter sticas apresentadas na Sec a

3.1 Arquitetura

36

Figura 3.1: Elementos do DroidLar. poss fotograa desses kits, nela e vel ver que em cada matriz de contato est ao dispostos tr es LEDs e tr es bot oes, al em de os conectados as portas do microcontrolador presente no Arduino. Os LEDs fazem o papel das l ampadas controladas de uma resid encia. Estes est ao conectados nas sa das Pulse Width Modulation (PWM) do microcontrolador. Os bot oes est ao conectados o de interruptores das l nas entradas digitais e fazem a func a ampadas (Figura 3.3).
Kit Arduino

Kit Arduino

Mdulo do SAR

Figura 3.2: Prot otipos do DroidLar. o com o SAR pelo protocolo ZigBee (ZIGBEE ALLIANCE, 2005) foPara a comunicac a ram acoplados aos kits Arduino m odulos XBee1 utilizando shields. Esses m odulos recebem as mensagens pela rede sem o e as transferem para o microcontrolador utilizando uma conex ao serial. Os m odulos XBee foram congurados em modo API (DIGI INTERNATIONAL INC., feito 2009) e, por isso, recebem as mensagens em forma de pacote. No microcontrolador e es leg o mapeamento desses pacotes para tornar as suas informac o veis e ent ao, executar um
1 http://www.digi.com

3.1 Arquitetura

37

determinado procedimento.

o dos circuitos nos Kits. Figura 3.3: Congurac a es: (1) executar efetivamente os comandos Os kits Arduino possuem apenas duas func o recebidos no eletroeletr onico conectado a uma de suas portas; (2) enviar ao SAR uma mensagem contendo o estado dos dispositivos que controla, por exemplo, a quantidade de dispositivos, o executada toda vez que e recebida tipo de dispositivo e se est ao ligados ou n ao. A primeira e o do comando, j executada sempre que o uma mensagem do SAR com a requisic a a a segunda, e ligado e, tamb recebida uma mensagem de varredura do dispositivo controlador e em, quando e SAR. Na escrita do c odigo do Arduino, foi utilizada uma API, implementada em C/C++, para o das mensagens ZigBee 2 . Ela simplica o processo de montagem dos facilitar a manipulac a pacotes enviados e o mapeamento dos pacotes recebidos. Al em disso, nessa API est ao contidas es que possibilitam facilmente a obtenc o de campos importantes dos pacotes como a instruc o a o recebida e o enderec informac a o de origem. o dos m Para a congurac a odulos XBee foi utilizado o aplicativo X-CTU3 . Foi escolhido 54 Mbytes para o tamanho m aximo do conte udo dos pacotes. A criptograa foi desabilitada e, o serial entre o m por isso, n ao ser a utilizado espac o extra dos pacotes. A comunicac a odulo e o microcontrolador, foi congurada com a taxa de 9,6 Kbps e o sinal de radiofrequ encia para ser transmitido com aproximadamente 3 dBm de pot encia.

3.1.2

SAR

o servidor central do DroidLar. Ele e capaz de comunicar-se tanto pelas redes ZigO SAR e o Bee quanto pelas redes IP. Isso se deve ao fato de ter sido utilizado redes ZigBee na comunicac a
2 http://code.google.com/p/xbee-arduino 3 http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125

3.1 Arquitetura

38

o 2.2, e os dos controladores de dispositivos, por causa das caracter sticas j a descritas na Sec a telefones inteligentes presentes no mercado n ao poderem se comunicar nessas redes, sendo capazes de se comunicar apenas nas redes IP. Por essa raz ao, cabe ao SAR a transfer encia das mensagens entre essas duas redes. o residencial deve permanecer operando constantemente, pois, al O servidor de automac a em respons de gerenciar as mensagens trocadas entre os membros da rede, ele e avel tamb em por executar tarefas agendadas pelo usu ario como acender ou apagar as luzes de determinadas l ampadas em determinadas datas. O SAR foi implementado em forma de um software rodando num computador pessoal. Para o se comunicar com o cliente no Android e necess essa aplicac a ario que esse computador esteja o com os kits Arduino, e necess conectado em alguma rede IP, j a para a comunicac a ario que haja um m odulo XBee, assim como nos Arduinos, conectado em uma das portas USB desse computador (Figura 3.2). Esse m odulo XBee tem que estar congurado como coordenador da es dessa rede. rede ZigBee e, assim, ser o respons avel pelas congurac o o na rede IP por parte da aplicac o servidora, e a utilizac o Uma alternativa para a comunicac a a a de sockets Transmission Control Protocol (TCP) diretamente. Sockets s ao interfaces, acess veis o, que permitem criar conex na camada de aplicac a oes na rede IP utilizando um enderec o dessa o deles e bastante simples e, por isso, sistemas que tenham rede e uma porta TCP. A utilizac a uma grande quantidade de conex oes simult aneas ter ao que implementar uma l ogica adicional para suportar essa demanda. es servidoras de grande porte e que necessitem que tarefas complexas sejam exeAplicac o es Web. Essas cutadas em segundo plano, podem ser implementadas fazendo uso de aplicac o es funcionam como extens aplicac o oes de servidores Web e, por isso, procedimentos como o o de sess o de mensagens de procontrole de acessos, manutenc a oes das conex oes e manipulac a o, s tocolos da camada de aplicac a ao transparentes ao desenvolvedor durante a escrita destas es. aplicac o es Web testadas nesse trabalho foram os Servic Uma das tecnologias para aplicac o os Web. o multiplataforma, ou seja, servic Eles t em como principal caracter stica a comunicac a os ope conseguida rando em sistemas distintos podem comunicar-se diretamente. Essa transpar encia e o de pelo fato dos dados, de ambos os lados, serem enviados por meio de XML. A utilizac a XML implica num n umero maior de bytes na troca de mensagens se comparada a transmiss ao o pura. Outra caracter que eles n de mensagens contendo informac a stica dos Servic os Web e ao o de servic guardam o estado das vari aveis do seu c odigo, sendo necess aria a utilizac a os adicionais, como banco de dados, para isso, o que pode ser um inc omodo na fase inicial de um

3.1 Arquitetura

39

projeto. o do SAR foi utilizado um Servlet. Os Servlets s Para a implementac a ao programas escritos es Web. Eles t es HTTP recebidas em Java utilizados em aplicac o em o acesso direto as requisic o o cliente que tamb pelo servidor Web, portanto, podem interagir com qualquer aplicac a em utilize HTTP para se comunicar. Diferentemente dos servic os Web, eles consistem em classes Java nica vez - quando o servidor Web e iniciado - o que os permite memorizar as instanciadas uma u o. vari aveis dos seus c odigos e mant e-las durante todo o tempo de execuc a o Web na qual consiste o SAR deve rodar sobre um servidor Web que suporte A aplicac a esse tipo de tecnologia e, consequentemente, atue como uma interface de acesso a rede externa o GlassFish4 por para esta. No projeto DroidLar foi utilizado o servidor de aplicac a em, outros o que tamb servidores de aplicac a em oferecem esse tipo de suporte poderiam ser utilizados, como por exemplo o Apache Tomcat5 . o com os kits Arduino pela rede ZigBee, foi Para a escrita da l ogica para a comunicac a o dos Arutilizada uma API6 em Java. Essa API, assim como a utilizada para a programac a duinos, possibilita de maneira simples acessar os dados dos pacotes recebidos tais como seu o desse dispositivo na rede ZigBee (se e roteador ou end-device) enderec o de origem, a func a es, propriamente ditas. Al e as informac o em disso, ele possibilita o envio de comandos AT es desse ao m odulo conectado ao SAR, o que possibilita o acesso por c odigo das congurac o m odulo. o e tomada O SAR possui a funcionalidade de executar varreduras na rede ZigBee. Essa ac a o do cliente Android. O SAR ent toda vez em que ele recebe uma requisic a ao envia uma mensagem para todos os dispositivos da rede ZigBee e os que estiverem ativos respondem com suas es e, assim, e poss informac o vel atualizar as listas com os dados conhecidos pelo servidor. O SAR pode, ainda, receber tanto mensagens de controle quanto mensagens de gerenciamento. As mensagens de controle s ao enderec adas aos controladores de dispositivos para to es como a de acender parcialmente determinada l o de marem ac o ampada, tendo o SAR a func a recebe-las da rede IP e transferi-las para a rede ZigBee e vice-versa. J a as mensagens de gereno ciamento s ao trocadas apenas entre o SAR e os clientes Android e podem ser para autenticac a o de pers. ou edic a
4 http://glassfish.java.net 5 http://tomcat.apache.org 6 http://code.google.com/p/xbee-api

3.1 Arquitetura

40

3.1.3

Cliente Android

o dos telefones inteligentes foi poss o de interfaces de conCom a popularizac a vel a criac a o residencial mais sosticadas e com uma usabilidade maior trole para sistemas de automac a o para o usu ario. Por isso, no DroidLar foi utilizado como interface de controle uma aplicac a dispon vel para telefone inteligentes que rodem Android. o atua como um cliente enviando requisic es ao servidor, para executar suas Essa aplicac a o es. Ela utiliza as conex func o oes de rede dispon veis em telefones Android como 3G e Wi-Fi, o pode enviar as para se conectar a uma rede IP. Quando est a conectado a uma rede IP, a aplicac a o 3.1.2. mensagens com os comandos ao SAR utilizando o protocolo HTTP, como visto na Sec a o cliente n A aplicac a ao necessita estar o tempo todo conectada ao SAR, mas somente quando for enviar algum comando. o e exibida a ` ele a tela mostrada na Figura 3.4(a). Nela Quando o usu ario acessa a aplicac a es que o usu est ao presentes todas as func o ario pode executar no sistema. Para executar qualquer funcionalidade no sistema, o usu ario precisa estar autenticado no servidor. Por isso, na primeira a de congurac es (Figura 3.4(b)). vez que o usu ario acessa o aplicativo, a tela mostrada e o o e senha, al Nessa tela o usu ario deve inserir seus dados de identicac a em do enderec o IP e es nesses dados, o usu porta utilizados pelo SAR. Caso queira fazer alterac o ario pode clicar no bot ao com um cone de engrenagem na tela inicial.

(a) Tela inicial

es sobre o servidor (b) Informac o

o do SAR Figura 3.4: Interface principal e de congurac a

3.1 Arquitetura

41

A Figura 3.5(a) demonstra uma tela para o controle de l ampadas. Nela o usu ario pode acender ou apagar quaisquer l ampadas da lista apenas clicando no seu cone, ou pode congur a-las com um n vel intermedi ario de luminosidade arrastando o dedo na barra horizontal correspondente a essa l ampada. baseado no envio de valores num O controle de l ampadas e ericos, correspondentes ao estado em que se queira congurar a l ampada, aos controladores de dispositivos. Em valores percen tuais seriam 0% para apagar totalmente uma l ampada e 100% para acende-la. Dessa forma, e poss vel utilizar esse sistema de valores para controlar diversos itens da resid encia como persi nica diferenc anas e port oes eletr onicos. A u a est a no equipamento acoplado as sa das do controlador, que no caso das l ampadas, tem apenas que reduzir ou aumentar a tens ao proveniente da rede el etrica da resid encia. o gerenciamento de pers. Ele pode Outra funcionalidade presente no cliente Android e ser iniciado clicando-se no bot ao com um cone de rel ogio na tela principal, encaminhando o usu ario para a tela mostrada na Figura 3.5(b). Nela, o usu ario pode criar, editar e excluir pers. Esses pers s ao grupos de dispositivos que ser ao acionados na mesma data. Os dispositivos pertencentes a algum perl possuem um hor ario inicial para serem congurados com determinado valor e um hor ario nal para congurar outro valor. Mesmo sendo executados na mesma data, dispositivos pertencentes a um mesmo perl podem ser executados em hor arios diferentes.

(a) Controle dos dispositivos

o dos pers (b) Congurac a

o dos dispositivos e pers Figura 3.5: Interfaces para congurac a

3.2 Protocolo

42

3.2

Protocolo

o entre as tr o de um proPara a comunicac a es partes do DroidLar, foi necess aria a criac a o. As mensagens desse protocolo podem ter destinos diferentes tocolo na camada de aplicac a dependendo do seu tipo. Como visto anteriormente, elas s ao transmitidas pelo cliente Android e recebidas pelo SAR utilizando o protocolo HTTP, por isso, os dados s ao passados como strings. As mensagens entre o SAR e os controladores, que trafegam pela rede ZigBee, s ao enviadas em forma de valores do tipo inteiro. Para evitar erros, os campos das mensagens que passarem pelas duas redes foram padronizados com valores num ericos.

3.2.1

Cliente Android SAR

As mensagens trocadas entre o cliente Android e o SAR servem para congurar as funci es de seguranc es onalidades extras do DroidLar. Func o a, agendamento de pers e congurac o dos dispositivos, agregam recursos ao sistema e aumentam as possibilidades de uso do mesmo, o das mensagens de autenticac o, al em do simples acender e apagar de l ampadas. Com excec a a essas mensagens s ao divididas nos seguintes campos: Tipo, Enderec o, Conte udo, e Opcional o) ser (Figura 3.6). Por em, para as mensagens a seguir (exceto a de autenticac a ao utilizados apenas os campos Tipo e Conte udo.
Tipo Endereo Contedo Opcional

Figura 3.6: Mensagem de controle padr ao.

o Autenticac a o e indicada pela constante MSG AUTENTICACAO. Para o A mensagem de autenticac a envio dos dados de usu ario e senha s ao utilizados os campos de Enderec o e Conte udo presentes mostrado na Figura 3.7. nas demais mensagens, como e
Tipo Usurio Senha Opcional

o. Figura 3.7: Mensagem de controle usada na autenticac a Quando o aplicativo cliente deseja se conectar no sistema, ele simplesmente envia uma mensagem MSG AUTENTICACAO contendo seus dados. Ao receber essa mensagem o SAR ir a vericar se esses dados pertencem a algum usu ario j a cadastrado no sistema. Se ele encontrar, o, apenas com o campo Tipo preenchido com o usu ario receber a uma mensagem de conrmac a

3.2 Protocolo

43

es do sistema, caso a constante MSG SUCESSO, indicando que est a apto a operar as func o contr ario, receber a uma mensagem de erro, contendo apenas a constante MSG ERRO como tipo (Figura 3.8).

o. Figura 3.8: Mensagem de autenticac a

o de Dispositivos Requisic a Para montar a lista de dispositivos que ser ao controlados ou mesmo adicionados em algum es contidas no SAR, ou seja, elas n perl, o cliente Android utiliza informac o ao cam armaze o ao SAR nadas no dispositivo m ovel, sempre que for necess ario o cliente far a uma requisic a es dos dispositivos. dessa lista contendo as informac o O cliente Android pode requisitar a lista completa de dispositivos contida no SAR, para isso enviada uma mensagem com o tipo denido pela constante REQUEST DISP. Em seguida o e es de todos os dos dispositivos ativos (Figura 3.9). Em servidor envia a lista com as informac o o necessita apenas das informac es de determinados tipos determinados momentos a aplicac a o enviada uma mensagem do tipo REQUEST TIPO (Figura 3.10). de dispositivos, para isso, e

o das informac es de todos os dispositivos. Figura 3.9: Mensagem de requisic a o

3.2 Protocolo

44

o das informac es de dispositivos pelo tipo. Figura 3.10: Mensagem de requisic a o o de Pers Alterac a executada sempre que o usu es A sequencia da Figura 3.11 e ario acessa a tela de congurac o de pers no cliente Android. Primeiramente uma mensagem do tipo REQUEST PERFIL UUID enviada solicitando o valor de identicac o da atual vers e a ao de pers congurados no SAR. Se o cliente signica que as congurac es de esse valor for diferente do valor contido na aplicac a o pers presentes nesse cliente n ao s ao as mais recentes. Quando isso acontecer, ser a requisitado es locais com as do servidor, ou o processo contr ao usu ario sobrescrever as suas congurac o ario, es do servidor com as suas. sobrescrever as congurac o

o do ID da lista de pers. Figura 3.11: Mensagem de requisic a es de pers ao SAR o usu Quando quiser enviar suas congurac o ario deve enviar uma mensagem do tipo MSG PERFIL inserindo no campo Conte udo uma string formatada contendo es (Figura 3.12). essas congurac o o enviar Se o usu ario optar em receber os pers congurados no servidor, ent ao, a aplicac a a a recebida uma string formatada uma mensagem do tipo REQUEST PERFIL. Como resposta ser es de pers atuais do SAR (Figura 3.13). com as congurac o Congurar Nomes o dos nomes pode ser efetuada apenas por usu A congurac a arios que contenham permiss ao o Android de superusu ario. Para alterar os nomes dos dispositivos congurados na aplicac a enviada a ele uma mensagem do tipo MSG SET NOME com o campo Conte udo no SAR, e

3.2 Protocolo

45

o de pers. Figura 3.12: Mensagem de atualizac a

o da lista de pers. Figura 3.13: Mensagem de requisic a preenchido com uma string contendo os novos nomes dos dispositivos. Em caso de sucesso, o do tipo MSG SUCESSO, caso contr ser a recebida uma mensagem de conrmac a ario, se o usu ario autenticado n ao possuir privil egios de superusu ario, ent ao, ser a recebida a mensagem do tipo MSG ERRO (Figura 3.14).

o dos nomes. Figura 3.14: Mensagem de congurac a

Congurar Varredura Peri odica a varredura peri Outra funcionalidade congurada apenas por superusu arios e odica. Para enviada uma mensagem do tipo SET VARREDURA inserindo no campo Conte isso, e udo um va-

3.2 Protocolo

46

lor correspondente ao intervalo de tempo entre as varreduras. Como resposta ser a recebida uma mensagem do tipo MSG SUCESSO, se o usu ario possuir privil egios de superusu ario, sen ao, ser a recebida uma mensagem do tipo MSG ERRO (Figura 3.15).

o da varredura peri Figura 3.15: Mensagem de congurac a odica.

3.2.2

Cliente Android SAR Controladores

Controle a possibilidade de controle dos eletroA principal funcionalidade do cliente Android e realizado eletr onicos da resid encia. Atrav es do envio de mensagens do tipo MSG CONTROLE e inserido o enderec esse controle. No campo Enderec o e o de 64 bits da rede ZigBee do contro preenchido com o valor que o lador que dever a executar esse comando. O campo Conte udo e dispositivo controlado dever a assumir, sendo 0 para totalmente desligado e 255 para totalmente o espec ligado. J a o campo Opcional n ao tem func a ca. Nesse trabalho os kits Arduino foram congurados para controlar at e tr es dispositivos, por isso, o campo Opcional foi utilizado para indicar a qual desses tr es eletros controlados se destinava ocomando (Figura 3.16). Varredura es dos controladores atiA mensagem de varredura tem como objetivo recolher informac o necess vos no sistema de forma autom atica. Para isso, e ario o envio de uma mensagem do tipo recebida pelo SAR, o mesmo envia uma menMSG VARREDURA. Quando essa mensagem e es sagem, do tipo REQUEST INFO, em broadcast pela rede ZigBee requisitando as informac o dos dispositivos. Os controladores que estiverem ativos na rede responder ao ao SAR enviando mensagens do tipo RESPONSE INFO. O servidor utilizar a essas mensagens para atualizar suas es dos controladores. Ao inv es, o cliente Android relistas com as informac o es dessas informac o

3.2 Protocolo

47

Figura 3.16: Mensagem de controle. o, j es ceber a como resposta do SAR apenas uma mensagem de conrmac a a que essas informac o recebidas ser ao requisitadas posteriormente (Figura 3.17).

Figura 3.17: Mensagem de varredura.

3.2.3

SAR Controladores

es Iniciais Informac o ligado ele tenta se conectar na rede ZigBee e Sempre que um controlador de dispositivos e es ao SAR tais como seu enderec enviar suas congurac o o, quantos e que tipo de dispositivos ele controla. Para isso, o controlador envia uma mensagem do tipo RESPONSE INFO, a mesma que ele envia durante a varredura, para o enderec o zero, correspondente ao coordenador da rede ZigBee, utilizado pelo m odulo XBee do SAR (Figura 3.18). o de Estado Atualizac a o do Android, Quando o usu ario altera o estado de um dispositivo sem utilizar a aplicac a enviado ao SAR uma mensagem como por exemplo acender a luz utilizando um interruptor, e

3.3 Casos de Uso

48

es. Figura 3.18: Mensagem com as informac o do tipo UPDATE ESTADO contendo esse novo estado do eletroeletr onico. Essa mensagem e e serve para manter as interfaces de controles sempre atualizadas, mesmo quando ocorrerem es externas (Figura 3.19). alterac o

o. Figura 3.19: Mensagem de atualizac a

3.3

Casos de Uso

o, ou seja, as A Figura 3.20 cont em o diagrama com as possibilidades de uso da aplicac a poss es que um usu ac o ario pode executar enquanto estiver utilizando o cliente Android. E vel a autenticac o do usu perceber que um pr e-requisito para todos os casos e a ario no sistema, inclusive como superusu ario, nos casos Alterar os nomes das l ampadas e Congurar a varredura peri odica. Autenticar no sistema o ou selecionando a opc o congurac es, no menu Na primeira vez em que abrir a aplicac a a o o, o usu es do aplicativo. inicial da aplicac a ario ser a encaminhado para a interface de congurac o Nela, o usu ario deve inserir seus dados de usu ario e senha, al em do enderec o IP e porta do es, o usu servidor. Depois de inserir as informac o ario deve clicar no bot ao Salvar para o aplicativo memoriz a-las. Acender e apagar l ampadas o e seleciona a opc o de controlar as l exibida O usu ario abre a aplicac a a ampadas, ent ao, e a ele a interface com uma lista de l ampadas carregadas do servidor, para serem controladas. Quando ele clica num dos cones de l ampadas, a mesma inverte seu estado, ou seja, se estava apagada acende e vice-versa.

3.3 Casos de Uso

49

Controlar a intensidade das l ampadas o e seleciona a opc o de controlar as l exibida O usu ario abre a aplicac a a ampadas, ent ao, e a ele a interface com uma lista de l ampadas carregadas do servidor, para serem controladas. Quando ele arrasta uma das barras de controle a intensidade de luz se altera, indo de totalmente ` completamente apagada. acesa a

o. Figura 3.20: Diagrama de casos de uso da aplicac a Sincronizar pers o e seleciona a opc o de pers, ent exibida a ele a interface O usu ario abre a aplicac a a ao, e exibida a aplicac o envia, automaticapara o gerenciamento de pers. Quando a interface e a mente, ao servidor uma mensagem para vericar se o mesmo cont em uma lista de pers mais atual. Caso exista, ser a requisitado ao usu ario escolher entre sobrescrever os seus pers com os o, e exibida do servidor, ou sobrescrever os do servidor com os seus. Depois de feita a vericac a

3.3 Casos de Uso

50

ao usu ario a lista de pers. Adicionar pers O usu ario est a na interface de gerenciamento de pers, ap os ter sincronizado seus pers es da aplicac o e seleciona a opc o Criar Perl. E com o servidor. Ele abre o menu de opc o a a exibida a ele uma interface onde deve ser inserido um nome para o perl e, tamb em, deve ser selecionado os dias da semana ou do m es que esse perl deve ser executado. Por m, ele deve o do perl clicando no bot conrmar a criac a ao Criar. Em seguida ele voltar a para a interface o de pers. Para salvar as alterac es dos pers no servidor, o usu de congurac a o ario deve abrir es e selecionar a opc o Salvar Pers. o menu de opc o a Remover pers O usu ario est a na interface de gerenciamento de pers, ap os ter sincronizado seus pers com o servidor. Ele abre o menu de contexto de um determinado perl da lista e seleciona o Remover Perl. Ent a opc a ao, quando ele for requisitado se deseja conrmar a exclus ao o de do perl deve responder que sim. Em seguida ele voltar a para a interface de congurac a es dos pers no servidor, o usu es e pers. Para salvar as alterac o ario deve abrir o menu de opc o o Salvar Pers. selecionar a opc a Alterar pers O usu ario est a na interface de gerenciamento de pers, ap os ter sincronizado seus pers com o o servidor. Ele abre o menu de contexto de um determinado perl da lista e seleciona a opc a o congurados Editar Perl. Ser a exibida uma interface com o nome e os dias de execuc a nesse perl. O usu ario tem apenas que alterar os dados que quiser e conrmar o salvamento das es clicando no bot o informac o ao Salvar. Em seguida ele voltar a para a interface de congurac a es dos pers no servidor, o usu es de pers. Para salvar as alterac o ario deve abrir o menu de opc o o Salvar Pers. e selecionar a opc a Adicionar dispositivos O usu ario est a na interface de gerenciamento de pers, ap os ter sincronizado seus pers com o servidor. Ele abre o menu de contexto de um determinado perl da lista e seleciona o Adicionar Dispositivo. Ser poss a opc a a exibida a ele uma interface onde e vel escolher o tipo de dispositivo que ser a adicionado, a lista de dispositivos dispon veis do tipo escolhido o desse dispositivo no perl ao qual anteriormente, os hor ario iniciais e nais para a execuc a pertence, juntamente com os valores inicial e nal para o estado desse dispositivo. Depois de es o usu congurar essas informac o ario deve conrmar o salvamento delas clicando no bot ao o de pers. Para salvar as Salvar. Em seguida ele voltar a para a interface de congurac a

3.3 Casos de Uso

51

es dos pers no servidor, o usu es e selecionar a opc o alterac o ario deve abrir o menu de opc o a Salvar Pers. Remover dispositivos O usu ario est a na interface de gerenciamento de pers, ap os ter sincronizado seus pers com o servidor. Ele abre o menu de contexto de um determinado dispositivo da lista e seleciona a o Remover Dispositivo. Ent opc a ao, quando ele for requisitado se deseja conrmar a exclus ao o do dispositivo deve responder que sim. Em seguida ele voltar a para a interface de congurac a es dos pers no servidor, o usu es de pers. Para salvar as alterac o ario deve abrir o menu de opc o o Salvar Pers. e selecionar a opc a Alterar dispositivos O usu ario est a na interface de gerenciamento de pers, ap os ter sincronizado seus pers com o servidor. Ele abre o menu de contexto de um determinado dispositivo da lista e seleciona o Editar Dispositivo. Ser a opc a a exibida uma interface com o tipo, os hor arios e os valores iniciais e nais congurados nesse dispositivo. O usu ario tem apenas que alterar os dados es clicando no bot que quiser e conrmar o salvamento das informac o ao Salvar. Em seguida o de pers. Para salvar as alterac es dos pers no ele voltar a para a interface de congurac a o es e selecionar a opc o Salvar Pers. servidor, o usu ario deve abrir o menu de opc o a Executar varredura es na interface inicial da aplicac o e selecionar a opc o O usu ario deve abrir o menu de opc o a a Fazer Varredura. O aplicativo mandar a a mensagem de varredura ao servidor que responder a o do recebimento da mesma, sendo esta conrmac o vis com uma mensagem de conrmac a a vel ao usu ario em forma de um aviso na tela. Alterar os nomes das l ampadas o e seleciona a opc o de controlar as l exibida O usu ario abre a aplicac a a ampadas, ent ao, e a ele a interface com uma lista de l ampadas carregadas do servidor, para serem controladas. apresentada Quando o usu ario abre um menu de contexto contido nos nomes das l ampadas, e ` ele uma segunda interface contendo o nome atual da l a ampada. Depois de edit a-lo o usu ario es clicando no bot conrmar as alterac o ao OK, fazendo-o voltar para a interface de controle es nos nomes das l das l ampadas. Para salvar as alterac o ampadas no servidor, o usu ario deve es e selecionar a opc o Salvar Nomes. abrir o menu de opc o a Congurar a varredura peri odica es na interface inicial da aplicac o e selecionar a opc o O usu ario deve abrir o menu de opc o a a

3.3 Casos de Uso

52

Varredura Peri odica. Em seguida, ser a exibida uma interface onde o usu ario pode escolher o tempo de intervalo entre as varreduras. O usu ario pode ativar ou desativar a varredura peri odica no servidor clicando nos bot oes Ativar ou Desativar.

53

Conclus oes

o residencial atuais oferecem como interfaces de controle pain Os sistemas de automac a eis es para celulares. O sistema axados em paredes, controles remotos, p aginas Web ou aplicac o um projeto aberto e por isso, operacional Android (OPEN HANDSET ALLIANCE, 2008) e utilizado em uma grande quantidade de telefones inteligentes. Ele possibilita a criac o de e a es t aplicac o ao complexas quanto as utilizadas em computadores pessoais. o residencial DroidLar. Ele permite Nesse trabalho foi apresentado o sistema de automac a que um aplicativo rodando em celulares Android controle os eletroeletr onicos de uma resid encia o de pers. Esse sistema e e possibilita tamb em, o agendamento de comandos com a utilizac a aberto, e seu c odigo pode ser obtido em http://goo.gl/VZUYF. Os controladores de dispositivos s ao os elementos do sistema que executam os comandos nos eletroeletr onicos da resid encia. Eles devem consumir pouca energia pois podem ser posicionados em qualquer local da resid encia podendo, inclusive, operar sem estarem conectados a rede el etrica. tipicamente utilizado em redes de O protocolo ZigBee (ZIGBEE ALLIANCE, 2005) e baixa taxa de transmiss ao e com transmissores de baixa pot encia. Por isso, ele se torna energeticamente econ omico possibilitando que os dispositivos transmissores sejam alimentados por baterias. Para aumentar a extens ao da rede o ZigBee permite que dispositivos atuem como roteadores e encaminhem as mensagens, formando uma topologia em forma de malha. Essas caracter sticas do ZigBee foram decisivas na sua escolha como a tecnologia para o dos controladores de dispositivos. Para a prototipagem desses controladores a comunicac a foram utilizados kits Arduino1 . Esses kits fazem parte de uma plataforma aberta de hardware o at que visa o desenvolvimento de uma ferramenta de f acil utilizac a e mesmo para leigos. Para ` eles m esses kits se comunicarem na rede ZigBee foram acoplados a odulos XBee2 . o em diversos tipos de rede sem Como telefones inteligentes possibilitam a comunicac a
1 http://www.arduino.cc 2 http://www.digi.com

4.1 Trabalhos Futuros

54

o como Wi-Fi (IEEE, 2007) e 3G, mas n ao se comunicam em redes ZigBee, foi necess ario o o transdesenvolvimento de um servidor centralizado na rede. O SAR tem como principal func a ferir as mensagens vindas do cliente Android pela rede IP para os controladores de dispositivos na rede ZigBee.

4.1

Trabalhos Futuros

o de um sistema de Esse trabalho tem o objetivo de ser o ponto de partida para a criac a o residencial t automac a ao sosticado quanto os presentes no mercado. Por se tratar de um projeto de c odigo aberto e que utiliza tecnologias abertas, s ao in umeras as possibilidades de es, modicac es e inserc o de novos recursos. adaptac o o a Como trabalho futuro pode ser embarcado o SAR em um dispositivo micro controlado, o de um computador pessoal ligado tornando o sistema mais econ omico, pois, evitaria a utilizac a o de um dispositivo menor traria mobilidade ao servidor. constantemente. Al em disso, a utilizac a Outro trabalho futuro seria a expans ao dos tipos de dispositivos que podem ser controlados o Android, pois, atualmente apenas l atrav es da aplicac a ampadas s ao suportadas. Esse processo o do c o de hardware extra envolveria, al em da modicac a odigo do cliente Android, a criac a conectado aos controladores de dispositivos.

55

Lista de Abreviaturas
PWM Pulse Width Modulation API Application Programming Interface IP Internet Protocol TCP Transmission Control Protocol CA Corrente Alternada RF Radiofrequ encia CRC Cyclic Redundancy Check BPSK Binary Phase Shift Keying ISM Industrial, Scientic and Medical CSMA/CA Carrier Sense Multiple Access With Collision Avoidance DSSS Direct Sequence Spread Spectrum FFD Full Function Devices RFD Reduced Function Devices FCS Frame Checksum Sequence MAC Message Authentication Code IDE Integrated Development Environment SDK Software Development Kit XML Extensible Markup Language MHR Medium Access Control Header MFR Medium Access Control Footer

56

LR-WPAN Low-Rate Wireless Personal Area Network MAC Layer Medium Access Control Layer PHY Physical Layer MAC Payload Medium Access Control Payload

57

Refer encias Bibliogr acas


BLUETOOTH, S. Bluetooth specication. 1998. CHUNDURU, V.; SUBRAMANIAN, N. Effects of power lines on performance of home control system. In: IEEE. Power Electronics, Drives and Energy Systems, 2006. PEDES06. International Conference on. [S.l.], 2006. p. 16. DA SILVA, A. A. J. P. Vis aoweb - vigil ancia e controlo remoto. In: . 2005. Dispon vel em: <http://repositorio-aberto.up.pt/bitstream/10216/11540/2/Texto% 20integral.pdf>. Acesso em: 16 mai. 2011. DAEMEN, J.; RIJMEN, V. The design of Rijndael: AESthe advanced encryption standard. [S.l.]: Springer Verlag, 2002. DARBEE, P. Insteon: The details. Smarthome Technology, p. 164, 2005. DIGI INTERNATIONAL INC. Product manual v1.xex 802.15.4 protocol. pdf. ieee 802.15. 4 oem rf modules. 2009. Dispon vel em: <http://ftp1.digi.com/support/ documentation/90000982_B.pdf>. . 2011. Dispon vel em: EUROX10. Teoria da transmiss ao de sinais x-10. In: <http://www.eurox10.com/Content/X10SignalTheory.htm>. Acesso em: 26 jul. 2011. HERRADOR, R. E. Gu a de usuario de arduino. 2009. Dispon vel em: <http: //www.uco.es/aulasoftwarelibre/wp-content/uploads/2010/05/Arduino_user_ manual_es.pdf>. Acesso em: 26 mai. 2011. IEEE. Part 15.4: Wireless Medium AccessControl (MAC) and Physical Layer (PHY) Specications for Low-Rate Wireless PersonalArea Networks (WPANs). [S.l.], jun. 2006. Dispon vel em: <http://www.http://standards.ieee.org/getieee802/download/ 802.15.4-2006.pdf>. IEEE. Wireless lan medium access control (mac) and physical layer (phy) specications. IEEE Std 802.11-2007 (Revision of IEEE Std 802.11-1999), p. C11184, 12 2007. OPEN HANDSET ALLIANCE. Android operating system. 2008. Dispon vel em: <http://www.android.com>. o. In: . 2004. Dispon vel em: <http: PINHEIRO, J. M. S. Sistemas de automac a //www.projetoderedes.com.br/artigos/artigo_sistemas_automacao.php>. Acesso em: 8 mai. 2011. SARASWAT, V. et al. The X10 language specication. [S.l.], 2008. SASTRY, N.; WAGNER, D. Security considerations for ieee 802.15. 4 networks. In: ACM. Proceedings of the 3rd ACM workshop on Wireless security. [S.l.], 2004. p. 3242.

Refer encias Bibliogr acas

58

o residencial. 2005. Dispon SENA, D. Automac a vel em: <http://www2.ele.ufes.br/ ~projgrad/documentos/PG2005_2/dianecristinasouzasena.pdf>. WADDINGTON, N.; TAYLOR, R. Arduino & Open Source Design. 2007. Dispon vel em: <http://web.media.mit.edu/~mellis/ arduino-chi2007-mellis-banzi-cuartielles-igoe.pdf>. Z-WAVE ALLIANCE. Z-wave technology. 2004. Dispon vel em: <http://www.z-wave. com>. ZIGBEE ALLIANCE. Zigbee specication. ZigBee Document 053474r06, Version, v. 1, 2005.

Você também pode gostar