SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
DroidLar - Automação residencial através de um
celular Android
Michel Vinicius de Melo Euzébio∗
Sistemas de Telecomunicações, Instituto Federal de Santa Catarina
michel.euzebio@gmail.com
Emerson Ribeiro de Mello
Doutor, Sistemas de Telecomunicações, Instituto Federal de Santa Catarina
mello@ifsc.edu.br
Resumo- Sistemas de automação residencial permitem que eletroeletrônicos de uma resi-
dencia sejam controlados, inclusive, por interfaces Web. Os telefones inteligentes possuem
configurações superiores aos celulares convencionais e permitem conexões em redes sem
fio como 3G e Wi-Fi. O sistema operacional Android pode operar em diversos tipos de dis-
positivos e possibilita a criação de aplicativos com alta complexidade. Kits Arduino podem
ser usados em projetos para prototipagem de hardware e, se forem acoplados a estes mó-
dulos XBee, podem se comunicar em redes ZigBee. Este trabalho apresenta o DroidLar,
um sistema de automação residencial que permite enviar comandos aos eletroeletrônicos
da residência através de um aplicativo rodando em celulares Android.
Palavras-chave: Automação 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 com-
plexity 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.
1 Introdução
Sistemas de automação residencial permitem aos usuários controlarem os eletroele-
trônicos de sua residência como lâmpadas, televisores e home theaters, através de interfa-
ces de controle. Sua proposta principal é trazer conforto e comodidade para as residências,
porém, podem ser utilizados também para segurança, com a utilização de câmeras de vigi-
lância e sensores de presença.
Sistemas de automação residencial são tipicamente compostos por controladores de
dispositivos, um servidor central e interfaces de controle. Os controladores de dispositivos
∗
Bolsista CNPq
são responsáveis por executar efetivamente os comandos nos eletroeletrônicos da residên-
cia. Os servidores são responsáveis pelo envio das mensagens das interfaces de controle
para os controladores de dispositivos. Por fim, as interfaces de controle podem ser repre-
sentadas por painéis afixados em paredes ou mesmo em forma de páginas Web, que po-
dem ser visualizadas, inclusive, em telefones celulares. Interagindo com essas interfaces o
usuário consegue acionar determinado dispositivo ou executar determinada funcionalidade
do sistema.
Para o desenvolvimento em hardware é fundamental a realização de testes antes
da fabricação do equipamento. Por isso, a plataforma Arduino 1 se mostra ideal no de-
senvolvimento de dispositivos programáveis que tenham que exercer funções de controle,
principalmente para prototipagem de equipamentos em fase de projetos.
Nos sistemas de automação tem que haver uma tecnologia eficiente para a comuni-
cação entre os dispositivos da rede. Pensando nisso foi criado o protocolo ZigBee (ZIGBEE
ALLIANCE, 2005), ideal para sistemas de automação onde a taxa de transmissão de dados
não é relevante mas sim o consumo de energia e possibilita a criação de uma malha de
dispositivos onde todos podem se comunicar e encaminhar mensagens.
Telefones celulares que sirvam apenas para realizar chamadas telefônicas estão cada
vez mais perdendo espaço 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 são denominados telefones inteligentes e tem
características muito superiores ao celulares convencionais como por exemplo suporte à
conexões 3G e Wi-Fi (IEEE, 2007), maior capacidade de processamento e memória, além
de sistemas operacionais mais complexos.
O Android (OPEN HANDSET ALLIANCE, 2008) é um sistema operacional para dis-
positivos móveis 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 várias fabricantes de
dispositivos móveis, o Android está disponível em diversos tipos de dispositivos como tele-
fones inteligentes e tablets, por exemplo. Ele foi projetado para tirar proveito das telas sen-
síveis ao toque, da capacidade de processamento e grande conectividade dos dispositivos
móveis atuais, e possibilitar a criação de aplicações tão complexas quanto as destinadas a
computadores pessoais.
Nesse trabalho é apresentado o DroidLar, um sistema de automação residencial com-
pleto onde o usuário utiliza uma aplicação rodando em um celular Android como interface
de controle. O DroidLar utiliza o protocolo ZigBee para a comunicação dos controladores
de dispositivos. Nesse sistema podem ser controlados eletroeletrônicos, como lâmpadas,
por uma rede IP local, ou em qualquer lugar do mundo pela Internet.
O presente artigo está dividido nas seguintes sessões: a Sessão 2 abordará a uti-
lização das redes ZigBee e suas características; a Sessão 3 tratará sobre o Arduino e
sua facilidade de uso; na Sessão 4 será apresentado o sistema operacional para dispositi-
vos móveis Android; a Sessão 5 descreve o DroidLar, o sistema de automação residencial
resultante desse trabalho, sua arquitetura e funcionamento; e por fim, na Sessão 6 são
apresentadas as conclusões e possíveis trabalhos futuros.
1
http://www.arduino.cc
2 ZigBee
A comunicação por redes sem fio surgiu como uma evolução à utilização de redes
cabeadas. A mobilidade e a não necessidade de cabos de conexão foram fatores que
contribuíram para sua grande popularização. Porém, ainda existia a necessidade de tecno-
logias específicas para redes sem fio que não necessitassem de altas taxas de transmissão
e que possibilitassem uma economia de energia nos transmissores. Motivado por essa ne-
cessidade foi criado o protocolo ZigBee. Ele é um protocolo voltado para as redes pessoais
sem fio de baixa taxa de transmissão (LR-WPAN) e, por isso, é ideal para aplicações que
utilizem sensores, de automação, militares e de segurança.
O ZigBee foi construído sobre a base descrita pelo padrão IEEE 802.15.4 (IEEE,
2006) - que define as WPANs - adicionando as camadas de rede (NWK), suporte à apli-
cação (APS) e aplicação (AF) sobre as camadas física (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 segurança ao conteúdo
das mensagens, além de possibilitar que as fabricantes e os usuário implementem as suas
próprias aplicações nos dispositivos que utilizem ZigBee.
Aplicação
(AF)
Subcamada de Suporte a Aplicação
(APS)
Camada de Rede
(NWK)
Camada de Controle de Acesso ao Meio
(MAC)
Camada Física
(PHY)
IEEE
802.15.4
Plataforma
ZigBee
Aplicações
do Usuário
Figura 1 – Pilha do protocolo ZigBee.
Os dispositivos ZigBee utilizam as faixas (Industrial, Scientific and Medical – ISM) de
868 e 915 Mhz além da faixa de 2,4 Ghz, para as transmissões de dados. A taxa dessas
transmissões pode variar entre 20 e 250 Kbps e seu alcance pode chegar, em média, a 50
metros, dependendo do ambiente onde são realizadas as transmissões.
Na rede ZigBee um dispositivo pode assumir três papéis: roteador, coordenador e
end-device. Os roteadores são dispositivos que além de enviar e receber mensagens, po-
dem encaminhar mensagens destinadas à outros dispositivos. Numa rede ZigBee sempre
deve haver um único dispositivo roteador configurado como coordenador. Esses dispositi-
vos tem as mesmas características dos roteadores, porém, exercem tarefas extras como o
gerenciamento de inclusão/exclusão de dispositivos na rede. Já os end-devices são sempre
a origem ou o destino das mensagens não 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 é for-
mada por um dispositivo coordenador no centro e diversos end-devices, nessa formação
todas as mensagens passarão pelo coordenador para chegar ao seu destino. A topolo-
gia em árvore funciona como se fosse uma série de redes em forma de estrela interliga-
das. Na topologia em malha os dispositivos do núcleo da rede têm a função de roteador
e com esta é possível alcançar longas distâncias nas transmissão das mensagens apenas
encaminhando-as pelos dispositivo até que chegue ao seu destino. Essa capacidade de ex-
tensão da rede torna o ZigBee vantajoso frente a outras tecnologias de transmissão sem fio
que também possuem baixa taxa de transmissão como o Bluetooth (BLUETOOTH, 1998).
Figura 2 – Topologias da rede ZigBee.
O ZigBee possui diversas maneiras de garantir a segurança na troca de mensagens,
entre elas está a criptografia, que tem como objetivo evitar que as informações transmi-
tidas sejam legíveis a intrusos na rede. Outra característica interessante do ZigBee é a
economia de energia diante da baixa taxa de transmissão aliada a capacidade dos disposi-
tivos configurados como end-devices poderem hibernar por certos períodos de tempo. Tais
características permitem que esses dispositivos sejam alimentados até por baterias.
3 Arduino
Durante o período de desenvolvimento de projetos em hardware é fundamental a
utilização de ferramentas que auxiliem nos testes e facilitem a construção desses sistemas.
Com esse objetivo foi desenvolvido a plataforma Arduino. Ela consiste num kit que permite,
com facilidade, a implementação 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 estão conectados um microcon-
trolador da Atmel2, responsável pela execução da logica programável, e diversos LEDs e
botões conectados as suas portas analógicas e digitais, além de portas seriais, podendo
estas configurações variarem de acordo com o modelo do kit. A indicação das portas do
microcontrolador pode ser vista na Figura 3.
2
http://www.atmel.com
Figura 3 – elementos de um kit Arduino.
Para a programação do microcontrolador presente no Arduino é utilizada a linguagem
C, além de bibliotecas em C++. Para a escrita dos códigos pode ser utilizado o ambiente
de desenvolvimento integrado (IDE) do Arduino. Essa IDE possui recursos para facilitar
a implementação dos projetos no Arduino tais como diversos exemplos de códigos e uma
ferramenta denominada Serial Monitor onde é possível visualizar os dados recebidos e,
também, os dados enviados pela porta serial.
Além da conexão serial, os kits Arduino ainda possuem suporte a outros tipos de co-
nexão como Ethernet, Wi-Fi e diversas outras. A expansão das funcionalidades do Arduino
através de conexões de rede pode ser auxiliada com a utilização de shields. Esses shields
são placas especificamente 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.
4 Android
Telefones inteligentes oferecem aos usuários funcionalidades comuns às apresenta-
das por computadores pessoais como acesso a redes de dados por conexões sem fio e
aplicações com um grande grau de complexidade. Com a grande expansão do mercados
desses telefones tornou-se viável uma solução capaz de funcionar em diferentes tipos de
dispositivos com hardware diferentes. Com essa motivação foi criado o Android, um sistema
operacional de código aberto desenvolvido pelo Google em conjunto com outras empresas
dos setores de hardware, software e telecomunicações.
Como mostra a Figura 4, na base da pilha da arquitetura ZigBee está presente o
Kernel Linux. Na camada acima estão as bibliotecas do sistema como a de gerenciamento
de tela, de mídia, de gráficos e de banco de dados, entre outros. Ainda nessa camada
está presente a Dalvik, uma máquina virtual Java otimizada para dispositivos móveis. Logo
acima dessa segunda camada estão as classes que compõe a API do Android que são
utilizadas pelas aplicações do sistema, presentes na camada superior a essa.
O Google disponibilizou uma série de ferramentas para auxiliar os desenvolvedores
na criação de aplicações. Essas ferramentas estão contidas no kit de desenvolvimento de
Aplicações Android
Arcabouço de Aplicações
Bibliotecas
Dalvik VM
Kernel Linux
Activity
Manager
Window
Manager
Notification
Manager
View
System
Media
Framework
SQLite
OpenGL
Surface
Manager
Ambiente
de execução
... ...
... ... ...
Figura 4 – Arquitetura do Android.
software (SDK) do Android. Na SDK estão presentes códigos com exemplos de utilização
da API, um emulador de telefone celular, onde podem ser testadas as aplicações, e uma
ferramenta para auxiliar na depuração dos códigos. Outra ferramenta disponibilizada pelo
Google foi um plugin que permite a total integração da SDK com o IDE Eclipse, permitindo
a compilação do código, a instalação e a execução no emulador com apenas um clique.
Para o desenvolvimento das aplicações do Android, é utilizada a linguagem Java,
porém, para a criação das interfaces gráficas pode ser utilizado também arquivos em XML.
Como é possível ver na Figura 5, nos objetos XML, que serão exibidos na tela da aplicação,
existe um campo onde é inserido um valor de identificação desse objeto. Esses valores
podem ser referenciados no código Java para que os objetos XML sejam manipulados por
esse código, que permite a utilização de lógica bastante avançada.
Descrição da interface em XMLInterface da aplicação Classe Java com a lógica
Figura 5 – Código Java pra Android integrado com XML.
5 DroidLar
Os sistemas de automação residencial presentes no mercado são, 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 também atua dessa maneira. Nele, além do servidor centralizado - denomi-
nado servidor de automação residencial (SAR) -, também estão presentes a interface de
controle, implementada em forma de uma aplicação para telefones Android, e os controla-
dores de dispositivos construídos com a utilização de kits Arduino.
Como mostrado pela Figura 6, o cliente rodando no Android utiliza uma conexão IP
(Wi-Fi, 3G, entre outros) para a comunicação, 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.
SAR
3
Android
2
1
WiFi Arduino Arduino
Arduino
Figura 6 – Elementos do DroidLar.
5.1 Controladores de Dispositivos
Para o controle dos eletroeletrônicos da residência são necessários dispositivos ca-
pazes de interpretar uma informação e executar determinada ação mediante o recebimento
de uma mensagem. Por isso e pelas razões apresentadas na Seção 3, optou-se por utilizar
kits Arduino para a prototipagem desses controladores no DroidLar.
A comunicação entre os controladores de dispositivos e o SAR se faz através do
protocolo ZigBee, para tal foram empregados módulos XBee Series 2.5, fabricados pela
Digi International3. Nos kits Arduino esses módulos são conectados ao shield XBee e
no SAR os módulos são conectados a um adaptador serial o qual fica conectado a uma
porta USB. No DroidLar, todos os módulos XBee dos controladores foram configurados
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 além do alcance de seu rádio.
Para a configuração dos módulos XBee pode ser utilizado um aplicativo, criado tam-
bém pela Digi, chamado X-CTU. Nele é possível escolher as características que o disposi-
tivo terá na rede, se ele será um roteador ou end-device, por exemplo. Também é possível
selecionar a potência de transmissão do sinal, a criptografia nas mensagens e a taxa de
transmissão da porta serial. No DroidLar os módulos foram configurados para não utiliza-
rem criptografia, o que resultaria numa redução do tamanho de informação contida num
pacote. A taxa de transmissão escolhida para ser usada na porta serial foi de 9,6 Kbps.
Os controladores dispositivos executam dois tipos de procedimentos: atuação – que
executa ações como ligar, desligar, aumentar ou diminuir a intensidade da potência do
dispositivo eletrônico que este controla, por exemplo, uma lâmpada; relatório – envia in-
formações ao SAR a respeito de suas configurações, por exemplo, número de dispositivos
que está controlado, o estado atual de cada dispositivo (ligado, desligado, etc.). O relatório
é enviado sempre que o controlador for ligado ou sempre que o SAR solicitar.
3
http://www.digi.com
5.2 SAR
O servidor de automação residencial (SAR) consiste na parte central do DroidLar.
Tem como função gerenciar os controladores de dispositivos, enviando comandos ou rece-
bendo informações sobre o estado de cada e interagir com o cliente Android. Assim, atua
como uma ponte entre as duas tecnologias de transmissão sem fio, ZigBee e 802.11. O
SAR deve permanecer operando constantemente, pois, além de gerenciar as mensagens
trocadas entre os membros da rede, é responsável também por executar tarefas agendadas
pelo usuário como acender ou apagar lâmpadas em determinadas períodos.
O SAR foi implementado na forma de um software rodando em um computador pes-
soal. Consiste de um Servlet Java que no presente protótipo está sendo executado no ser-
vidor de aplicação Glassfish4. A vantagem de rodar aplicações sobre os servidores Web é
que estes se encarregam do gerenciamento de conexões simultâneas e também permitem
conexões seguras (HTTPS). O fato de usar um protocolo padronizado (HTTP)(FIELDING et
al., 1999) provê facilidades para criação de outros clientes para o SAR, por exemplo, clien-
tes Desktop, Web ou mesmo para outros sistemas operacionais de telefones inteligentes.
Para essa aplicação se comunicar com o cliente no Android é necessário que esse
computador esteja conectado em alguma rede IP, já para a comunicação com os kits Ar-
duino, é necessário que haja um módulo XBee, assim como nos Arduinos, conectado em
uma das portas USB desse computador. Esse módulo XBee tem que estar configurado
como coordenador da rede ZigBee, sendo o responsável pelas configurações dessa rede.
O servlet também é responsável pelas mensagens de controle dos dispositivos. Nes-
sas mensagens estão contidas informações como o tipo de ação tomada pelo dispositivo,
o valor utilizado para a execução dessa ação e o endereço do dispositivo responsável pelo
controle. Essa mensagem poderia ser utilizada, por exemplo, no acendimento de uma
lâmpada com 50% de sua intensidade controlada pelo dispositivos com um determinado
endereço. O outro tipo de mensagem utilizado é aquela trocada apenas entre o cliente
Android e o SAR. Essas mensagens servem para executar funcionalidades básicas do ser-
vidor, como a autenticação do usuário e também funcionalidades mais complexas, como o
agendamento de perfis, por parte do usuário.
5.3 Cliente Android
Os sistemas de automação residencial atuais permitem a utilização de diversos tipos
de interfaces de controle como painéis afixados em paredes, controles remotos tradicionais
e, até mesmo, páginas Web, que podem ser visualizadas por um navegador de Internet
no computador pessoal ou no telefone celular. Aplicações específicas para telefones in-
teligentes tem a usabilidade como principal vantagem quando comparadas com páginas
web.
O DroidLar utiliza um aplicativo rodando num telefone Android como interface de con-
trole. Esse aplicativo, além de controlar os eletroeletrônicos da residência, também pos-
sibilita a criação e o gerenciamento dos perfis do usuário. Esses perfis são formados por
um grupo de dispositivos que serão ligados/desligados automaticamente em determinadas
4
http://glassfish.java.net
(a) Tela inicial (b) Informações sobre o servi-
dor
Figura 7 – Interface principal e de configuração do SAR
datas. Para se comunicar com o SAR é necessário apenas que o telefone inteligente, no
qual o aplicativo está rodando, esteja conectado a uma rede IP.
Quando o usuário abre a aplicação é exibida à ele a tela inicial mostrada na Figura 7a.
Nessa tela é possível escolher se quer controlar os dispositivos da residência (Figura 7b),
alterar os perfis dos dispositivos (Figura 8a) ou editar as configurações para a conexão com
o SAR (Figura 8b). Para que o usuário execute qualquer ação na aplicação, é necessário
que ele esteja autenticado no SAR, por isso, na primeira vez que o usuário abre o aplicativo
é exibida a tela de configurações. Depois de salvar as configurações ele pode navegar por
todas telas normalmente, podendo estas configurações serem alteradas posteriormente.
Na tela de controle o usuário pode, por exemplo, acender, apagar ou definir um valor inter-
mediário para as lâmpadas da residência.
(a) Controle dos dispositivos (b) Configuração dos perfis
Figura 8 – Interfaces para configuração dos dispositivos e perfis
6 Conclusões e trabalhos futuros
Sistemas de automação residencial permitem que o usuário controle os eletroeletrô-
nicos de sua residência com conforto e comodidade oferecendo, inclusive, interfaces Web
para que ele possa controlá-los. Entretanto, na maioria dos produtos de automação resi-
dencial essas interfaces Web são limitadas quando comparadas com aplicações específicas
para os telefones inteligentes.
O ZigBee é um protocolo pra redes sem fio que não necessitem de altas taxas de
transmissão e que requeiram um baixo consumo energético por parte dos dispositivos trans-
missores. Mesmo não tendo um longo alcance de transmissão, os dispositivos ZigBee po-
dem prolongar a extensão da rede atuando em forma de malha, fazendo as mensagens
passarem por quantos nós forem necessários para chegar ao destino.
A plataforma Arduino foi criada com o intuito de ser uma ferramente de fácil utilização
para o desenvolvimento de protótipos em hardware que contenham uma lógica programá-
vel. Esses kits podem se conectar em diversas redes acoplando-se à eles shields, que
servirão como adaptadores para os transmissores de rede. Um módulo XBee, se conec-
tado 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 celula-
res convencionais. Neles é possível a conexão em diversas redes IP tais como 3G e Wi-Fi,
além de possuir sistemas operacionais que possibilitam rodar aplicativos com a mesma
complexidade dos que rodam em computadores pessoais. O Android é um sistema ope-
racional de código aberto permitindo que uma mesma aplicação seja utilizada em diversos
tipos de dispositivos de diferentes fabricantes.
O trabalho apresentado nesse artigo foi denominado DroidLar e se trata de um sis-
tema de automação residencial onde é possível controlar os eletroeletrônicos da residência
através de um aplicativo rodando em telefones Android. Assim como o Arduino e o Android,
o DroidLar também é um projeto aberto, podendo ser implementado por qualquer empresa
e, assim, aumentado as possibilidades de escolha dos usuários no momento em que for
adquirir um equipamento novo.
O fato de o SAR rodar em um computador pessoal que deve estar ligado constan-
temente pode ser um fator prejudicial na adoção do sistema pelos usuários. O principal
trabalho futuro é embarcar o SAR em um dispositivo micro controlado, semelhante aos kits
Arduinos, tornando-o portátil e energeticamente econômico. Um outro ponto seria a expan-
são do sistema como um todo para controlar não só lâmpadas, mas outros dispositivos de
uma residência, por exemplo, portões, sistemas de sonorização, etc.
Agradecimento
Ao Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) pelo
apoio financeiro sem qual não seria possível desenvolver o presente trabalho.
Responsabilidade de autoria
As informações contidas neste artigo são de inteira responsabilidade de seus autores.
As opiniões nele emitidas não representam, necessariamente, pontos de vista da Instituição
e/ou do Conselho Editorial do IF-SC.
Referências
BLUETOOTH, S. Bluetooth specification. 1998.
FIELDING, R. et al. Hypertext Transfer Protocol – HTTP/1.1. [S.l.], jun 1999. 176 p.
Disponível em: <http://www.rfc-editor.org/rfc/rfc2616.txt>.
IEEE. Part 15.4: Wireless Medium AccessControl (MAC) and Physical Layer (PHY)
Specifications 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) specifications.
IEEE Std 802.11-2007 (Revision of IEEE Std 802.11-1999), p. C1–1184, 12 2007.
OPEN HANDSET ALLIANCE. Android operating system. 2008. Disponível em:
<http://www.android.com>.
ZIGBEE ALLIANCE. Zigbee specification. ZigBee Document 053474r06, Version, v. 1,
2005.

