Vous êtes sur la page 1sur 11

DroidLar - Automao residencial atravs de um celular Android

Michel Vinicius de Melo Euzbio Sistemas de Telecomunicaes, Instituto Federal de Santa Catarina michel.euzebio@gmail.com Emerson Ribeiro de Mello Doutor, Sistemas de Telecomunicaes, Instituto Federal de Santa Catarina mello@ifsc.edu.br

Resumo- Sistemas de automao residencial permitem que eletroeletrnicos de uma residencia sejam controlados, inclusive, por interfaces Web. Os telefones inteligentes possuem conguraes superiores aos celulares convencionais e permitem conexes em redes sem o como 3G e Wi-Fi. O sistema operacional Android pode operar em diversos tipos de dispositivos e possibilita a criao de aplicativos com alta complexidade. Kits Arduino podem ser usados em projetos para prototipagem de hardware e, se forem acoplados a estes mdulos XBee, podem se comunicar em redes ZigBee. Este trabalho apresenta o DroidLar, um sistema de automao residencial que permite enviar comandos aos eletroeletrnicos da residncia atravs de um aplicativo rodando em celulares Android.

Palavras-chave: Automao Residencial. Android. ZigBee. Arduino.

Abstract- Home automation systems allow the control of electronics of a residence even by Web interfaces. The smartphones have superior settings compared to conventional mobile phones and they enable connections on wireless networks like 3G and Wi-Fi. The Android operating system can operates in various types of devices and allows creating high complexity applications. Arduino kits can be used in projects for hardware prototyping, and with coupling of XBee modules they can communicate in ZigBee networks. This paper presents the DroidLar, a home automation system that can send commands to electronics of the residence through an application running on Android phones.

Keywords: Home automation. Android. ZigBee. Arduino.

Introduo Sistemas de automao residencial permitem aos usurios controlarem os eletroele-

trnicos de sua residncia como lmpadas, televisores e home theaters, atravs de interfaces de controle. Sua proposta principal trazer conforto e comodidade para as residncias, porm, podem ser utilizados tambm para segurana, com a utilizao de cmeras de vigilncia e sensores de presena. Sistemas de automao residencial so tipicamente compostos por controladores de dispositivos, um servidor central e interfaces de controle. Os controladores de dispositivos

Bolsista CNPq

so responsveis por executar efetivamente os comandos nos eletroeletrnicos da residncia. Os servidores so responsveis pelo envio das mensagens das interfaces de controle para os controladores de dispositivos. Por m, as interfaces de controle podem ser representadas por painis axados em paredes ou mesmo em forma de pginas Web, que podem ser visualizadas, inclusive, em telefones celulares. Interagindo com essas interfaces o usurio consegue acionar determinado dispositivo ou executar determinada funcionalidade do sistema. Para o desenvolvimento em hardware fundamental a realizao de testes antes da fabricao do equipamento. Por isso, a plataforma Arduino
1

se mostra ideal no de-