Contenu connexe

Tendances

Artigo Pós Graduação - Paulo luis-steinhauser
Artigo Pós Graduação - Paulo luis-steinhauserArtigo Pós Graduação - Paulo luis-steinhauser
Artigo Pós Graduação - Paulo luis-steinhauserPaulo Steinhauser
 
Introdução a rede sem fio
Introdução a rede sem fioIntrodução a rede sem fio
Introdução a rede sem fioJairo Sousa
 
aula6-equipamentos-de-redes-redes-sem-fio
aula6-equipamentos-de-redes-redes-sem-fioaula6-equipamentos-de-redes-redes-sem-fio
aula6-equipamentos-de-redes-redes-sem-fioMarco Guimarães
 
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICDavidson Fellipe
 
Cabeamento estruturado
Cabeamento estruturadoCabeamento estruturado
Cabeamento estruturadoMarlos Cesar
 
Tecnologia sem fio, mobilidade e comunicação
Tecnologia sem fio, mobilidade e comunicaçãoTecnologia sem fio, mobilidade e comunicação
Tecnologia sem fio, mobilidade e comunicaçãobinhacardoso
 
Aula 1 - Redes sem fios - Introdução
Aula 1 - Redes sem fios - IntroduçãoAula 1 - Redes sem fios - Introdução
Aula 1 - Redes sem fios - IntroduçãoAndre Peres
 
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...frogstation
 
Evolução das Redes Sem Fios e Respectivo Impacto Actividade Integradora
Evolução das Redes Sem Fios e Respectivo Impacto Actividade IntegradoraEvolução das Redes Sem Fios e Respectivo Impacto Actividade Integradora
Evolução das Redes Sem Fios e Respectivo Impacto Actividade Integradoradanimateus
 
Dispositivos sem fio
Dispositivos sem fioDispositivos sem fio
Dispositivos sem fioTiago
 
Revistasemanaacademicafibraoptica
RevistasemanaacademicafibraopticaRevistasemanaacademicafibraoptica
RevistasemanaacademicafibraopticaElias Vidal
 

Tendances (20)

Trabalho final de ipd
Trabalho final de ipdTrabalho final de ipd
Trabalho final de ipd
 
Artigo Pós Graduação - Paulo luis-steinhauser
Artigo Pós Graduação - Paulo luis-steinhauserArtigo Pós Graduação - Paulo luis-steinhauser
Artigo Pós Graduação - Paulo luis-steinhauser
 
Introdução a rede sem fio
Introdução a rede sem fioIntrodução a rede sem fio
Introdução a rede sem fio
 
Semfio
SemfioSemfio
Semfio
 
trabalhos de grupo
trabalhos de grupotrabalhos de grupo
trabalhos de grupo
 