senvolvimento de dispositivos programveis que tenham que exercer funes de controle, principalmente para prototipagem de equipamentos em fase de projetos. Nos sistemas de automao tem que haver uma tecnologia eciente para a comunicao entre os dispositivos da rede. Pensando nisso foi criado o protocolo ZigBee (ZIGBEE ALLIANCE, 2005), ideal para sistemas de automao onde a taxa de transmisso de dados no relevante mas sim o consumo de energia e possibilita a criao de uma malha de dispositivos onde todos podem se comunicar e encaminhar mensagens. Telefones celulares que sirvam apenas para realizar chamadas telefnicas esto cada vez mais perdendo espao para dispositivos mais complexos que possibilitam acessar a Internet com altas taxas de velocidade e rodar aplicativos semelhantes aos utilizados em computadores pessoais. Esses dispositivos so denominados telefones inteligentes e tem caractersticas muito superiores ao celulares convencionais como por exemplo suporte conexes 3G e Wi-Fi (IEEE, 2007), maior capacidade de processamento e memria, alm de sistemas operacionais mais complexos. O Android (OPEN HANDSET ALLIANCE, 2008) um sistema operacional para dispositivos mveis desenvolvido pelo Google e outras empresas que juntas formam a Open Handset Alliance. Por se tratar de um projeto aberto e ter o apoio de vrias fabricantes de dispositivos mveis, o Android est disponvel em diversos tipos de dispositivos como telefones inteligentes e tablets, por exemplo. Ele foi projetado para tirar proveito das telas sensveis ao toque, da capacidade de processamento e grande conectividade dos dispositivos mveis atuais, e possibilitar a criao de aplicaes to complexas quanto as destinadas a computadores pessoais. Nesse trabalho apresentado o DroidLar, um sistema de automao residencial completo onde o usurio utiliza uma aplicao rodando em um celular Android como interface de controle. O DroidLar utiliza o protocolo ZigBee para a comunicao dos controladores de dispositivos. Nesse sistema podem ser controlados eletroeletrnicos, como lmpadas, por uma rede IP local, ou em qualquer lugar do mundo pela Internet. O presente artigo est dividido nas seguintes sesses: a Sesso 2 abordar a utilizao das redes ZigBee e suas caractersticas; a Sesso 3 tratar sobre o Arduino e sua facilidade de uso; na Sesso 4 ser apresentado o sistema operacional para dispositivos mveis Android; a Sesso 5 descreve o DroidLar, o sistema de automao residencial resultante desse trabalho, sua arquitetura e funcionamento; e por m, na Sesso 6 so apresentadas as concluses e possveis trabalhos futuros.

http://www.arduino.cc

ZigBee A comunicao por redes sem o surgiu como uma evoluo utilizao de redes

cabeadas. A mobilidade e a no necessidade de cabos de conexo foram fatores que contriburam para sua grande popularizao. Porm, ainda existia a necessidade de tecnologias especcas para redes sem o que no necessitassem de altas taxas de transmisso e que possibilitassem uma economia de energia nos transmissores. Motivado por essa necessidade foi criado o protocolo ZigBee. Ele um protocolo voltado para as redes pessoais sem o de baixa taxa de transmisso (LR-WPAN) e, por isso, ideal para aplicaes que utilizem sensores, de automao, militares e de segurana. O ZigBee foi construdo sobre a base descrita pelo padro IEEE 802.15.4 (IEEE, 2006) - que dene as WPANs - adicionando as camadas de rede (NWK), suporte aplicao (APS) e aplicao (AF) sobre as camadas fsica (PHY) e de controle de acesso ao meio (MAC) j existentes, como mostra a Figura 1. Essas camadas adicionais agregam funcionalidades ao protocolo como capacidade de roteamento e segurana ao contedo das mensagens, alm de possibilitar que as fabricantes e os usurio implementem as suas prprias aplicaes nos dispositivos que utilizem ZigBee.
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 1 Pilha do protocolo ZigBee.

Os dispositivos ZigBee utilizam as faixas (Industrial, Scientic and Medical ISM) de 868 e 915 Mhz alm da faixa de 2,4 Ghz, para as transmisses de dados. A taxa dessas transmisses pode variar entre 20 e 250 Kbps e seu alcance pode chegar, em mdia, a 50 metros, dependendo do ambiente onde so realizadas as transmisses. Na rede ZigBee um dispositivo pode assumir trs papis: roteador, coordenador e end-device. Os roteadores so dispositivos que alm de enviar e receber mensagens, podem encaminhar mensagens destinadas outros dispositivos. Numa rede ZigBee sempre deve haver um nico dispositivo roteador congurado como coordenador. Esses dispositivos tem as mesmas caractersticas dos roteadores, porm, exercem tarefas extras como o gerenciamento de incluso/excluso de dispositivos na rede. J os end-devices so sempre a origem ou o destino das mensagens no podendo encaminh-las. Os dispositivos de uma rede ZigBee podem ser dispostos para formas topologias em forma de estrela, rvore ou malha, como mostra a Figura 2. A topologia em rvore formada por um dispositivo coordenador no centro e diversos end-devices, nessa formao todas as mensagens passaro pelo coordenador para chegar ao seu destino. A topologia em rvore funciona como se fosse uma srie de redes em forma de estrela interligadas. Na topologia em malha os dispositivos do ncleo da rede tm a funo de roteador

e com esta possvel alcanar longas distncias nas transmisso das mensagens apenas encaminhando-as pelos dispositivo at que chegue ao seu destino. Essa capacidade de extenso da rede torna o ZigBee vantajoso frente a outras tecnologias de transmisso sem o que tambm possuem baixa taxa de transmisso como o Bluetooth (BLUETOOTH, 1998).

Figura 2 Topologias da rede ZigBee.

O ZigBee possui diversas maneiras de garantir a segurana na troca de mensagens, entre elas est a criptograa, que tem como objetivo evitar que as informaes transmitidas sejam legveis a intrusos na rede. Outra caracterstica interessante do ZigBee a economia de energia diante da baixa taxa de transmisso aliada a capacidade dos dispositivos congurados como end-devices poderem hibernar por certos perodos de tempo. Tais caractersticas permitem que esses dispositivos sejam alimentados at por baterias.

Arduino Durante o perodo de desenvolvimento de projetos em hardware fundamental a

utilizao de ferramentas que auxiliem nos testes e facilitem a construo desses sistemas. Com esse objetivo foi desenvolvido a plataforma Arduino. Ela consiste num kit que permite, com facilidade, a implementao de projetos que envolvam hardware e software. Essa plataforma aberta e, por isso, qualquer fabricante pode desenvolver kits baseados no original. Esse kit Arduino composto de uma placa onde esto conectados um microcontrolador da Atmel2 , responsvel pela execuo da logica programvel, e diversos LEDs e botes conectados as suas portas analgicas e digitais, alm de portas seriais, podendo estas conguraes variarem de acordo com o modelo do kit. A indicao das portas do microcontrolador pode ser vista na Figura 3.
2

http://www.atmel.com

Figura 3 elementos de um kit Arduino.

Para a programao do microcontrolador presente no Arduino utilizada a linguagem C, alm de bibliotecas em C++. Para a escrita dos cdigos pode ser utilizado o ambiente de desenvolvimento integrado (IDE) do Arduino. Essa IDE possui recursos para facilitar a implementao dos projetos no Arduino tais como diversos exemplos de cdigos e uma ferramenta denominada Serial Monitor onde possvel visualizar os dados recebidos e, tambm, os dados enviados pela porta serial. Alm da conexo serial, os kits Arduino ainda possuem suporte a outros tipos de conexo como Ethernet, Wi-Fi e diversas outras. A expanso das funcionalidades do Arduino atravs de conexes de rede pode ser auxiliada com a utilizao de shields. Esses shields so placas especicamente projetadas para encaixar nas portas do Arduino. No mercado existem shields para ethernet, 802.11, 802.15.4, Blutooth, controladores de motores de passo, etc.

Android Telefones inteligentes oferecem aos usurios funcionalidades comuns s apresenta-

das por computadores pessoais como acesso a redes de dados por conexes sem o e aplicaes com um grande grau de complexidade. Com a grande expanso do mercados desses telefones tornou-se vivel uma soluo capaz de funcionar em diferentes tipos de dispositivos com hardware diferentes. Com essa motivao foi criado o Android, um sistema operacional de cdigo aberto desenvolvido pelo Google em conjunto com outras empresas dos setores de hardware, software e telecomunicaes. Como mostra a Figura 4, na base da pilha da arquitetura ZigBee est presente o Kernel Linux. Na camada acima esto as bibliotecas do sistema como a de gerenciamento de tela, de mdia, de grcos e de banco de dados, entre outros. Ainda nessa camada est presente a Dalvik, uma mquina virtual Java otimizada para dispositivos mveis. Logo acima dessa segunda camada esto as classes que compe a API do Android que so utilizadas pelas aplicaes do sistema, presentes na camada superior a essa. O Google disponibilizou uma srie de ferramentas para auxiliar os desenvolvedores na criao de aplicaes. Essas ferramentas esto contidas no kit de desenvolvimento de

Aplicaes Android Arcabouo de Aplicaes