Interferencias Redes Sem Fio
Interferencias Redes Sem FioInterferencias Redes Sem Fio
Interferencias Redes Sem Fio
 
aula6-equipamentos-de-redes-redes-sem-fio
aula6-equipamentos-de-redes-redes-sem-fioaula6-equipamentos-de-redes-redes-sem-fio
aula6-equipamentos-de-redes-redes-sem-fio
 
Ciclo de Palestras da JFRJ - Redes sem fio
Ciclo de Palestras da JFRJ - Redes sem fioCiclo de Palestras da JFRJ - Redes sem fio
Ciclo de Palestras da JFRJ - Redes sem fio
 
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PICSistema De Comunicação Bluetooth Usando Microcontrolador PIC
Sistema De Comunicação Bluetooth Usando Microcontrolador PIC
 
Cabeamento estruturado
Cabeamento estruturadoCabeamento estruturado
Cabeamento estruturado
 
Ambiente wifi
Ambiente wifiAmbiente wifi
Ambiente wifi
 
Tecnologia sem fio, mobilidade e comunicação
Tecnologia sem fio, mobilidade e comunicaçãoTecnologia sem fio, mobilidade e comunicação
Tecnologia sem fio, mobilidade e comunicação
 
Aula 01 - Redes Wireless
Aula 01 - Redes WirelessAula 01 - Redes Wireless
Aula 01 - Redes Wireless
 
Aula 1 - Redes sem fios - Introdução
Aula 1 - Redes sem fios - IntroduçãoAula 1 - Redes sem fios - Introdução
Aula 1 - Redes sem fios - Introdução
 
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
 
Computação móvel i unidade aula 05
Computação móvel i unidade  aula 05Computação móvel i unidade  aula 05
Computação móvel i unidade aula 05
 
Evolução das Redes Sem Fios e Respectivo Impacto Actividade Integradora
Evolução das Redes Sem Fios e Respectivo Impacto Actividade IntegradoraEvolução das Redes Sem Fios e Respectivo Impacto Actividade Integradora
Evolução das Redes Sem Fios e Respectivo Impacto Actividade Integradora
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Dispositivos sem fio
Dispositivos sem fioDispositivos sem fio
Dispositivos sem fio
 
Revistasemanaacademicafibraoptica
RevistasemanaacademicafibraopticaRevistasemanaacademicafibraoptica
Revistasemanaacademicafibraoptica
 

En vedette

Griglia narrazione b
Griglia narrazione bGriglia narrazione b
Griglia narrazione bimartini
 
Демоверсия бизнес план гранитного карьера
Демоверсия бизнес план гранитного карьераДемоверсия бизнес план гранитного карьера
Демоверсия бизнес план гранитного карьераolegudobno
 
Griglia metodologia b
Griglia metodologia bGriglia metodologia b
Griglia metodologia bimartini
 
Демоверсия бизнес план производство ссс
Демоверсия бизнес план производство сссДемоверсия бизнес план производство ссс
Демоверсия бизнес план производство сссolegudobno
 
Research Questionnaire Analysis
Research Questionnaire Analysis Research Questionnaire Analysis
Research Questionnaire Analysis cw00531169
 
Invacare Respiratory Web Optimized Images
Invacare Respiratory Web Optimized ImagesInvacare Respiratory Web Optimized Images
Invacare Respiratory Web Optimized ImagesInvacare
 
Guia hot potatoes puertos
Guia  hot potatoes puertosGuia  hot potatoes puertos
Guia hot potatoes puertosingzulmasalas
 
Intergreted brief
Intergreted briefIntergreted brief
Intergreted briefahmong4
 
Caricaturas léo munhoz
Caricaturas léo munhozCaricaturas léo munhoz
Caricaturas léo munhozLéo Munhoz
 

En vedette (19)

Rotation PPT
Rotation PPTRotation PPT
Rotation PPT
 
Griglia narrazione b
Griglia narrazione bGriglia narrazione b
Griglia narrazione b
 
Documentary
DocumentaryDocumentary
Documentary
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Демоверсия бизнес план гранитного карьера
Демоверсия бизнес план гранитного карьераДемоверсия бизнес план гранитного карьера
Демоверсия бизнес план гранитного карьера
 