Activity Manager Window Manager Notication Manager View System

...

... Bibliotecas

...

Media Framework OpenGL

SQLite Surface Manager

Ambiente de execuo

...

... Kernel Linux

Dalvik VM

Figura 4 Arquitetura do Android.

software (SDK) do Android. Na SDK esto presentes cdigos com exemplos de utilizao da API, um emulador de telefone celular, onde podem ser testadas as aplicaes, e uma ferramenta para auxiliar na depurao dos cdigos. Outra ferramenta disponibilizada pelo Google foi um plugin que permite a total integrao da SDK com o IDE Eclipse, permitindo a compilao do cdigo, a instalao e a execuo no emulador com apenas um clique. Para o desenvolvimento das aplicaes do Android, utilizada a linguagem Java, porm, para a criao das interfaces grcas pode ser utilizado tambm arquivos em XML. Como possvel ver na Figura 5, nos objetos XML, que sero exibidos na tela da aplicao, existe um campo onde inserido um valor de identicao desse objeto. Esses valores podem ser referenciados no cdigo Java para que os objetos XML sejam manipulados por esse cdigo, que permite a utilizao de lgica bastante avanada.
Interface da aplicao Descrio da interface em XML Classe Java com a lgica

Figura 5 Cdigo Java pra Android integrado com XML.

DroidLar Os sistemas de automao residencial presentes no mercado so, em sua maioria,

centralizados, ou seja, um equipamento gerencia toda o sistema e transfere os comandos entre as interfaces de controle e os controladores de dispositivos. O projeto apresentado nesse artigo tambm atua dessa maneira. Nele, alm do servidor centralizado - denominado servidor de automao residencial (SAR) -, tambm esto presentes a interface de controle, implementada em forma de uma aplicao para telefones Android, e os controladores de dispositivos construdos com a utilizao de kits Arduino. Como mostrado pela Figura 6, o cliente rodando no Android utiliza uma conexo IP

(Wi-Fi, 3G, entre outros) para a comunicao, j os controladores de dispositivos utilizam a rede ZigBee para a troca das mensagens. Por isso, tarefa do SAR servir de ponte entre essas duas partes do sistema.

Android

SAR

WiFi

Arduino 1

Arduino 3

Arduino
Figura 6 Elementos do DroidLar.

5.1

Controladores de Dispositivos Para o controle dos eletroeletrnicos da residncia so necessrios dispositivos ca-

pazes de interpretar uma informao e executar determinada ao mediante o recebimento de uma mensagem. Por isso e pelas razes apresentadas na Seo 3, optou-se por utilizar kits Arduino para a prototipagem desses controladores no DroidLar. A comunicao entre os controladores de dispositivos e o SAR se faz atravs do protocolo ZigBee, para tal foram empregados mdulos XBee Series 2.5, fabricados pela Digi International3 . Nos kits Arduino esses mdulos so conectados ao shield XBee e no SAR os mdulos so conectados a um adaptador serial o qual ca conectado a uma porta USB. No DroidLar, todos os mdulos XBee dos controladores foram congurados como roteadores, caracterizando uma rede em malha. Dessa forma cada controlador de dispositivo poder encaminhar mensagens para outros roteadores, permitindo que o SAR interaja com dispositivos que estejam alm do alcance de seu rdio. Para a congurao dos mdulos XBee pode ser utilizado um aplicativo, criado tambm pela Digi, chamado X-CTU. Nele possvel escolher as caractersticas que o dispositivo ter na rede, se ele ser um roteador ou end-device, por exemplo. Tambm possvel selecionar a potncia de transmisso do sinal, a criptograa nas mensagens e a taxa de transmisso da porta serial. No DroidLar os mdulos foram congurados para no utilizarem criptograa, o que resultaria numa reduo do tamanho de informao contida num pacote. A taxa de transmisso escolhida para ser usada na porta serial foi de 9,6 Kbps. Os controladores dispositivos executam dois tipos de procedimentos: atuao que executa aes como ligar, desligar, aumentar ou diminuir a intensidade da potncia do dispositivo eletrnico que este controla, por exemplo, uma lmpada; relatrio envia informaes ao SAR a respeito de suas conguraes, por exemplo, nmero de dispositivos que est controlado, o estado atual de cada dispositivo (ligado, desligado, etc.). O relatrio enviado sempre que o controlador for ligado ou sempre que o SAR solicitar.
3