Griglia metodologia b
Griglia metodologia bGriglia metodologia b
Griglia metodologia b
 
Демоверсия бизнес план производство ссс
Демоверсия бизнес план производство сссДемоверсия бизнес план производство ссс
Демоверсия бизнес план производство ссс
 
Virus y fraudes
Virus y fraudesVirus y fraudes
Virus y fraudes
 
Research Questionnaire Analysis
Research Questionnaire Analysis Research Questionnaire Analysis
Research Questionnaire Analysis
 
Invacare Respiratory Web Optimized Images
Invacare Respiratory Web Optimized ImagesInvacare Respiratory Web Optimized Images
Invacare Respiratory Web Optimized Images
 
Transmisión de datos1
Transmisión de datos1Transmisión de datos1
Transmisión de datos1
 
transporte celular
transporte celular transporte celular
transporte celular
 
Artículos Francisco Valdés Perezgasga
Artículos Francisco Valdés PerezgasgaArtículos Francisco Valdés Perezgasga
Artículos Francisco Valdés Perezgasga
 
Guia hot potatoes puertos
Guia  hot potatoes puertosGuia  hot potatoes puertos
Guia hot potatoes puertos
 
Actividad4 nejerly villamarin
Actividad4 nejerly villamarinActividad4 nejerly villamarin
Actividad4 nejerly villamarin
 
Intergreted brief
Intergreted briefIntergreted brief
Intergreted brief
 
Caricaturas léo munhoz
Caricaturas léo munhozCaricaturas léo munhoz
Caricaturas léo munhoz
 
Elisa durán eje3_actividad 3
Elisa durán eje3_actividad 3Elisa durán eje3_actividad 3
Elisa durán eje3_actividad 3
 
Банковское дело
Банковское делоБанковское дело
Банковское дело
 

Similaire à Controle residencial Android com Arduino e ZigBee

Automação Residencial com Controle por Smartphone Android
Automação Residencial com Controle por Smartphone AndroidAutomação Residencial com Controle por Smartphone Android
Automação Residencial com Controle por Smartphone AndroidGabriel Gaspar
 
Automatização residencial com dispositivos móveis
Automatização residencial com dispositivos móveisAutomatização residencial com dispositivos móveis
Automatização residencial com dispositivos móveisDavidson Fernando
 
Aplicações de Sistemas Móveis
Aplicações de Sistemas MóveisAplicações de Sistemas Móveis
Aplicações de Sistemas MóveisWellington Oliveira
 
Tecnologias de Redes em Ascensão e Certificações CISCO
Tecnologias de Redes em Ascensão e Certificações CISCOTecnologias de Redes em Ascensão e Certificações CISCO
Tecnologias de Redes em Ascensão e Certificações CISCOImpacta Eventos
 
Proposta técnica - TTH Telecom
Proposta técnica - TTH TelecomProposta técnica - TTH Telecom
Proposta técnica - TTH TelecomLeonardo de Paula
 
Redes_APNT_2018.pdf
Redes_APNT_2018.pdfRedes_APNT_2018.pdf
Redes_APNT_2018.pdfritaporfrio
 
Cabeamento Estruturado - final.pptx
Cabeamento Estruturado - final.pptxCabeamento Estruturado - final.pptx
Cabeamento Estruturado - final.pptxmauricio381833
 
ZigBee - Apresentação resumida de monografia
ZigBee - Apresentação resumida de monografiaZigBee - Apresentação resumida de monografia
ZigBee - Apresentação resumida de monografiaGuilherme Varela Barbosa
 
RedesIndustriais-unlocked.pdf
RedesIndustriais-unlocked.pdfRedesIndustriais-unlocked.pdf
RedesIndustriais-unlocked.pdffilipeisep
 
Projeto asteris para controle remoto
Projeto   asteris para controle remotoProjeto   asteris para controle remoto
Projeto asteris para controle remotoWellington Neves
 
Artigo vulnerabilidadesem redessemfios
Artigo vulnerabilidadesem redessemfiosArtigo vulnerabilidadesem redessemfios
Artigo vulnerabilidadesem redessemfiosFlavia Moutinho
 
Introdução de redes sem fio
Introdução de redes sem fioIntrodução de redes sem fio
Introdução de redes sem fioTiago
 

Similaire à Controle residencial Android com Arduino e ZigBee (20)

Automação Residencial com Controle por Smartphone Android
Automação Residencial com Controle por Smartphone AndroidAutomação Residencial com Controle por Smartphone Android
Automação Residencial com Controle por Smartphone Android
 
Casa inteligente
Casa inteligenteCasa inteligente
Casa inteligente
 
Automatização residencial com dispositivos móveis
Automatização residencial com dispositivos móveisAutomatização residencial com dispositivos móveis
Automatização residencial com dispositivos móveis
 
Aplicações de Sistemas Móveis
Aplicações de Sistemas MóveisAplicações de Sistemas Móveis
Aplicações de Sistemas Móveis
 
2995 14151-1-pb
2995 14151-1-pb2995 14151-1-pb
2995 14151-1-pb
 
Tecnologias de Redes em Ascensão e Certificações CISCO
Tecnologias de Redes em Ascensão e Certificações CISCOTecnologias de Redes em Ascensão e Certificações CISCO
Tecnologias de Redes em Ascensão e Certificações CISCO
 
Proposta técnica - TTH Telecom
Proposta técnica - TTH TelecomProposta técnica - TTH Telecom
Proposta técnica - TTH Telecom
 
Trabalho: Rede sem fio.
Trabalho: Rede sem fio.Trabalho: Rede sem fio.
Trabalho: Rede sem fio.
 
Redes_APNT_2018.pdf
Redes_APNT_2018.pdfRedes_APNT_2018.pdf
Redes_APNT_2018.pdf
 
Wireless
WirelessWireless
Wireless
 
Cabeamento Estruturado - final.pptx
Cabeamento Estruturado - final.pptxCabeamento Estruturado - final.pptx
Cabeamento Estruturado - final.pptx
 
ZigBee - Apresentação resumida de monografia
ZigBee - Apresentação resumida de monografiaZigBee - Apresentação resumida de monografia
ZigBee - Apresentação resumida de monografia
 
REDE SEM FIO(1).pptx
REDE SEM FIO(1).pptxREDE SEM FIO(1).pptx
REDE SEM FIO(1).pptx
 
RedesIndustriais-unlocked.pdf
RedesIndustriais-unlocked.pdfRedesIndustriais-unlocked.pdf
RedesIndustriais-unlocked.pdf
 
Projeto asteris para controle remoto
Projeto   asteris para controle remotoProjeto   asteris para controle remoto
Projeto asteris para controle remoto
 
Internet via radio anexo ii
Internet via radio  anexo iiInternet via radio  anexo ii
Internet via radio anexo ii
 
Asterisk
AsteriskAsterisk
Asterisk
 
IoT: construindo ideias com nodeMCU e MQTT
IoT: construindo ideias com nodeMCU e MQTTIoT: construindo ideias com nodeMCU e MQTT
IoT: construindo ideias com nodeMCU e MQTT
 
Artigo vulnerabilidadesem redessemfios
Artigo vulnerabilidadesem redessemfiosArtigo vulnerabilidadesem redessemfios
Artigo vulnerabilidadesem redessemfios
 
Introdução de redes sem fio
Introdução de redes sem fioIntrodução de redes sem fio
Introdução de redes sem fio
 