http://www.digi.com

5.2

SAR O servidor de automao residencial (SAR) consiste na parte central do DroidLar.

Tem como funo gerenciar os controladores de dispositivos, enviando comandos ou recebendo informaes sobre o estado de cada e interagir com o cliente Android. Assim, atua como uma ponte entre as duas tecnologias de transmisso sem o, ZigBee e 802.11. O SAR deve permanecer operando constantemente, pois, alm de gerenciar as mensagens trocadas entre os membros da rede, responsvel tambm por executar tarefas agendadas pelo usurio como acender ou apagar lmpadas em determinadas perodos. O SAR foi implementado na forma de um software rodando em um computador pessoal. Consiste de um Servlet Java que no presente prottipo est sendo executado no servidor de aplicao Glasssh4 . A vantagem de rodar aplicaes sobre os servidores Web que estes se encarregam do gerenciamento de conexes simultneas e tambm permitem conexes seguras (HTTPS). O fato de usar um protocolo padronizado (HTTP)(FIELDING et al., 1999) prov facilidades para criao de outros clientes para o SAR, por exemplo, clientes Desktop, Web ou mesmo para outros sistemas operacionais de telefones inteligentes. Para essa aplicao se comunicar com o cliente no Android necessrio que esse computador esteja conectado em alguma rede IP, j para a comunicao com os kits Arduino, necessrio que haja um mdulo XBee, assim como nos Arduinos, conectado em uma das portas USB desse computador. Esse mdulo XBee tem que estar congurado como coordenador da rede ZigBee, sendo o responsvel pelas conguraes dessa rede. O servlet tambm responsvel pelas mensagens de controle dos dispositivos. Nessas mensagens esto contidas informaes como o tipo de ao tomada pelo dispositivo, o valor utilizado para a execuo dessa ao e o endereo do dispositivo responsvel pelo controle. Essa mensagem poderia ser utilizada, por exemplo, no acendimento de uma lmpada com 50% de sua intensidade controlada pelo dispositivos com um determinado endereo. O outro tipo de mensagem utilizado aquela trocada apenas entre o cliente Android e o SAR. Essas mensagens servem para executar funcionalidades bsicas do servidor, como a autenticao do usurio e tambm funcionalidades mais complexas, como o agendamento de pers, por parte do usurio.

5.3

Cliente Android Os sistemas de automao residencial atuais permitem a utilizao de diversos tipos

de interfaces de controle como painis axados em paredes, controles remotos tradicionais e, at mesmo, pginas Web, que podem ser visualizadas por um navegador de Internet no computador pessoal ou no telefone celular. Aplicaes especcas para telefones inteligentes tem a usabilidade como principal vantagem quando comparadas com pginas web. O DroidLar utiliza um aplicativo rodando num telefone Android como interface de controle. Esse aplicativo, alm de controlar os eletroeletrnicos da residncia, tambm possibilita a criao e o gerenciamento dos pers do usurio. Esses pers so formados por um grupo de dispositivos que sero ligados/desligados automaticamente em determinadas
4

http://glassfish.java.net

(a) Tela inicial

(b) Informaes sobre o servidor

Figura 7 Interface principal e de congurao do SAR

datas. Para se comunicar com o SAR necessrio apenas que o telefone inteligente, no qual o aplicativo est rodando, esteja conectado a uma rede IP. Quando o usurio abre a aplicao exibida ele a tela inicial mostrada na Figura 7a. Nessa tela possvel escolher se quer controlar os dispositivos da residncia (Figura 7b), alterar os pers dos dispositivos (Figura 8a) ou editar as conguraes para a conexo com o SAR (Figura 8b). Para que o usurio execute qualquer ao na aplicao, necessrio que ele esteja autenticado no SAR, por isso, na primeira vez que o usurio abre o aplicativo exibida a tela de conguraes. Depois de salvar as conguraes ele pode navegar por todas telas normalmente, podendo estas conguraes serem alteradas posteriormente. Na tela de controle o usurio pode, por exemplo, acender, apagar ou denir um valor intermedirio para as lmpadas da residncia.

(a) Controle dos dispositivos

(b) Congurao dos pers

Figura 8 Interfaces para congurao dos dispositivos e pers

Concluses e trabalhos futuros

Sistemas de automao residencial permitem que o usurio controle os eletroeletrnicos de sua residncia com conforto e comodidade oferecendo, inclusive, interfaces Web para que ele possa control-los. Entretanto, na maioria dos produtos de automao residencial essas interfaces Web so limitadas quando comparadas com aplicaes especcas para os telefones inteligentes. O ZigBee um protocolo pra redes sem o que no necessitem de altas taxas de transmisso e que requeiram um baixo consumo energtico por parte dos dispositivos transmissores. Mesmo no tendo um longo alcance de transmisso, os dispositivos ZigBee podem prolongar a extenso da rede atuando em forma de malha, fazendo as mensagens passarem por quantos ns forem necessrios para chegar ao destino. A plataforma Arduino foi criada com o intuito de ser uma ferramente de fcil utilizao para o desenvolvimento de prottipos em hardware que contenham uma lgica programvel. Esses kits podem se conectar em diversas redes acoplando-se eles shields, que serviro como adaptadores para os transmissores de rede. Um mdulo XBee, se conectado a um kit Arduino, permite que o mesmo se comunique como um n pela rede ZigBee. Os telefones inteligentes possuem recursos superiores ao apresentados pelos celulares convencionais. Neles possvel a conexo em diversas redes IP tais como 3G e Wi-Fi, alm de possuir sistemas operacionais que possibilitam rodar aplicativos com a mesma complexidade dos que rodam em computadores pessoais. O Android um sistema operacional de cdigo aberto permitindo que uma mesma aplicao seja utilizada em diversos tipos de dispositivos de diferentes fabricantes. O trabalho apresentado nesse artigo foi denominado DroidLar e se trata de um sistema de automao residencial onde possvel controlar os eletroeletrnicos da residncia atravs de um aplicativo rodando em telefones Android. Assim como o Arduino e o Android, o DroidLar tambm um projeto aberto, podendo ser implementado por qualquer empresa e, assim, aumentado as possibilidades de escolha dos usurios no momento em que for adquirir um equipamento novo. O fato de o SAR rodar em um computador pessoal que deve estar ligado constantemente pode ser um fator prejudicial na adoo do sistema pelos usurios. O principal trabalho futuro embarcar o SAR em um dispositivo micro controlado, semelhante aos kits Arduinos, tornando-o porttil e energeticamente econmico. Um outro ponto seria a expanso do sistema como um todo para controlar no s lmpadas, mas outros dispositivos de uma residncia, por exemplo, portes, sistemas de sonorizao, etc.

Agradecimento

Ao Conselho Nacional de Desenvolvimento Cientco e Tecnolgico (CNPq) pelo apoio nanceiro sem qual no seria possvel desenvolver o presente trabalho.

Responsabilidade de autoria As informaes contidas neste artigo so de inteira responsabilidade de seus autores. As opinies nele emitidas no representam, necessariamente, pontos de vista da Instituio e/ou do Conselho Editorial do IF-SC.

Referncias BLUETOOTH, S. Bluetooth specication. 1998. FIELDING, R. et al. Hypertext Transfer Protocol HTTP/1.1. [S.l.], jun 1999. 176 p. Disponvel em: <http://www.rfc-editor.org/rfc/rfc2616.txt>. IEEE. Part 15.4: Wireless Medium AccessControl (MAC) and Physical Layer (PHY) Specications for Low-Rate Wireless PersonalArea Networks (WPANs). [S.l.], jun. 2006. Disponvel 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. Disponvel em: <http://www.android.com>. ZIGBEE ALLIANCE. Zigbee specication. ZigBee Document 053474r06, Version, v. 1, 2005.

Vous aimerez peut-être aussi