Controle residencial Android com Arduino e ZigBee

  • 1. DroidLar - Automação residencial através de um celular Android Michel Vinicius de Melo Euzébio∗ Sistemas de Telecomunicações, Instituto Federal de Santa Catarina michel.euzebio@gmail.com Emerson Ribeiro de Mello Doutor, Sistemas de Telecomunicações, Instituto Federal de Santa Catarina mello@ifsc.edu.br Resumo- Sistemas de automação residencial permitem que eletroeletrônicos de uma resi- dencia sejam controlados, inclusive, por interfaces Web. Os telefones inteligentes possuem configurações superiores aos celulares convencionais e permitem conexões em redes sem fio como 3G e Wi-Fi. O sistema operacional Android pode operar em diversos tipos de dis- positivos e possibilita a criação de aplicativos com alta complexidade. Kits Arduino podem ser usados em projetos para prototipagem de hardware e, se forem acoplados a estes mó- dulos XBee, podem se comunicar em redes ZigBee. Este trabalho apresenta o DroidLar, um sistema de automação residencial que permite enviar comandos aos eletroeletrônicos da residência através de um aplicativo rodando em celulares Android. Palavras-chave: Automação 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 com- plexity 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. 1 Introdução Sistemas de automação residencial permitem aos usuários controlarem os eletroele- trônicos de sua residência como lâmpadas, televisores e home theaters, através de interfa- ces de controle. Sua proposta principal é trazer conforto e comodidade para as residências, porém, podem ser utilizados também para segurança, com a utilização de câmeras de vigi- lância e sensores de presença. Sistemas de automação residencial são tipicamente compostos por controladores de dispositivos, um servidor central e interfaces de controle. Os controladores de dispositivos ∗ Bolsista CNPq
  • 2. são responsáveis por executar efetivamente os comandos nos eletroeletrônicos da residên- cia. Os servidores são responsáveis pelo envio das mensagens das interfaces de controle para os controladores de dispositivos. Por fim, as interfaces de controle podem ser repre- sentadas por painéis afixados em paredes ou mesmo em forma de páginas Web, que po- dem ser visualizadas, inclusive, em telefones celulares. Interagindo com essas interfaces o usuário consegue acionar determinado dispositivo ou executar determinada funcionalidade do sistema. Para o desenvolvimento em hardware é fundamental a realização de testes antes da fabricação do equipamento. Por isso, a plataforma Arduino 1 se mostra ideal no de- senvolvimento de dispositivos programáveis que tenham que exercer funções de controle, principalmente para prototipagem de equipamentos em fase de projetos. Nos sistemas de automação tem que haver uma tecnologia eficiente para a comuni- cação entre os dispositivos da rede. Pensando nisso foi criado o protocolo ZigBee (ZIGBEE ALLIANCE, 2005), ideal para sistemas de automação onde a taxa de transmissão de dados não é relevante mas sim o consumo de energia e possibilita a criação de uma malha de dispositivos onde todos podem se comunicar e encaminhar mensagens. Telefones celulares que sirvam apenas para realizar chamadas telefônicas estão cada vez mais perdendo espaço 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 são denominados telefones inteligentes e tem características muito superiores ao celulares convencionais como por exemplo suporte à conexões 3G e Wi-Fi (IEEE, 2007), maior capacidade de processamento e memória, além de sistemas operacionais mais complexos. O Android (OPEN HANDSET ALLIANCE, 2008) é um sistema operacional para dis- positivos móveis 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 várias fabricantes de dispositivos móveis, o Android está disponível em diversos tipos de dispositivos como tele- fones inteligentes e tablets, por exemplo. Ele foi projetado para tirar proveito das telas sen- síveis ao toque, da capacidade de processamento e grande conectividade dos dispositivos móveis atuais, e possibilitar a criação de aplicações tão complexas quanto as destinadas a computadores pessoais. Nesse trabalho é apresentado o DroidLar, um sistema de automação residencial com- pleto onde o usuário utiliza uma aplicação rodando em um celular Android como interface de controle. O DroidLar utiliza o protocolo ZigBee para a comunicação dos controladores de dispositivos. Nesse sistema podem ser controlados eletroeletrônicos, como lâmpadas, por uma rede IP local, ou em qualquer lugar do mundo pela Internet. O presente artigo está dividido nas seguintes sessões: a Sessão 2 abordará a uti- lização das redes ZigBee e suas características; a Sessão 3 tratará sobre o Arduino e sua facilidade de uso; na Sessão 4 será apresentado o sistema operacional para dispositi- vos móveis Android; a Sessão 5 descreve o DroidLar, o sistema de automação residencial resultante desse trabalho, sua arquitetura e funcionamento; e por fim, na Sessão 6 são apresentadas as conclusões e possíveis trabalhos futuros. 1 http://www.arduino.cc
  • 3. 2 ZigBee A comunicação por redes sem fio surgiu como uma evolução à utilização de redes cabeadas. A mobilidade e a não necessidade de cabos de conexão foram fatores que contribuíram para sua grande popularização. Porém, ainda existia a necessidade de tecno- logias específicas para redes sem fio que não necessitassem de altas taxas de transmissão e que possibilitassem uma economia de energia nos transmissores. Motivado por essa ne- cessidade foi criado o protocolo ZigBee. Ele é um protocolo voltado para as redes pessoais sem fio de baixa taxa de transmissão (LR-WPAN) e, por isso, é ideal para aplicações que utilizem sensores, de automação, militares e de segurança. O ZigBee foi construído sobre a base descrita pelo padrão IEEE 802.15.4 (IEEE, 2006) - que define as WPANs - adicionando as camadas de rede (NWK), suporte à apli- cação (APS) e aplicação (AF) sobre as camadas física (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 segurança ao conteúdo das mensagens, além de possibilitar que as fabricantes e os usuário implementem as suas próprias aplicações nos dispositivos que utilizem ZigBee. Aplicação (AF) Subcamada de Suporte a Aplicação (APS) Camada de Rede (NWK) Camada de Controle de Acesso ao Meio (MAC) Camada Física (PHY) IEEE 802.15.4 Plataforma ZigBee Aplicações do Usuário Figura 1 – Pilha do protocolo ZigBee. Os dispositivos ZigBee utilizam as faixas (Industrial, Scientific and Medical – ISM) de 868 e 915 Mhz além da faixa de 2,4 Ghz, para as transmissões de dados. A taxa dessas transmissões pode variar entre 20 e 250 Kbps e seu alcance pode chegar, em média, a 50 metros, dependendo do ambiente onde são realizadas as transmissões. Na rede ZigBee um dispositivo pode assumir três papéis: roteador, coordenador e end-device. Os roteadores são dispositivos que além de enviar e receber mensagens, po- dem encaminhar mensagens destinadas à outros dispositivos. Numa rede ZigBee sempre deve haver um único dispositivo roteador configurado como coordenador. Esses dispositi- vos tem as mesmas características dos roteadores, porém, exercem tarefas extras como o gerenciamento de inclusão/exclusão de dispositivos na rede. Já os end-devices são sempre a origem ou o destino das mensagens não 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 é for- mada por um dispositivo coordenador no centro e diversos end-devices, nessa formação todas as mensagens passarão pelo coordenador para chegar ao seu destino. A topolo- gia em árvore funciona como se fosse uma série de redes em forma de estrela interliga- das. Na topologia em malha os dispositivos do núcleo da rede têm a função de roteador
  • 4. e com esta é possível alcançar longas distâncias nas transmissão das mensagens apenas encaminhando-as pelos dispositivo até que chegue ao seu destino. Essa capacidade de ex- tensão da rede torna o ZigBee vantajoso frente a outras tecnologias de transmissão sem fio que também possuem baixa taxa de transmissão como o Bluetooth (BLUETOOTH, 1998). Figura 2 – Topologias da rede ZigBee. O ZigBee possui diversas maneiras de garantir a segurança na troca de mensagens, entre elas está a criptografia, que tem como objetivo evitar que as informações transmi- tidas sejam legíveis a intrusos na rede. Outra característica interessante do ZigBee é a economia de energia diante da baixa taxa de transmissão aliada a capacidade dos disposi- tivos configurados como end-devices poderem hibernar por certos períodos de tempo. Tais características permitem que esses dispositivos sejam alimentados até por baterias. 3 Arduino Durante o período de desenvolvimento de projetos em hardware é fundamental a utilização de ferramentas que auxiliem nos testes e facilitem a construção desses sistemas. Com esse objetivo foi desenvolvido a plataforma Arduino. Ela consiste num kit que permite, com facilidade, a implementação 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 estão conectados um microcon- trolador da Atmel2, responsável pela execução da logica programável, e diversos LEDs e botões conectados as suas portas analógicas e digitais, além de portas seriais, podendo estas configurações variarem de acordo com o modelo do kit. A indicação das portas do microcontrolador pode ser vista na Figura 3. 2 http://www.atmel.com
  • 5. Figura 3 – elementos de um kit Arduino. Para a programação do microcontrolador presente no Arduino é utilizada a linguagem C, além de bibliotecas em C++. Para a escrita dos códigos pode ser utilizado o ambiente de desenvolvimento integrado (IDE) do Arduino. Essa IDE possui recursos para facilitar a implementação dos projetos no Arduino tais como diversos exemplos de códigos e uma ferramenta denominada Serial Monitor onde é possível visualizar os dados recebidos e, também, os dados enviados pela porta serial. Além da conexão serial, os kits Arduino ainda possuem suporte a outros tipos de co- nexão como Ethernet, Wi-Fi e diversas outras. A expansão das funcionalidades do Arduino através de conexões de rede pode ser auxiliada com a utilização de shields. Esses shields são placas especificamente 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. 4 Android Telefones inteligentes oferecem aos usuários funcionalidades comuns às apresenta- das por computadores pessoais como acesso a redes de dados por conexões sem fio e aplicações com um grande grau de complexidade. Com a grande expansão do mercados desses telefones tornou-se viável uma solução capaz de funcionar em diferentes tipos de dispositivos com hardware diferentes. Com essa motivação foi criado o Android, um sistema operacional de código aberto desenvolvido pelo Google em conjunto com outras empresas dos setores de hardware, software e telecomunicações. Como mostra a Figura 4, na base da pilha da arquitetura ZigBee está presente o Kernel Linux. Na camada acima estão as bibliotecas do sistema como a de gerenciamento de tela, de mídia, de gráficos e de banco de dados, entre outros. Ainda nessa camada está presente a Dalvik, uma máquina virtual Java otimizada para dispositivos móveis. Logo acima dessa segunda camada estão as classes que compõe a API do Android que são utilizadas pelas aplicações do sistema, presentes na camada superior a essa. O Google disponibilizou uma série de ferramentas para auxiliar os desenvolvedores na criação de aplicações. Essas ferramentas estão contidas no kit de desenvolvimento de
  • 6. Aplicações Android Arcabouço de Aplicações Bibliotecas Dalvik VM Kernel Linux Activity Manager Window Manager Notification Manager View System Media Framework SQLite OpenGL Surface Manager Ambiente de execução ... ... ... ... ... Figura 4 – Arquitetura do Android. software (SDK) do Android. Na SDK estão presentes códigos com exemplos de utilização da API, um emulador de telefone celular, onde podem ser testadas as aplicações, e uma ferramenta para auxiliar na depuração dos códigos. Outra ferramenta disponibilizada pelo Google foi um plugin que permite a total integração da SDK com o IDE Eclipse, permitindo a compilação do código, a instalação e a execução no emulador com apenas um clique. Para o desenvolvimento das aplicações do Android, é utilizada a linguagem Java, porém, para a criação das interfaces gráficas pode ser utilizado também arquivos em XML. Como é possível ver na Figura 5, nos objetos XML, que serão exibidos na tela da aplicação, existe um campo onde é inserido um valor de identificação desse objeto. Esses valores podem ser referenciados no código Java para que os objetos XML sejam manipulados por esse código, que permite a utilização de lógica bastante avançada. Descrição da interface em XMLInterface da aplicação Classe Java com a lógica Figura 5 – Código Java pra Android integrado com XML. 5 DroidLar Os sistemas de automação residencial presentes no mercado são, 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 também atua dessa maneira. Nele, além do servidor centralizado - denomi- nado servidor de automação residencial (SAR) -, também estão presentes a interface de controle, implementada em forma de uma aplicação para telefones Android, e os controla- dores de dispositivos construídos com a utilização de kits Arduino. Como mostrado pela Figura 6, o cliente rodando no Android utiliza uma conexão IP
  • 7. (Wi-Fi, 3G, entre outros) para a comunicação, 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. SAR 3 Android 2 1 WiFi Arduino Arduino Arduino Figura 6 – Elementos do DroidLar. 5.1 Controladores de Dispositivos Para o controle dos eletroeletrônicos da residência são necessários dispositivos ca- pazes de interpretar uma informação e executar determinada ação mediante o recebimento de uma mensagem. Por isso e pelas razões apresentadas na Seção 3, optou-se por utilizar kits Arduino para a prototipagem desses controladores no DroidLar. A comunicação entre os controladores de dispositivos e o SAR se faz através do protocolo ZigBee, para tal foram empregados módulos XBee Series 2.5, fabricados pela Digi International3. Nos kits Arduino esses módulos são conectados ao shield XBee e no SAR os módulos são conectados a um adaptador serial o qual fica conectado a uma porta USB. No DroidLar, todos os módulos XBee dos controladores foram configurados 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 além do alcance de seu rádio. Para a configuração dos módulos XBee pode ser utilizado um aplicativo, criado tam- bém pela Digi, chamado X-CTU. Nele é possível escolher as características que o disposi- tivo terá na rede, se ele será um roteador ou end-device, por exemplo. Também é possível selecionar a potência de transmissão do sinal, a criptografia nas mensagens e a taxa de transmissão da porta serial. No DroidLar os módulos foram configurados para não utiliza- rem criptografia, o que resultaria numa redução do tamanho de informação contida num pacote. A taxa de transmissão escolhida para ser usada na porta serial foi de 9,6 Kbps. Os controladores dispositivos executam dois tipos de procedimentos: atuação – que executa ações como ligar, desligar, aumentar ou diminuir a intensidade da potência do dispositivo eletrônico que este controla, por exemplo, uma lâmpada; relatório – envia in- formações ao SAR a respeito de suas configurações, por exemplo, número de dispositivos que está controlado, o estado atual de cada dispositivo (ligado, desligado, etc.). O relatório é enviado sempre que o controlador for ligado ou sempre que o SAR solicitar. 3 http://www.digi.com
  • 8. 5.2 SAR O servidor de automação residencial (SAR) consiste na parte central do DroidLar. Tem como função gerenciar os controladores de dispositivos, enviando comandos ou rece- bendo informações sobre o estado de cada e interagir com o cliente Android. Assim, atua como uma ponte entre as duas tecnologias de transmissão sem fio, ZigBee e 802.11. O SAR deve permanecer operando constantemente, pois, além de gerenciar as mensagens trocadas entre os membros da rede, é responsável também por executar tarefas agendadas pelo usuário como acender ou apagar lâmpadas em determinadas períodos. O SAR foi implementado na forma de um software rodando em um computador pes- soal. Consiste de um Servlet Java que no presente protótipo está sendo executado no ser- vidor de aplicação Glassfish4. A vantagem de rodar aplicações sobre os servidores Web é que estes se encarregam do gerenciamento de conexões simultâneas e também permitem conexões seguras (HTTPS). O fato de usar um protocolo padronizado (HTTP)(FIELDING et al., 1999) provê facilidades para criação de outros clientes para o SAR, por exemplo, clien- tes Desktop, Web ou mesmo para outros sistemas operacionais de telefones inteligentes. Para essa aplicação se comunicar com o cliente no Android é necessário que esse computador esteja conectado em alguma rede IP, já para a comunicação com os kits Ar- duino, é necessário que haja um módulo XBee, assim como nos Arduinos, conectado em uma das portas USB desse computador. Esse módulo XBee tem que estar configurado como coordenador da rede ZigBee, sendo o responsável pelas configurações dessa rede. O servlet também é responsável pelas mensagens de controle dos dispositivos. Nes- sas mensagens estão contidas informações como o tipo de ação tomada pelo dispositivo, o valor utilizado para a execução dessa ação e o endereço do dispositivo responsável pelo controle. Essa mensagem poderia ser utilizada, por exemplo, no acendimento de uma lâmpada com 50% de sua intensidade controlada pelo dispositivos com um determinado endereço. O outro tipo de mensagem utilizado é aquela trocada apenas entre o cliente Android e o SAR. Essas mensagens servem para executar funcionalidades básicas do ser- vidor, como a autenticação do usuário e também funcionalidades mais complexas, como o agendamento de perfis, por parte do usuário. 5.3 Cliente Android Os sistemas de automação residencial atuais permitem a utilização de diversos tipos de interfaces de controle como painéis afixados em paredes, controles remotos tradicionais e, até mesmo, páginas Web, que podem ser visualizadas por um navegador de Internet no computador pessoal ou no telefone celular. Aplicações específicas para telefones in- teligentes tem a usabilidade como principal vantagem quando comparadas com páginas web. O DroidLar utiliza um aplicativo rodando num telefone Android como interface de con- trole. Esse aplicativo, além de controlar os eletroeletrônicos da residência, também pos- sibilita a criação e o gerenciamento dos perfis do usuário. Esses perfis são formados por um grupo de dispositivos que serão ligados/desligados automaticamente em determinadas 4 http://glassfish.java.net
  • 9. (a) Tela inicial (b) Informações sobre o servi- dor Figura 7 – Interface principal e de configuração do SAR datas. Para se comunicar com o SAR é necessário apenas que o telefone inteligente, no qual o aplicativo está rodando, esteja conectado a uma rede IP. Quando o usuário abre a aplicação é exibida à ele a tela inicial mostrada na Figura 7a. Nessa tela é possível escolher se quer controlar os dispositivos da residência (Figura 7b), alterar os perfis dos dispositivos (Figura 8a) ou editar as configurações para a conexão com o SAR (Figura 8b). Para que o usuário execute qualquer ação na aplicação, é necessário que ele esteja autenticado no SAR, por isso, na primeira vez que o usuário abre o aplicativo é exibida a tela de configurações. Depois de salvar as configurações ele pode navegar por todas telas normalmente, podendo estas configurações serem alteradas posteriormente. Na tela de controle o usuário pode, por exemplo, acender, apagar ou definir um valor inter- mediário para as lâmpadas da residência. (a) Controle dos dispositivos (b) Configuração dos perfis Figura 8 – Interfaces para configuração dos dispositivos e perfis
  • 10. 6 Conclusões e trabalhos futuros Sistemas de automação residencial permitem que o usuário controle os eletroeletrô- nicos de sua residência com conforto e comodidade oferecendo, inclusive, interfaces Web para que ele possa controlá-los. Entretanto, na maioria dos produtos de automação resi- dencial essas interfaces Web são limitadas quando comparadas com aplicações específicas para os telefones inteligentes. O ZigBee é um protocolo pra redes sem fio que não necessitem de altas taxas de transmissão e que requeiram um baixo consumo energético por parte dos dispositivos trans- missores. Mesmo não tendo um longo alcance de transmissão, os dispositivos ZigBee po- dem prolongar a extensão da rede atuando em forma de malha, fazendo as mensagens passarem por quantos nós forem necessários para chegar ao destino. A plataforma Arduino foi criada com o intuito de ser uma ferramente de fácil utilização para o desenvolvimento de protótipos em hardware que contenham uma lógica programá- vel. Esses kits podem se conectar em diversas redes acoplando-se à eles shields, que servirão como adaptadores para os transmissores de rede. Um módulo XBee, se conec- tado 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 celula- res convencionais. Neles é possível a conexão em diversas redes IP tais como 3G e Wi-Fi, além de possuir sistemas operacionais que possibilitam rodar aplicativos com a mesma complexidade dos que rodam em computadores pessoais. O Android é um sistema ope- racional de código aberto permitindo que uma mesma aplicação seja utilizada em diversos tipos de dispositivos de diferentes fabricantes. O trabalho apresentado nesse artigo foi denominado DroidLar e se trata de um sis- tema de automação residencial onde é possível controlar os eletroeletrônicos da residência através de um aplicativo rodando em telefones Android. Assim como o Arduino e o Android, o DroidLar também é um projeto aberto, podendo ser implementado por qualquer empresa e, assim, aumentado as possibilidades de escolha dos usuários no momento em que for adquirir um equipamento novo. O fato de o SAR rodar em um computador pessoal que deve estar ligado constan- temente pode ser um fator prejudicial na adoção do sistema pelos usuários. O principal trabalho futuro é embarcar o SAR em um dispositivo micro controlado, semelhante aos kits Arduinos, tornando-o portátil e energeticamente econômico. Um outro ponto seria a expan- são do sistema como um todo para controlar não só lâmpadas, mas outros dispositivos de uma residência, por exemplo, portões, sistemas de sonorização, etc. Agradecimento Ao Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) pelo apoio financeiro sem qual não seria possível desenvolver o presente trabalho.
  • 11. Responsabilidade de autoria As informações contidas neste artigo são de inteira responsabilidade de seus autores. As opiniões nele emitidas não representam, necessariamente, pontos de vista da Instituição e/ou do Conselho Editorial do IF-SC. Referências BLUETOOTH, S. Bluetooth specification. 1998. FIELDING, R. et al. Hypertext Transfer Protocol – HTTP/1.1. [S.l.], jun 1999. 176 p. Disponível em: <http://www.rfc-editor.org/rfc/rfc2616.txt>. IEEE. Part 15.4: Wireless Medium AccessControl (MAC) and Physical Layer (PHY) Specifications 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) specifications. IEEE Std 802.11-2007 (Revision of IEEE Std 802.11-1999), p. C1–1184, 12 2007. OPEN HANDSET ALLIANCE. Android operating system. 2008. Disponível em: <http://www.android.com>. ZIGBEE ALLIANCE. Zigbee specification. ZigBee Document 053474r06, Version, v. 1, 2005.