UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Elienay da Cunha.pdf · LISTA...
Transcript of UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE …siaibib01.univali.br/pdf/Elienay da Cunha.pdf · LISTA...
-
UNIVERSIDADE DO VALE DO ITAJA
CENTRO DE CINCIAS TECNOLGICAS DA TERRA E DO MAR
CURSO DE CINCIA DA COMPUTAO
SISTEMA MICROCONTROLADO BASEADO EM AUTENTICAO
REMOTA E ACIONAMENTO POR MEIO DE DISPOSITIVOS MVEIS
por
Elienay da Cunha
Itaja (SC), novembro de 2013
-
UNIVERSIDADE DO VALE DO ITAJA
CENTRO DE CINCIAS TECNOLGICAS DA TERRA E DO MAR
CURSO DE CINCIA DA COMPUTAO
SISTEMA MICROCONTROLADO BASEADO EM AUTENTICAO
REMOTA E ACIONAMENTO POR MEIO DE DISPOSITIVOS MVEIS
rea de Sistemas Embarcados e Distribudos
por
Elienay da Cunha
Relatrio apresentado Banca Examinadora
do Trabalho Tcnico-cientfico de Concluso
do Curso de Cincia da Computao para
anlise e aprovao.
Orientador: Douglas Rossi de Melo, M. Sc.
Co-orientador: Cesar Albenes Zeferino, Dr.
Itaja (SC), novembro de 2013
-
RESUMO
CUNHA, Elienay. Sistema microcontrolado baseado em autenticao remota e
acionamento por meio de dispositivos mveis. Itaja, 2013. 93 p. Trabalho Tcnico-
cientfico de Concluso de Curso (Graduao em Cincia da Computao) Centro de
Cincias Tecnolgicas da Terra e do Mar, Universidade do Vale do Itaja, Itaja, 2013.
Com a difuso dos dispositivos mveis, como smartphones e tablets, torna-se possvel e
desejvel a utilizao desses elementos em conjunto com outras tecnologias para o
desenvolvimento de diversos sistemas, como os sistemas de automao. Uma tecnologia que
pode ser utilizada nessa integrao corresponde aos microcontroladores, que so dispositivos
que contm recursos que permitem controlar mecanismos de diversas naturezas. possvel
controlar o acesso a um ambiente por meio de um sistema microcontrolado, utilizando
tcnicas de autenticao para manter algum nvel de segurana. Neste trabalho, utiliza-se uma
tcnica de autenticao multifator, com dois requisitos: algo que se possua (dispositivo mvel
com uma aplicao) e algo que se saiba (informaes de usurio e senha), para uma consulta
em um banco de dados externo. Foi utilizado o Arduino para a elaborao do sistema de
controle, por se tratar de uma plataforma aberta e de baixo custo que oferece os recursos
necessrios para a comunicao sem fio com o dispositivo mvel, para a autenticao do
usurio e para a ativao de um fecho eletromagntico. Como protocolo de comunicao entre
as unidades, foi utilizado o Bluetooth, comumente aderido pela maioria dos dispositivos
mveis. A aplicao para o dispositivo mvel foi desenvolvida para a plataforma Android,
que prov ao usurio uma interface grfica que permite a entrada dos dados e comunicao
por meios no guiados. Com a integrao dos dispositivos e tecnologias, foi possvel acionar
um fecho eletromagntico, mediante a autenticao de um usurio em uma base de dados
externa.
Palavras-chave: Automao. Arduino. Comunicao Mvel.
-
ABSTRACT
With the spread of mobile technologies such as smartphones and tablets, it is possible to use
these devices with other technologies for the implementation of many systems like automation
systems. Microcontrollers are a technology used to control mechanisms of various natures,
like environments access. In this work, it is used a multifactor authentication to control the
permission to access an environment which requires two conditions: something you have
(mobile device with an application) and something you know (user information and
password). It was adopted the Arduino technology as the microcontroller unit because it is an
open and low cost platform that provides the necessary resources for processing and wireless
communication with the mobile device for user authentication. Bluetooth was the wireless
communication protocol chosen to integrate the mobile device and the controller unit. The
software was developed for the Android platform, which provides to the user a graphical
interface that allows the entry of data and support to the communication protocol. After the
bed, it was possible to activate an electromagnetic lock, by authenticating a user in an
external database.
Keywords: Automation. Arduino. Mobile Communication.
-
LISTA DE FIGURAS
Figura 1. Viso geral do sistema. ............................................................................................. 13 Figura 2. Modelo de referncia OSI. ........................................................................................ 19
Figura 3. Taxonomia por forma de energia .............................................................................. 22 Figura 4. Autenticao multifator: (a) Algo que se sabe; (b) Algo que se tem; (c) Algo que
parte do usurio ........................................................................................................................ 26 Figura 5. Duas piconets formando uma scatternet ................................................................... 27 Figura 6. Estrutura do quadro Bluetooth .................................................................................. 28
Figura 7. Viso frontal do Arduino Uno .................................................................................. 30
Figura 8. Viso frontal do Arduino Mega ADK ....................................................................... 31
Figura 9. Viso frontal do Arduino Nano ................................................................................. 32 Figura 10. Arquitetura do Android ........................................................................................... 36 Figura 11. Elementos do DroidLar ........................................................................................... 38 Figura 12. Telas da aplicao. (a) tela inicial; (b) tela de configuraes ................................. 40
Figura 13. Sistema de automao residencial ........................................................................... 41 Figura 14. Interface de Usurio ................................................................................................ 42
Figura 15. Comunicao com objetos da residncia atravs de celular ................................... 43 Figura 16. Componentes de hardware do mdulo conversor ................................................... 44 Figura 17. Viso macro do sistema DomoWeb ........................................................................ 45
Figura 18. Pgina de ambientes do DomoWeb ........................................................................ 46 Figura 19. Fecho eletromagntico Amelco FE61 ..................................................................... 49
Figura 20. Comunicao do dispositivo mvel com o Arduino ............................................... 50
Figura 21. Comunicao do Arduino com o servidor .............................................................. 50
Figura 22. Acionamento do fecho eletromagntico.................................................................. 51 Figura 23. Casos de uso ............................................................................................................ 53 Figura 24. Diagrama de sequncia ........................................................................................... 56
Figura 25. Diagrama de classes ................................................................................................ 57
Figura 26. Prottipo da tela de login ........................................................................................ 58 Figura 27. Tela do aplicativo mvel ......................................................................................... 60 Figura 28. Tela principal com a adio do menu ..................................................................... 61 Figura 29. Fluxograma das tarefas principais da aplicao Android ....................................... 65 Figura 30. Fluxograma dos processos implementados no mtodo loop ................................... 68
Figura 31. Mdulo EthernetShield acoplado ao Arduino Uno ................................................. 69 Figura 32. Mdulo Bluetooth e mdulo Rel acoplados na protoboard ................................... 70 Figura 33. Modelo esquemtico do Arduino ............................................................................ 70
Figura 34. Prototipao completa do Arduino.......................................................................... 72 Figura 35. Prototipao do Arduino acionando o fecho eletromagntico ................................ 73 Figura 36. Fluxograma da integrao com servidor ................................................................. 74 Figura 37. Execuo da aplicao Android. (a) Sansung Galaxy Young S5360; (b) Motorola
Xoom 2 ME .............................................................................................................................. 76 Figura 38. Resultado dos testes com identificador e senha corretos, sem permisso. (a)
Mdulo rel desligado e lmpada apagada; (b) Mdulo rel ativado e lmpada acesa............ 77 Figura 39. Tela da aplicao Android com mensagem de erro ao enviar dados incorretos ..... 77
-
LISTA DE QUADROS
Quadro 1. Comparativo dos trabalhos similares ....................................................................... 47 Quadro 2. UC01 Acionar o fecho eletromagntico ............................................................... 54
Quadro 3. UC02 Autenticar no sistema ................................................................................. 55 Quadro 4. Lista de componentes de hardware .......................................................................... 69 Quadro 5. Especificao do Arduino Uno ................................................................................ 71 Quadro 6. Custo dos componentes do prottipo....................................................................... 78
-
LISTA DE ABREVIATURAS E SIGLAS
ACL Asynchronous Connection-Less
DARPA Defense Advanced Research Projects Agency
FHSS Frequency Hopping Spread Spectrum
GPRS General Packet Radio Service
GPS Global Positioning System
HTTP HyperText Transfer Protocol
IBM International Business Machine
ICSP In Circuit Serial Programming
IDC International Data Corporation
IOT Internet of Things
IP Internet Protocol
ISO International Standards Organization
LAN Local Area Network
LED Light Emitting Diode
MAC Media Access Control
NFC Near Field Communication
OPENGL Open Graphics Library
OSI Opens Systems Interconnection
PWM Pulse Width Modulation
RF Radio Frequency
SAR Servio de Automao Residencial
SCO Synchronous Connection Oriented
SGBD Sistema de Gerenciamento de Banco de Dados
SPI Serial Peripheral Interface
TCP Transmission Control Protocol
TTC Trabalho Tcnico-cientfico de Concluso de Curso
UART Universal Asynchronous Receiver/Transmitter
UML Unified Modeling Language
UNIVALI Universidade do Vale do Itaja
USB Universal Serial Bus
XML Extend Markup Language
-
SUMRIO
1 INTRODUO .................................................................................................................. 10 1.1 PROBLEMATIZAO ..................................................................................................... 12
1.1.1 Formulao do Problema ............................................................................................. 12 1.1.2 Soluo Proposta .......................................................................................................... 12 1.2 OBJETIVOS ..................................................................................................................... 13 1.2.1 Objetivo Geral .............................................................................................................. 13 1.2.2 Objetivos Especficos .................................................................................................... 14
1.3 METODOLOGIA ............................................................................................................. 14
1.4 ESTRUTURA DO TRABALHO ........................................................................................ 15
2 FUNDAMENTAO TERICA ..................................................................................... 16 2.1 REDES DE COMPUTADORES ...................................................................................... 16 2.1.1 Usurios Mveis e Redes sem Fio ................................................................................ 17
2.1.2 Modelos de Referncia .................................................................................................. 17 2.2 MEIOS DE TRANSMISSO ............................................................................................ 21
2.3 INTERLIGAO DE REDES .......................................................................................... 22 2.4 INTERNET DAS COISAS (IOT) ...................................................................................... 24 2.5 AUTENTICAO ............................................................................................................ 25
2.6 BLUETOOTH .................................................................................................................. 26 2.6.1 Arquitetura do Bluetooth .............................................................................................. 26
2.6.2 A estrutura de quadro do Bluetooth ............................................................................. 27
2.7 MICROCONTROLADORES ............................................................................................ 28
2.7.1 Plataforma Arduino ...................................................................................................... 29 Software .................................................................................................................................... 29
Hardware .................................................................................................................................. 29 2.7.2 Arduino Uno ................................................................................................................. 30
2.7.3 Arduino Mega ADK ...................................................................................................... 31 2.7.4 Arduino Nano ................................................................................................................ 31 2.7.5 Diferenciais ................................................................................................................... 32
2.8 PLATAFORMA ANDROID .............................................................................................. 33 2.8.1 Arquitetura .................................................................................................................... 35
2.8.2 Diferenciais ................................................................................................................... 37 2.9 TRABALHOS SIMILARES ............................................................................................... 38 2.9.1 DroidLar Automao residencial atravs de um celular Android ............................ 38
2.9.2 Sistema de automao residencial baseado em Bluetooth usando celulares ............... 40 2.9.3 Domtica: Controle de automao residencial utilizando celulares com Bluetooth ... 42 2.9.4 DomoWeb ...................................................................................................................... 44 2.9.5 Anlise comparativa ..................................................................................................... 47
3 DESENVOLVIMENTO .................................................................................................... 48 3.1 VISO GERAL ................................................................................................................. 48 3.1.1 Escopo ........................................................................................................................... 51 3.2 REQUISITOS ................................................................................................................... 51 3.2.1 Requisitos funcionais .................................................................................................... 52
-
3.2.2 Requisitos no-funcionais ............................................................................................. 52 3.3 MODELAGEM ................................................................................................................. 53 3.3.1 Casos de uso ................................................................................................................. 53
3.3.2 Diagrama de sequncia ................................................................................................ 55 3.3.3 Diagrama de classes ..................................................................................................... 57 3.3.4 Prottipo de telas da aplicao .................................................................................... 57
4 IMPLEMENTAO ......................................................................................................... 59 4.1 APLICAO ANDROID ................................................................................................. 59 4.1.1 Interface com o usurio ................................................................................................ 59 4.1.2 Lgica da aplicao Android ....................................................................................... 62
4.2 APLICAO DO ARDUINO ........................................................................................... 65 4.2.1 Bibliotecas utilizadas .................................................................................................... 65 4.2.2 Codificao ................................................................................................................... 66 4.3 PROTOTIPAO DO SISTEMA EMBARCADO ............................................................ 68
4.4 INTEGRAO COM O SERVIDOR ............................................................................... 73 4.5 TESTES ............................................................................................................................ 74 4.5.1 Resultados ..................................................................................................................... 75 4.6 CUSTO DO PROTTIPO ............................................................................................... 78
4.7 DISCUSSO .................................................................................................................... 78
5 CONCLUSES .................................................................................................................. 79
APNDICE A. CDIGO-FONTE DA APLICAO ANDROID ..................................... 83
APNDICE B. CDIGO-FONTE DA APLICAO ARDUINO ..................................... 90
APNDICE C. CDIGO-FONTE DA PGINA AUTENTICA.PHP ............................... 93
-
10
1 INTRODUO
Com a difuso dos dispositivos mveis, em especial tablets e smartphones, tem se
buscado a disponibilizao de recursos e funes que facilitem a rotina dos usurios desses
bens de consumo. A popularizao de tais dispositivos no est relacionada apenas ao ganho
computacional que esses adquiriram com a evoluo dos processadores, mas tambm com a
integrao de variados componentes de hardware (GPS, cmera, decodificadores de mdia,
etc.) e principalmente com a possibilidade de conexo permanente com a Internet. Tal avano
tecnolgico tem permitido o aumento da capacidade de integrao de servios de diferentes
naturezas. De acordo com Weiser (1991), as tecnologias que perdurariam e seriam vistas em
todos os lugares seriam aquelas que se tornassem transparentes para os usurios e fossem
presentes no cotidiano humano. A onipresena de informao, somada proliferao de
dispositivos microprocessados, ficou conhecida como computao ubqua.
Segundo Taurion (2009), no ano de 2011, era esperado cerca de dois bilhes de
pessoas conectadas Web e um trilho de objetos conectados, de automveis a cmeras
digitais, de sensores em rodovias a colheitadeiras com GPS, criando uma verdadeira Internet
das Coisas (ou IoT Internet of Things). Esse conceito, que pode ser considerado como o
prximo passo da evoluo do uso da Internet, tem grande potencial para modificar
profundamente a sociedade e sua economia. A IoT combina a universalidade da Internet, que
j a principal infraestrutura de comunicao do planeta, com inteligncia ou software
embarcado em sensores e atuadores, modificando a maneira como o mundo fsico opera. Para
o uso dos sensores e atuadores previstos na abordagem da IoT, necessrio o emprego de
dispositivos capazes de efetuar o controle e comunicao dessas unidades.
Uma tecnologia que vem sendo utilizada em aplicaes baseadas no conceito de IoT
o Arduino. Trata-se de uma plataforma de hardware open-source, projetada em uma placa
nica, contendo um microcontrolador e um ambiente de desenvolvimento que permite
escrever e executar um cdigo de forma simples e clara. Essa plataforma pode ser utilizada
por iniciantes, mantendo-se ainda suficientemente flexvel para usurios avanados. Alm de
ser uma plataforma extensvel, que permite a ampliao e at a criao de uma verso prpria
do mdulo, um kit Arduino pr-montado pode custar menos de 50 dlares, sendo
relativamente mais barato em comparao com microcontroladores de outras plataformas
(ARDUINO, 2013a).
-
11
Muitas solues para IoT utilizam comunicao sem fio. Essa uma das tecnologias
que apresenta maior crescimento em relao aos meios de comunicao (FOROUZAN, 2006).
Para Coulouris, Dollimore e Kindberg (2007), a computao mvel surgiu devido
miniaturizao dos dispositivos e da conectividade sem fio. Outro motivo para a ascenso das
redes sem fio e dispositivos mveis foi a necessidade que as pessoas passaram a ter de estar
conectadas s redes em qualquer momento e lugar. Para permitir a comunicao sem fio entre
dispositivos de mesma natureza ou heterogneos, podem-se citar algumas tecnologias, tais
como: sinal infravermelho, Wi-Fi, Bluetooth, GPRS, entre outros.
Com o aumento do poder de processamento dos dispositivos mveis, aliado
complexidade crescente das aplicaes executadas nesses dispositivos, viu-se a necessidade
de sistemas operacionais capazes de gerenciar os recursos e funes a eles atribudos. De
acordo com Pereira e Silva (2009), o Android uma plataforma para tecnologia mvel
completa, incluindo um sistema operacional, middleware, aplicativos e interface de usurio. A
plataforma foi construda para permitir que os desenvolvedores criem aplicaes que tirem o
mximo de proveito que o dispositivo possa oferecer. Trata-se de uma plataforma open-
source, o que facilita ao desenvolvedor a incorporao e adaptao de novas funcionalidades.
Segundo o IDC (International Data Corporation) (2013), no primeiro trimestre de 2013
foram comercializados 152,3 milhes de smartphones, sendo que 59% destes operam o
sistema Android, enquanto que 23% correspondente ao iOS. O IDC ressalta que a ampla
liderana de mercado do Android deu-se pela variedade de modelos em que a plataforma
oferecida nas prateleiras, fazendo suas vendas saltarem 145% em relao ao ano anterior.
Analisando as tecnologias e abordagens mencionadas anteriormente, este TTC
(Trabalho Tcnico-Cientfico) visou a integrao de tais tecnologias na forma de um atuador
controlado pela plataforma Arduino (ex. fecho eletromagntico). Tal controle comunicado
por um dispositivo mvel, operando o sistema Android, por meio de um protocolo de
comunicao reconhecido pelas plataformas envolvidas (Arduino e Android). Por fim, so
verificadas as credenciais do usurio por meio de uma solicitao de autenticao do Arduino
a uma base de dados externa, via Internet.
-
12
1.1 PROBLEMATIZAO
1.1.1 Formulao do Problema
Evitar que pessoas no autorizadas tenham acesso a determinados ambientes, como
salas que contenham arquivos sigilosos, ou at mesmo em uma residncia cujo acesso na
maioria das vezes restrito ao grupo familiar, tem sido uma necessidade constante pela qual
as pessoas j esto habituadas. Mecanismos de segurana so empregados para controlar o
acesso, permitindo ou restringindo o acesso aos ambientes. De acordo com Ferreira (2003), o
controle ao acesso fsico a fim de proteger ambientes envolve o uso de chaves, trancas,
fechaduras, smartcards, biometria, etc. Segundo Montico (2009), a automatizao dos
mecanismos de controle de acesso uma alternativa que proporciona maior segurana, porm,
os custos de implantao ainda so altos.
1.1.2 Soluo Proposta
A soluo proposta neste trabalho a utilizao de um sistema microcontrolado para
fazer o acionamento de um fecho eletromagntico. Para permitir o acionamento, utilizada
uma forma de autenticao multifator, na qual necessrio algo que o usurio saiba (usurio e
senha) e tambm algo que ele possua (dispositivo mvel com a aplicao). Uma vez que o
usurio atenda esses dois requisitos poder realizar o acionamento do fecho. Na Figura 1
apresentada uma viso geral do sistema.
-
13
Figura 1. Viso geral do sistema.
O hardware para controlar o fecho foi baseado em Arduino, devido a esta ser uma
plataforma de baixo custo e de simples implementao. A aplicao foi desenvolvida para a
plataforma Android, por ser uma plataforma amplamente difundida atualmente, dentre outras
vantagens apresentadas no decorrer deste trabalho. A aplicao apresenta uma tela de
autenticao, na qual o usurio deve digitar seu identificador e a sua senha, sendo esses dados
enviados para o Arduino. Depois de receber os dados, os mesmos so enviados atravs de
uma requisio a um servidor. Este, por sua vez, retorna com o resultado da consulta na base
dados externa, verificando se o usurio possui permisso. Caso o retorno do servidor
identifique que o usurio possui a permisso, o Arduino aciona o fecho eletromagntico a fim
de liberar o acesso.
1.2 OBJETIVOS
1.2.1 Objetivo Geral
Desenvolver um sistema microcontrolado baseado em autenticao remota e
acionamento por meio de dispositivos mveis para restrio de acesso a um ambiente.
Arduino Uno +
mdulo Ethernet +
mdulo Bluetooth +
mdulo rel
Fecho
Eletromagntico
Amelco FE61
Servidor Apache +
MySQL
Smartphone
Android
Tablet
Android
-
14
1.2.2 Objetivos Especficos
Projetar a integrao dos mdulos de comunicao e nodos sensores com o
microcontrolador;
Implementar uma aplicao microcontrolada para acionamento do dispositivo a
ser automatizado;
Desenvolver uma aplicao a ser executada no dispositivo mvel para a
comunicao sem fio com o microcontrolador;
Executar a conexo do sistema microcontrolado com um banco de dados
externo para realizar a autenticao;
Executar a integrao da aplicao do dispositivo mvel com a aplicao do
microcontrolador.
1.3 METODOLOGIA
Para alcanar os objetivos especficos citados anteriormente, foram realizadas as
seguintes tarefas: pesquisa bibliogrfica, estudo, seleo e descrio do projeto, codificao
do software para o Android e para o dispositivo mvel, testes e validao.
A pesquisa bibliogrfica teve por objetivo levantar livros, artigos e sites para a
fundamentao terica deste trabalho, sendo ainda pesquisados trabalhos e projetos similares,
com finalidade de se conhecer o estado da arte dos conceitos abordados. Depois de reunido o
material de pesquisa foi realizado um estudo sobre alguns temas, dentre os quais se podem
citar: conceitos de Redes de Computadores, Meios de Transmisso, Interligao de Redes,
Internet das Coisas, Autenticao, Protocolo Bluetooth, Microcontroladores, Plataforma
Arduino e Plataforma Android. Aps este estudo, foi realizada a modelagem do sistema
desenvolvido, seguindo o padro UML (Unified Modeling Language), incluindo os requisitos
funcionais e no-funcionais, casos de uso, diagrama de sequencia e diagrama de classes.
Com a modelagem do sistema foi possvel a implementao do software de baixo
nvel e embarcado na placa Arduino UNO. Para isto, foi utilizada a IDE disponibilizada pela
plataforma. Tambm foi realizada a codificao do software para o dispositivo mvel,
baseado em Android. Para a elaborao desta etapa foram utilizadas as ferramentas
disponibilizadas pela plataforma Android, que inclui o SDK e plug-ins.
-
15
Uma vez que os dois softwares estavam concludos, iniciou-se a integrao do sistema,
como tambm, a integrao do Arduino com o banco de dados externo, onde foi utilizada uma
pagina PHP para fazer a comunicao entre o banco de dados e o Arduino. Depois de
concluda a integrao, alguns testes foram realizados para validar o sistema.
1.4 ESTRUTURA DO TRABALHO
Este projeto est estruturado em cinco captulos: Introduo, Fundamentao Terica,
Desenvolvimento, Implementao e Consideraes Finais.
O Captulo 1, Introduo, apresenta uma viso geral do trabalho, trazendo uma
contextualizao breve sobre os conceitos abordados. Ainda neste captulo so apresentadas
uma descrio do problema e a soluo proposta, como tambm os objetivos do trabalho.
No Captulo 2, Fundamentao Terica, apresentada uma reviso bibliogrfica
sobre conceitos essenciais para elaborao deste trabalho, dos quais se destacam Redes de
Computadores, Meios de Transmisso, Autenticao, Plataforma Arduino e Plataforma
Android. Neste captulo, realizada tambm uma anlise dos projetos similares e um
comparativo entre ambos, a fim de se identificar caractersticas comuns e tecnologias
utilizadas.
O Captulo 3, Desenvolvimento, apresenta o projeto detalhado do sistema
desenvolvido, incluindo o levantamento de requisitos e a sua modelagem em UML. O
captulo tambm discute como foi implementado o sistema.
No Captulo 4, Implementao, apresentado como foi desenvolvido o sistema, desde
a sua codificao at os testes e resultados.
Concluindo, no Captulo 5, apresentam-se as consideraes finais, onde so
abordados os resultados preliminares, mudanas de algumas estratgias de desenvolvimento
do projeto, dentre outros.
-
16
2 FUNDAMENTAO TERICA
Este captulo aborda os conceitos de Redes de Computadores, Meios de Transmisso,
Interligao de Redes, Internet das Coisas, Bluetooth, Microcontroladores (Arduino) e
Plataforma Android. Neste captulo tambm abordada uma anlise de trabalhos similares.
2.1 REDES DE COMPUTADORES
A informtica, apesar de ser jovem em relao aos outros setores industriais
(automveis, transportes, etc.), teve um grande progresso em um curto perodo de tempo. No
incio de sua existncia, os sistemas computacionais eram altamente centralizados e
geralmente instalados em uma sala com paredes de vidro, para poderem ser contemplados.
Empresas de mdio porte ou universidades contavam com apenas um ou dois computadores e
as grandes instituies tinham no mximo algumas dezenas. No se imaginava que em apenas
20 anos haveria milhes de computadores igualmente avanados e do tamanho de um selo
postal (TANENBAUM, 2003).
Comer (2007) discute que a motivao para as redes de dados em grande escala no
foi a partir do desejo de compartilhamento de dispositivos, ou mesmo o fornecimento de uma
nova forma de as pessoas se comunicarem. Ao invs disso, as primeiras redes foram criadas
para permitir o compartilhamento de poder computacional em grande escala.
Atualmente as redes de computadores esto presentes em praticamente tudo o que
fazemos ou usamos. De acordo com Comer (2007), elas tm crescido explosivamente, sendo
que h duas dcadas poucas pessoas tinham acesso a uma rede e agora a ligao de
computadores em rede tem sido usada em cada aspecto dos negcios, incluindo propaganda,
produo, transporte, planejamento, dentre outros.
Segundo Tanenbaum (2003), as aplicaes de redes de computadores atendem a
diversos setores, como os usos tradicionais em empresas e indivduos, redes domsticas e os
relacionados a usurios mveis, sendo o estudo deste ltimo mais relevante para a
compreenso deste TTC (Trabalho Tcnico Cientfico).
-
17
2.1.1 Usurios Mveis e Redes sem Fio
A comunicao sem fio no se trata de uma inovao. Uma demonstrao do fsico
italiano Guglielmo Marconi em 1901, mostrou o funcionamento de um telgrafo sem fio que
transmitia informaes de um navio para o litoral atravs de cdigo morse. Os mais modernos
sistemas digitais sem fio tem melhor desempenho, mas continuam com o mesmo princpio
(TANENBAUM, 2003).
Atualmente, a computao mvel constitui um dos segmentos de maior crescimento da
indstria da informtica. Como os usurios procuram ficar conectados em todos os lugares, as
redes sem fio passam as ser de grande interesse e, medida que se tornam mais difundidas,
surgem numerosas aplicaes. Por exemplo, computadores sem fio podem dar acesso a salas
seguras, da mesma forma de como usado o carto com tarja magntica (TANENBAUM,
2003). Segundo Kurose e Ross (2006), j ficou claro que as redes sem fio e os servios
mveis vieram para ficar, independentemente do crescimento futuro dos dispositivos sem fio.
Apesar de as redes sem fio e a computao mvel terem uma grande relao, elas so
diferentes, pois at mesmo um computador porttil pode estar conectado por fio, perdendo o
princpio de mobilidade. Quando um viajante est em um hotel com seu laptop e conecta-se a
Internet atravs de um cabo de rede, percebe-se esta distino entre os dois conceitos
(TANENBAUM, 2003).
Segundo Kurose e Ross (2006), fica claro que os ambientes mais interessantes so
aqueles em que os usurios usufruem da tecnologia sem fio e simultaneamente da mobilidade,
permitindo, por exemplo, que um passageiro em um carro a 160 km/h, mantenha uma
chamada de voz sobre IP e vrias conexes TCP ativas, e nesse ponto que se encontram os
maiores desafios.
2.1.2 Modelos de Referncia
De acordo com Tanenbaum (2003), existem duas importantes arquiteturas de rede, o
modelo de referncia OSI e o modelo de referncia TCP/IP. Atualmente, os protocolos do
modelo OSI raramente so utilizados, porm, as caractersticas de cada camada ainda so
-
18
vlidas. J com o modelo TCP/IP ocorre o contrrio, o modelo em si praticamente no
utilizado, mas os seus protocolos ainda esto em uso.
Modelo de Referncia OSI
Para a transmisso de dados pela rede, o hardware de comunicao bsico utiliza-se de
mecanismos que podem transferir bits entre dois pontos, mas a utilizao de hardware puro
para realizar essa comunicao como programar em binrio, o que bastante inconveniente.
Para facilitar a programao, os computadores acoplados a uma rede usam software complexo
que abstrai ao programador todos os detalhes e problemas da comunicao de baixo nvel
(COMER, 2007).
Para reduo da complexidade do projeto, a maioria das redes organizada como uma
pilha de camadas. Cada camada oferece determinados servios s camadas superiores,
isolando-as do detalhamento de implementao desses recursos, ou seja, um determinado item
de software ou hardware oferece servios aos seus usurios, porm o seu estado interno e
algoritmos ficam ocultos (TANENBAUM, 2003).
Com a necessidade de padronizao dos protocolos, a ISO (International Standards
Organization), desenvolveu uma proposta que foi chamada de Modelo de Referncia ISO OSI
(Opens Systems Interconnection), pois ela trata da interconexo de sistemas que estejam
abertos comunicao com outros sistemas (TANENBAUM, 2003). O modelo OSI, como
chamado, dividido em sete camadas, como se pode ver na Figura 2.
-
19
Figura 2. Modelo de referncia OSI.
Fonte: Adaptado de Comer (2009).
A seguir, uma breve descrio das camadas do Modelo de Referncia OSI:
Camada Fsica: envia a cadeia de bits pela rede sem se preocupar com o
tratamento de problemas que venham ocorrer (SOARES, LEMOS e
COLCHER, 1995);
Camada de Enlace de Dados: detecta e corrige os problemas que por acaso
ocorram na camada fsica (SOARES; LEMOS e COLCHER, 1995);
Camada de Rede: permite a interconexo das redes heterogneas
(TANEMBAUM, 2003);
Camada de Transporte: aceita os dados da camada acima e divide-os em
unidades menos se necessrio, como tambm repassa essas unidades
assegurando que todos os fragmentos cheguem corretamente na outra
extremidade (TANEMBAUM, 2003);
Camada de Sesso: fornece os mecanismos que permitem estruturar os
circuitos que chegam da camada de transporte (SOARES; LEMOS;
COLCHER, 1995);
-
20
Camada de Apresentao: transforma adequadamente os dados antes do envio
para a camada de sesso. Transformaes que dizem respeito compresso de
textos, criptografia, converso de padres de terminais e arquivos para padres
de rede e vice-versa (SOARES; LEMOS; COLCHER, 1995);
Camada de Aplicao: prov uma srie de protocolos comumente necessrios
para os usurios, por exemplo, o HTTP (Hyper Text Transfer Protocol)
(TANENBAUM, 2003).
Modelo de Referncia TCP/IP
O desenvolvimento da arquitetura TCP/IP foi patrocinada pela DARPA (Defense
Advanced Research Projects Agency), baseando-se principalmente em um servio de
transporte a conexo atravs do TCP (Transmission Control Protocol), e um servio de rede
no orientado a conexo, pelo IP (Internet Protocol) (SOARES; LEMOS; COLCHER, 1995).
Segundo Tanenbaum e Wetherall (2011), e Comer (2009), o modelo de referncia
TCP/IP foi criado pensando-se na interligao de redes distintas. Devido a essa possibilidade
de interligar redes heterogneas que se deve o sucesso deste modelo, passando a constituir a
base da Internet global.
O modelo TCP/IP implementa quatro camadas correspondentes as sete do modelo
OSI, sendo elas a camada de Enlace, a camada de Internet, a camada de Transporte e a
camada de Aplicao. De acordo com Tanenbaum e Wetherall (2011), cada camada tem as
seguintes funes:
Enlace: descrever o que os enlaces devem oferecer para atender a necessidade
da camada internet, podendo os mesmos ser seriais ou at mesmo do padro
Ethernet;
Internet: permitir que os hosts injetem pacotes em uma rede qualquer e que
eles viajem independentemente do destino;
Transporte: manter a comunicao entre os hosts pares de origem e destino,
igualmente como acontece na camada de transporte do modelo OSI;
Aplicao: fornecer os protocolos de mais alto nvel.
-
21
O IP o protocolo da camada de rede denominado como a base de toda a Internet, que
pode ser vista como um conjunto de redes ou sistemas autnomos que esto interconectados,
onde no existe uma estrutura real fsica, mas vrios backbones principais construdos a partir
de linhas de grande largura de banda e roteadores rpidos. Conectados ao backbones esto as
redes regionais (nvel mdio) e os ISPs (Internet Services Providers), cuja funo prover o
acesso Internet. Conectados as redes regionais esto mais ISPs, LANs de universidades e
companhias e outras redes (TANENBAUM; WETHERALL, 2011).
2.2 MEIOS DE TRANSMISSO
Segundo Comer (2009), os meios de transmisso podem ser divididos em classes. H
duas grandes abordagens principais:
Tipo de caminho: a comunicao pode seguir um caminho exato (fios) ou um
caminho no especfico (transmisso rdio) e
Tipo de energia: a energia eltrica usada nos fios, a transmisso a rdio para a
transmisso sem fio (wireless), e a luz para a fibra ptica.
Os termos guiado e no guiado so usados para distinguir a transmisso onde os dados
possuem um caminho especfico, como a realizada atravs de fios, e a transmisso onde no
possuem caminho definido, como por ondas de rdio, onde os dados trafegam pelo ar. Comer
(2009) tambm afirma que o meio fsico pode ser classificado de acordo com a forma de
energia utilizada para transmitir os dados, como ilustrado na Figura 3:
-
22
Figura 3. Taxonomia por forma de energia
Fonte: Adaptado de Comer (2009).
Dentre os meios de transmisso guiados podem-se citar os meios magnticos, par
tranado, cabo coaxial, linhas de energia e fibras pticas. J dentre os meios no guiados
(wireless), o espectro eletromagntico, transmisso de rdio, transmisso de micro-ondas,
transmisso de infravermelho, transmisso por ondas de luz e transmisso por satlites
(TANENBAUM; WETHERALL, 2011).
2.3 INTERLIGAO DE REDES
Sabendo-se da existncia de muitas redes distintas e com numerosos protocolos
distribudos em camadas, a interligao das redes no uma tarefa to simples. Seria fcil a
formao de uma inter-rede (internet), se todas as redes utilizassem uma nica tecnologia de
rede, como a Ethernet, porm, como essa no a realidade e havendo a necessidade de
tratamento de problemas de diferentes naturezas, a heterogeneidade das redes dever existir
(TANENBAUM; WETHERALL, 2011).
-
23
A Internet o principal exemplo de interligao de redes, pois uma combinao de
vrias redes em todo o mundo, permitindo aos usurios se comunicarem com usurios de
qualquer outra rede, o que significa que os pacotes transitam de uma rede para outra
(TANENBAUM; WETHERALL, 2011).
Segundo Kurose e Ross (2007), a Internet uma rede que conecta milhes de
dispositivos mundialmente. Devido aos muitos equipamentos considerados no tradicionais
estarem conectados a Internet, como por exemplo, eletrodomsticos, automveis, dentre
outros, o termo redes de computadores considerado ultrapassado, passando-se a nomear
esses equipamentos de hospedeiros ou sistemas finais.
As redes podem se diferenciar de vrias maneiras, dentre elas podem-se citar os
formatos dos quadros e as tcnicas de modulao. Alguns problemas durante o envio de
pacotes de uma rede at o seu destino podem ocorrer, por exemplo, se os pacotes so enviados
por uma rede orientados a conexo e precisam passar por uma rede sem conexo, os mesmos
podem ser reordenados, assumindo um papel no esperado pelo transmissor e que o receptor
no tem condies de lidar (TANENBAUM; WETHERALL, 2011).
De acordo com Tanenbaum e Wetherall (2011), existem duas maneiras de conectar
redes distintas: uma a criao de dispositivos que se encarreguem de traduzir ou converter
os pacotes para cada tipo de rede e a outra resolver o problema adicionando uma camada
comum no topo das redes, sendo que em ambos os casos, os mecanismos devem estar
localizados entre os limites das redes. Em 1974, Cerf e Kahn defenderam a criao de uma
camada comum as redes distintas que abstraa as diferenas entre elas que acabou sendo
dividida em protocolos TCP (Transmission Control Protocol) e IP (Internet Protocol). Quatro
dcadas mais tarde, o IP se torna a base da Internet moderna, rendendo a Cerf e Hahn o
Prmio Turing 2004, conhecido informalmente como Prmio Nobel de Cincia da
Computao. O IP fornece um formato de pacote universal que pode ser reconhecido por
todos os roteadores, permitindo a transmisso por diversos tipos de redes.
-
24
2.4 INTERNET DAS COISAS (IOT)
O artigo de Mark Weiser, The Computer of 21st Century, publicado na Scientific
American em 1991, considerado o marco inicial das pesquisas sobre IoT, trazendo a
primeira publicao sobre computao ubqua. Weiser afirmou que a computao seria
integrada com as aes e comportamentos mais naturais das pessoas, de forma que no se
perceberia que esto interagindo com um computador, porm, para isso ser possvel, a
tecnologia deveria aprender a ser relacionar com os usurios (WEISER, 1991).
Considerada uma tendncia da Internet do futuro, a IoT vem prospectando-se no
cenrio das telecomunicaes e est sendo considerada como uma verdadeira revoluo
tecnolgica da computao e comunicao (ATZORI; IERA; MORABITO, 2010).
Com o avano das tecnologias de sistemas embarcados, os microprocessadores
alcanaram vrios segmentos. Atualmente esto presentes em diversos objetos, como relgios,
eletrodomsticos, automveis, brinquedos, entre outros, e que futuramente a tendncia
ganharem ainda mais espao, ocupando praticamente todos os tipos de objetos, como roupas,
portas e janelas, chuveiros, banheira, etc (CAVALLINI, 2008).
Segundo o paradigma da IoT, esperado que muitos objetos fsicos estaro
interconectados atravs da Internet, tornando-os responsveis pela maior parte do trfego da
rede. Tais objetos podero ser quaisquer dispositivos como eletrodomsticos, pneus, sensores,
atuadores, telefones celulares, entre outros, que podero ser identificados na rede a fim de
trocarem informaes e executarem tarefas comuns (ATZORI; IERA; MORABITO, 2010).
De acordo com Atzori, Iera e Morabito (2010), a partir da ampla difuso da IoT,
mudanas drsticas acontecero na vida cotidiana dos usurios. Tan e Wang (2010), afirmam
que estas mudanas traro tambm novas oportunidades de negcio, que impulsionada pela
demanda por parte da populao, resultar em contribuio para a economia.
-
25
2.5 AUTENTICAO
Segundo Baltzan e Philips (2012), a autenticao um mtodo utilizado para verificar
se as identidades dos usurios so verdicas. Santos (2007), afirma que a autenticao permite
que um usurio se identifique atravs da utilizao de diversos mecanismos, como login,
senha, biometria, etc.
O processo de autenticao de usurios pode utilizar-se de tcnicas que empregam um
ou mais fatores. Quando se utiliza mais de um fator, a autenticao denominada multifator
(SANTOS, 2007). De acordo com Baltzan e Philips (2012), as tcnicas de autenticao so
divididas nas seguintes categorias:
Algo que o usurio conhea: este tipo de autenticao realizado atravs de
algo que o usurio conhea, sendo a forma mais comum de fazer a
identificao de usurios. Santos (2007) chama este mtodo de login simples,
que baseado em um ID de usurio e senha nicos;
Algo que o usurio tenha: para realizar a autenticao por este mtodo o
usurio deve utilizar algo que ele tenha, como um carto inteligente ou um
token. Este mtodo considerado mais eficiente do que apenas utilizar um
login simples;
Algo que parte do usurio: considerado o mtodo mais eficaz para realizar a
autenticao, pois se utiliza da biometria, realizando a identificao com base
nas caractersticas fsicas de cada usurio (impresso digital, face, ris, etc.) e,
portanto, dificultando o roubo ou emprstimo desses dados. Apesar de ser
relativamente mais seguro, este mtodo caro, deixando de ser o mais atrativo.
Na Figura 4 so apresentados alguns exemplos para cada tipo de autenticao.
-
26
(a) (b) (c)
Figura 4. Autenticao multifator: (a) Algo que se sabe; (b) Algo que se tem; (c) Algo que
parte do usurio
De acordo com Santos (2007), a autenticao simples de login e senha, podem ser
reforadas com a incluso do conceito multifator.
2.6 BLUETOOTH
Devido ao interesse de conectar seus aparelhos celulares com outros dispositivos sem
a necessidade de utilizao de fios, a L. M. Ericsson com 4 outras empresas (IBM, Nokia,
Intel e Toshiba), formaram um consrcio para desenvolver um mecanismo sem fio que
utilizasse rdios de curto alcance, baixa potncia e baixo custo, denominando-o Bluetooth. A
ideia inicial de apenas conectar perifricos de computadores foi estendida e passou a ser usada
tambm em LANs sem fio, tornando assim, o padro mais til. A partir dessa mudana, o
Bluetooth comeou a competir com o 802.11 e tambm a interferir eletricamente com ele
(TANENBAUM, 2003).
Em 1999, com o lanamento do Bluetooth 1.0, muitos fabricantes de dispositivos
eletrnicos passaram a usar o Bluetooth, de celulares e laptops a fones de ouvidos, teclados,
impressoras entre outros. A verso 2.0 em 2004 adicionou maiores taxas na transferncia de
dados. Com a verso 3.0 em 2009 foi possvel o emparelhamento combinado com o padro
802.11 e na verso 4.0 em dezembro de 2009, foi especificado a baixa potncia de operao
(TANENBAUM; WETHERALL, 2011).
2.6.1 Arquitetura do Bluetooth
Uma piconet a unidade bsica de um sistema Bluetooth, consistindo em um n
mestre e at sete ns escravos ativos em uma distncia de at 10 metros. Na Figura 5, pode-se
-
27
observar que podem existir muitas piconets no mesmo ambiente, podendo ser at mesmo
conectadas por um n de ponte. A essa coleo de piconets interconectadas se chama
scatternet (TANENBAUM; WETHERALL, 2011).
Figura 5. Duas piconets formando uma scatternet
Fonte: Tanenbaum e Wetherall (2011).
Alm dos sete ns escravos ativos na rede, uma piconet pode ter at 255 ns inativos,
os quais no podem fazer nada, exceto responder a um sinal de ativao ou de baliza do
mestre. Essa inatividade faz com que os dispositivos passem para um estado de baixa energia,
diminuindo a descarga de suas baterias. A comunicao s pode ocorrer entre um mestre e um
escravo, no sendo permitida a comunicao direta entre os escravos (TANENBAUM;
WETHERALL, 2011).
2.6.2 A estrutura de quadro do Bluetooth
Segundo Tanenbaum e Wetherall (2011), existem vrios formatos de quadros do
Bluetooth, sendo o mais importante apresentado na Figura 6.
-
28
Figura 6. Estrutura do quadro Bluetooth
Fonte: Tanenbaum e Wetherall (2011)
O quadro formado primeiramente por um cdigo de acesso, usado tipicamente para
identificao do mestre e que atravs deste, os escravos ficam conhecendo o destino de cada
trfego. Depois vem um cabealho com tamanho de 54 bits, com campos tpicos de uma
camada MAC (Media Acess Control). Em seguida vem o campo de dados, que pode ser de at
2744 bits, quando a transmisso for de 5 slots, e para apenas um slot de tempo, o formato
permanece igual, com exceo do fato de o campo de dados ter 240 bits (TANENBAUM;
WETHERALL, 2011).
2.7 MICROCONTROLADORES
Com a evoluo dos computadores e o aparecimento dos circuitos integrados, que
basicamente o encapsulamento de milhes de transistores em um circuito integrado, sugiram
os microprocessadores. Devido ao alto poder computacional e seu tamanho reduzido
significativamente (comparado com os transistores), os microprocessadores ganharam muitas
aplicaes, sendo usados desde os microcomputadores pessoais at aparelhos eletrnicos e
equipamentos mdicos. Os microprocessadores, no entanto, no podem fazer nada sozinhos,
pois necessitam de outros dispositivos externos (memria, barramentos, etc.) para se tornarem
teis. Sendo assim, surgiram os microcontroladores, que de forma geral tem acoplado em um
nico chip tudo o que precisam para executar uma determinada aplicao. Mesmo incluindo
-
29
vrios perifricos como memrias, barramentos, timers, portas de comunicao, o seu
tamanho continua reduzido. Apesar de os microcontroladores terem um desempenho menor
que o dos microprocessadores, eles so ideais para projetos que necessitam de tamanhos
reduzidos, menor tempo e custo, sendo amplamente difundidos em automao industrial,
residencial e predial, eletrodomsticos, etc. (OLIVEIRA; ANDRADE, 2006).
2.7.1 Plataforma Arduino
O Arduino uma plataforma de computao aberta (open source), baseada em uma
placa microcontrolada simples e um ambiente de desenvolvimento para incutir o software na
placa. uma ferramenta que permite desenvolver objetos interativos, tendo como entrada
uma variedade de sensores, podendo tambm controlar luzes, motores e outros meios fsicos
de sada (ARDUINO, 2013a).
O ambiente do Arduino foi desenvolvido para permitir que pessoas sem conhecimento
em software ou em eletrnica consigam desenvolver os seus projetos. Esta simplificao faz
com que o Arduino seja utilizado em programas educacionais em todo o mundo,
especialmente por designers e artistas que precisam criar seus prottipos sem a necessidade de
ter conhecimento profundo dos detalhes tcnicos. Apesar da facilidade de uso, o nvel de
sofisticao de hardware do Arduino no deixa a desejar, atraindo pessoas que j possuem
experincia com outros microcontroladores (MARGOLIS, 2011).
Software
No Arduino, os softwares so chamados de sketches, que so criados usando um
ambiente de desenvolvimento integrado ou Integrated Development Environment (IDE). Com
a IDE possvel escrever, editar e converter o cdigo-fonte para instrues que o hardware do
Arduino entende. Esta transferncia para a placa realizada atravs de um processo chamado
uploading (MARGOLIS, 2011).
Hardware
Uma placa Arduino tem apenas o controle e resposta dos sinais eltricos, portanto,
necessrio adicionar componentes especficos para realizar a interao com o mundo real.
Esses componentes so classificados como sensores e atuadores. Os sensores tem a funo
-
30
transformar um aspecto do mundo fsico em um sinal eltrico, como os interruptores e
acelermetros. J os atuadores, realizam o inverso, transformando um sinal eltrico em algo
que modifique o ambiente, por exemplo, os LEDs (Light Emitting Diode ou diodo emissor de
luz) e os motores (MARGOLIS, 2011).
No site oficial do Arduino (2013b), possvel encontrar uma variedade de placas,
componentes e at kits para desenvolvimento. Dentre os produtos disponveis, podem-se citar
as placas Arduino Uno, Arduino Mega ADK e Arduino Nano. A seguir uma descrio breve
de cada placa mencionada.
2.7.2 Arduino Uno
Esta placa, ilustrada na Figura 7, baseada no microcontrolador ATmega328 e contm
tudo o que o microcontrolador precisa, basta conect-lo a um computador atravs de um cabo
USB ou outra fonte para iniciar. Possui 14 entradas/sadas digitais, podendo seis ser usadas
como sadas PWM (Pulse Width Modulation ou modulao da largura de pulso), 6 entradas
analgicas, um oscilador de cermica de 16 MHz, uma conexo USB (Universal Serial Bus),
um conector de alimentao, um cabealho ICSP (In Circuit Serial Programming) e um boto
de reset (ARDUINO, 2013c).
Figura 7. Viso frontal do Arduino Uno
Fonte: Arduino (2013c).
-
31
O Arduino Uno a placa mais recente da srie de placas Arduino USB e usada como
referncia para a plataforma Arduino (ARDUINO, 2013c).
2.7.3 Arduino Mega ADK
O Arduino Mega ADK baseado no microcontrolador ATmega2560, contendo uma
interface USB que permite conectar-se diretamente com telefones baseados em Android.
Possui tambm 54 entradas/sadas digitais, dos quais 15 podem ser usados como sadas PWM,
16 entradas analgicas, 4 UARTs (Universal Asynchronous Receiver/Transmitter), um cristal
oscilador de 16 MHz, uma conexo USB, um conector de alimentao, um cabealho ICSP e
um boto reset (ARDUINO, 2013d). Na Figura 8 apresentada esta placa.
Figura 8. Viso frontal do Arduino Mega ADK
Fonte: Arduino (2013d).
O Arduino Mega ADK foi projetado para ter compatibilidade com a maioria dos
shields projetados para o UNO, Diecimila e Duemilanove e para ser usado com o sistema
operacional Android. Existe uma documentao no site do desenvolvedor do Android
disponvel para consulta (ARDUINO, 2013d).
2.7.4 Arduino Nano
O Arduino Nano (apresentado na Figura 9), um pequeno, completo e amigvel
protoboard baseado no microcontrolador ATmega328 (Arduino Nano 3.0) ou ATmega168
-
32
(Arduino Nano 2.x), contendo praticamente as mesmas funcionalidades do Arduino
Duemilanove, porm em um pacote diferente. O Nano a menor verso completa das placas
Arduino, tendo uma entrada mini-USB em vez de uma entrada USB padro. Fisicamente ele
no possui uma entrada auxiliar e nem um jumper para selecionar a fonte de alimentao, pois
ele chaveia automaticamente para a maior fonte sem necessitar do jumper (ARDUINO,
2013e).
Figura 9. Viso frontal do Arduino Nano
Fonte: Arduino (2013e).
As placas mais populares contm uma entrada USB que utilizada para prover energia
para a placa, como tambm fazer o uploading do software para a mesma. Dentre os shields
disponveis pode-se citar o Arduino Ethernet Shield, o Arduino Wifi Shield e o Arduino
Motor Shield (ARDUINO, 2013b).
2.7.5 Diferenciais
Comparando o Arduino com outros microcontroladores que oferecem funcionalidades
similares, podem-se citar alguns diferenciais (ARDUINO, 2013a):
Baixo custo: so relativamente baratos em comparao com outras
plataformas. Pode-se construir uma placa prpria ou adquirir uma placa pr-
montada que pode custar menos de 50 dlares;
Multiplataforma: o Arduino pode ser executado em Windows, Macintosh OSX
e sistemas operacionais Linux, enquanto que a maioria dos outros esto
limitados a Windows;
-
33
Ambiente de programao simples e claro: o ambiente de fcil utilizao at
mesmo por iniciantes, porm tambm suficientemente flexvel a utilizao
por usurios avanados;
Software extensvel e open-source: o software do Arduino publicado como
cdigo aberto, permitindo a programadores experientes criarem extenses
atravs de bibliotecas C++;
Hardware extensvel e open-source: o Arduino baseado nos
microcontroladores Atmel ATmega8 e ATMEGA168 e os seus mdulos
publicados sob uma licena Creative Commons, permitindo aos projetistas com
mais experincia criarem suas prprias verses dos mdulos, estendendo e
melhorando-os. At mesmo usurios inexperientes podem fazer uma verso
protoboard, a fim de entenderem o seu funcionamento e economizarem
dinheiro.
Na Internet, fruns e comunidades do Arduino (conhecido como Arduino Playground),
oferecem projetos e solues que inspiram e do suporte aos usurios no desenvolvimento de
seus prprios projetos (MARGOLIS, 2011).
2.8 PLATAFORMA ANDROID
O Android uma plataforma completa destinada tecnologia mvel, a qual inclui um
sistema operacional, middleware, aplicativos e interface com o usurio. Foi desenvolvido com
o propsito de permitir aos programadores a utilizao de todos os recursos que um aparelho
mvel oferece, sendo construdo para ser uma plataforma realmente aberta. Dessa forma, uma
aplicao pode fazer uso de qualquer funcionalidade do ncleo do aparelho, por exemplo,
efetuar chamadas, utilizar a cmera e enviar mensagens de texto (PEREIRA; SILVA, 2009).
O Android est sempre em evoluo e devido propriedade de ser open source, pode
ser continuamente adaptado incorporando novas funcionalidades. Atravs da disponibilizao
do Android SDK, um kit composto de ferramentas e APIs (Application Programming
Interface) necessrias, pode-se iniciar o desenvolvimento de aplicativos para a plataforma
utilizando a linguagem de programao Java (PEREIRA; SILVA, 2009).
-
34
Para Meier (2012), o Android composto de vrias partes necessrias e dependentes,
incluindo os seguintes itens:
Um documento de definio de compatibilidade (CDD) e uma sute de testes
de compatibilidade (CTS), que tm a funo de descrever as capacidades
necessrias para um dispositivo suportar a pilha de software;
Um kernel Linux, cuja funo fornecer uma interface de baixo nvel com o
hardware, com o gerenciador de memria e com o controlador de processos,
ambos otimizados para dispositivos mveis e embarcados;
Bibliotecas abertas para o desenvolvimento de aplicaes, tendo incluso
SQLite, WebKit, OpenGL (Open Graphics Library) e um gerenciador de
mdia;
Um ambiente de execuo que utilizado para executar e hospedar os
aplicativos, incluindo a mquina virtual Dalvik;
Um framework de aplicao que expe os servios do sistema para a camada
de aplicao, incluindo um gerenciador de janelas, gerenciador de localizao,
banco de dados, telefone e sensores;
Uma interface de usurio que serve para hospedar e executar os aplicativos;
Um conjunto de aplicaes pr-instaladas;
Um kit de desenvolvimento de software (SDK Software Development Kit),
usado para criar os aplicativos, contendo ferramentas, plugins e a
documentao necessria para iniciar o desenvolvimento.
De acordo com Meier (2012), a filosofia aberta do Android permite a qualquer
desenvolvedor resolver deficincias na interface de usurio ou at mesmo em aplicaes
nativas, simplesmente escrevendo uma extenso ou com a substituio das mesmas. Desde o
acesso a hardware, incluindo cmera, GPS e sensores, a transferncia de dados com Wi-fi,
Bluetooth e NFC (Near Field Communication), o SDK do Android inclui todas as APIs
necessrias para o desenvolvimento de aplicativos que utilizem estes recursos.
-
35
Muitos podem duvidar da segurana do Android, j que seus componentes podem ser
modificados. Pessoas com ms intenes podem fazer um cdigo malicioso e execut-lo nos
celulares. Entretanto, o Android tem uma forte segurana, visto que executado sobre um
ncleo Linux, sempre que uma aplicao for instalada, cria-se um novo usurio Linux para o
programa, com diretrios que sero usados pelo aplicativo, porm somente para aquele
usurio. Dessa forma os aplicativos ficam isolados, exigindo-se uma permisso caso algum
aplicativo deseja acessar informaes de outro aplicativo (PEREIRA; SILVA, 2009).
2.8.1 Arquitetura
Conforme se pode observar na Figura 10, a arquitetura do Android est estruturada nas
seguintes camadas (PEREIRA; SILVA, 2009):
Aplicaes: a camada superior, onde se encontram todos os aplicativos
fundamentais, cliente de e-mail, mapas, navegadores, calendrios, programas
de SMS, gerenciador de contatos, etc;
Framework: nesta camada (Application Framework) que esto todas as APIs
e os recursos que os aplicativos necessitam, como classes visuais, caixas de
texto, listas, botes e at mesmo um navegador web embutido. Os principais
elementos desta camada so:
o Activity Manager: controla o ciclo de vida de todas as activities;
o Package Manager: se comunica com o resto do sistema e informa quais
pacotes esto sendo utilizados no dispositivo e as suas respectivas
capacidades;
o Window Manager: gerenciador de janelas que determina qual estar
ativa;
o Content Providers: o responsvel pela troca de dados entre os
aparelhos e a troca de informaes entre aplicativos;
o View System: fornece recursos grficos para a aplicao, como botes,
layouts e frames.
-
36
Bibliotecas: nesta camada est um conjunto de bibliotecas C/C++ utilizadas no
sistema. Agregam-se tambm bibliotecas de multimdia, visualizao de
camadas 2D e 3D, renderizao 3D, funes de acesso ao banco SQLite, etc.
As bibliotecas principais so a Freetype, System C library, Webkit, SQLite,
Surface Manager, Media Libraries, Lib WebCore e 3D libraries.
Android Runtime: a camada do ambiente de execuo uma instncia da
mquina virtual Dalvik, onde criada para todas as aplicaes executadas no
Android.
Linux Kernel: a camada do nvel mais baixo, que abstrai o hardware do resto
da pilha de software.
Figura 10. Arquitetura do Android
Fonte: Pereira e Silva (2009).
-
37
2.8.2 Diferenciais
O Android apresenta alguns elementos que outras plataformas de desenvolvimento
para dispositivos mveis podem no possuir. Podem-se citar os seguintes itens (MEIER,
2012):
Aplicaes do Google Maps: permite aos desenvolvedores adicionarem
funcionalidades que permitem visualizar, manipular, e fazer anotaes em um
mapa do Google;
Aplicaes e servios em segundo plano: dispe de um suporte completo para
a criao de aplicativos em segundo plano com base em um modelo orientado
a eventos;
Compartilhamento de dados e comunicao entre processos: com a utilizao
dos Intents e dos Contents Providers as aplicaes podem trocar mensagens e
compartilhar dados;
Igualdade das aplicaes: no existem diferenas entre as aplicaes nativas e
as de terceiros no Android, isso permite aos consumidores substituir todas as
aplicaes nativas por outras que preferir;
Wi-Fi Direct e Android Beam: com a utilizao dessas inovadoras formas de
comunicao possvel incluir recursos como compartilhamento e streaming
de mdias;
Widgets para tela inicial, protetores de tela animados e interativos: possvel
criar janelas para as aplicaes na tela inicial do telefone.
A maioria das plataformas de desenvolvimento mvel existentes exclusiva. Ao
contrrio, o Android incentiva a mudana, ou seja, todos os aparelhos vm com aplicativos
padres que os consumidores esperam de um telefone novo, mas com a capacidade de
poderem ser completamente customizados de acordo com o gosto de cada um (MEIER,
2012).
-
38
2.9 TRABALHOS SIMILARES
Esta seo apresenta o estado da arte de sistemas automatizados com utilizao de
dispositivos microcontroladores. No final desta seo apresentado um comparativo dos
sistemas pesquisados.
2.9.1 DroidLar Automao residencial atravs de um celular Android
O DroidLar um sistema de automao residencial que utiliza as plataformas Arduino
e Android e um protocolo de comunicao sem fio chamado ZigBee, que empregado na
comunicao entre os controladores dos dispositivos e o servidor, denominado SAR (Servio
de Automao Residencial). Na Figura 11 so mostrados todos os elementos do sistema
(EUZBIO; MELLO, 2011).
Figura 11. Elementos do DroidLar
Fonte: Euzbio e Mello (2011).
A aplicao Android utiliza uma conexo IP para a comunicao, enquanto que os
controladores conectados na rede ZigBee realizam a troca de mensagens. O SAR serve como
ponte entre as duas partes do sistema (EUZBIO; MELLO, 2011).
O sistema utiliza mdulos Xbee Series 2.5 para realizar a comunicao entre os
dispositivos e o SAR. Nos kits Arduino estes mdulos foram conectados ao shield XBee e no
-
39
SAR atravs de um adaptador serial conectado a uma porta USB. Os mdulos Xbee foram
configurados como roteadores, caracterizando uma rede em malha, dessa forma, cada
controlador de dispositivo pode encaminhar mensagens para os outros roteadores, aumentado
a possibilidade de interao com dispositivos que esto fora do alcance do rdio. Os mdulos
do DroidLar foram configurados sem criptografia, a fim de reduzir o tamanho da informao
contida em um pacote. Dois tipos de procedimentos so executados pelos controladores de
dispositivos (EUZBIO; MELLO, 2011):
Atuao: executa aes de ligar, desligar, aumentar ou diminuir a intensidade
da potncia de um dispositivo eletrnico, como por exemplo, uma lmpada;
Relatrio: contm informaes de configurao de um dispositivo, como por
exemplo, o estado (ligado, desligado, etc.) e o nmero de dispositivos.
enviado sempre que o controlador ligado ou quando o SAR solicita.
O SAR a parte central do DroidLar, sua funo gerenciar os controladores de
dispositivos, enviando comandos ou recebendo informaes e interagindo com o cliente
Android. Funciona com uma ponte entre as duas tecnologias de rede sem fio, ZigBee e
802.11. Para a aplicao realizar a comunicao com o cliente Android, o computador se
conecta a uma rede IP, enquanto que a comunicao com os kits Arduino realizada atravs
dos mdulos XBee (inclusive nos Arduinos). Este mdulo XBee configurado como
coordenador da rede ZigBee, tornando-o responsvel pelas configuraes desta rede. O
Servlet tambm responsvel pelas mensagens de controle dos dispositivos, onde esto
contidas informaes como o tipo de ao a serem tomados pelo dispositivo, valores para a
execuo desta ao e o endereo do dispositivo. So estas mensagens que executam as
funcionalidades do servidor, desde a autenticao do usurio at o agendamento dos perfis por
parte do usurio (EUZBIO; MELLO, 2011).
O DroidLar utiliza uma aplicao especfica para a plataforma Android que faz o
controle dos eletroeletrnicos da residncia, criando e gerenciando os perfis do usurio. Os
perfis permitem que um grupo de dispositivos seja programado para ligar/desligar em
determinados perodos. Para obter-se a comunicao com o SAR, o telefone com a aplicao
Android deve estar conectado a uma rede IP. Na abertura da aplicao a tela inicial (Figura
12-a), apresenta as opes de controlar os dispositivos da residncia, alterar os perfis e editar
-
40
as configuraes para a conexo com o SAR. Na primeira execuo da aplicao a tela de
configuraes (Figura 12-b) apresentada, a fim de autenticar o usurio no servidor. Nas
execues posteriores a tela inicial apresentada, uma vez que as configuraes j esto
salvas A aplicao Android utiliza uma conexo IP para a comunicao, enquanto que os
controladores conectados na rede ZigBee realizam a troca de mensagens. O SAR serve como
ponte entre as duas partes do sistema (EUZBIO; MELLO, 2011).
(a) (b)
Figura 12. Telas da aplicao. (a) tela inicial; (b) tela de configuraes
Fonte: Euzbio e Mello (2011).
2.9.2 Sistema de automao residencial baseado em Bluetooth usando
celulares
O sistema apresentado por Piyare e Tazil (2011), compreende um projeto de
automao residencial baseado no uso de celulares e de baixo custo. Os aparelhos da casa so
conectados a uma placa Arduino BT, e para a comunicao do celular com a placa utilizada
-
41
uma conexo sem fio. O sistema permite conectar novos dispositivos realizando poucas
alteraes. O software foi escrito para ser executado em celulares com a plataforma Symbian.
Na Figura 13, apresentado o sistema descrito.
Figura 13. Sistema de automao residencial
Fonte: Piyare e Tazil (2011).
A parte de hardware do sistema se resume em dois componentes, um celular e uma
placa Arduino BT. No celular, rodada uma aplicao escrita na linguagem Python que
permite ao usurio acessar e controlar os aparelhos da residncia. A aplicao em Python se
comunica com o Arduino definindo um protocolo de comunicao ad-hoc entre os dois
dispositivos e permitindo controlar o comportamento da placa Arduino. Os pacotes contendo
os comandos so enviados pelo celular. Uma vez que nestes pacotes esto os comandos que
determinam o estado dos aparelhos, atravs do microcontrolador ATmega168 projetado o
circuito analgico de acordo com a definio de cada sada. Diferentes tipos de aparelhos so
conectados nas portas de sada digital do Arduino BT por meio de rels, a fim de fornecer
tenso suficiente (PIYARE; TAZIL, 2011).
O software verifica se o Bluetooth est ativado no celular. Se estiver ativado ento o
processo de descoberta de dispositivos executado, verificando se j existem dispositivos
predefinidos armazenados no celular. Caso existam, os dispositivos so listados para que o
usurio selecione um deles, e depois de selecionado o software verifica se o mesmo est no
intervalo e se ele um dispositivo transmissor da placa Arduino BT. Depois de confirmado o
transmissor Bluetooth, armazenado os endereos de todos os controladores ligados a placa.
-
42
A interface de usurio consiste basicamente como apresentada na Figura 14, onde na tela
principal esto listadas as lmpadas com seus respectivos estados (ON/OFF) e o menu Opes
e Sair.
Figura 14. Interface de Usurio
Fonte: Piyare e Tazil (2011).
2.9.3 Domtica: Controle de automao residencial utilizando celulares
com Bluetooth
O sistema proposto por Abreu e Valim (2011), consiste no gerenciamento de uma
residncia atravs de uma interface em um aparelho celular com a utilizao da tecnologia
Bluetooth. O celular se comunica com o microcontrolador responsvel pelo controle da
automao residencial.
O sistema foi divido em dois mdulos principais: o mdulo controlador e o mdulo
conversor. O mdulo controlador trata-se de um software que realiza a comunicao do
celular com o microcontrolador atravs do Bluetooth. O mdulo conversor trata-se de um
firmware que converte os comandos enviados pelo celular para o protocolo X-10. Dessa
forma, torna-se possvel realizar a comunicao com objetos da residncia que j utilizam
esse protocolo. Na Figura 15, apresentada uma viso geral do projeto (ABREU; VALIM,
2011).
-
43
Figura 15. Comunicao com objetos da residncia atravs de celular
Fonte: Abreu e Valim (2011).
Para a implementao do mdulo controlador foi utilizado um celular Nokia N95 com
um aplicativo desenvolvido para a gesto da domtica. O celular citado possui o sistema
operacional Symbian, que tem por linguagem nativa o C++. Por meio da API JSR-82
realizada a comunicao sem fio atravs do Bluetooth (ABREU; VALIM, 2011).
O mdulo controlador apresenta uma interface que permite a visualizao dos
dispositivos para cada cmodo da residncia. Quando feito o acionamento de uma mudana
de estado (ligado/desligado/intensidade) de algum dispositivo, enviado pelo mdulo
controlador ao mdulo conversor um pacote de 3 bytes. O primeiro byte identifica o incio da
transmisso (Start TX), o segundo corresponde ao comando a ser transmitido, e o ltimo
identifica o fim da transmisso (End TX) (ABREU; VALIM, 2011).
O mdulo conversor tem a funo de converter o pacote de dados enviado pelo
controlador para o padro X-10 e encaminhando para o quadro de automao da residncia.
Foram definidos recursos de hardware que atendessem critrios como a disponibilidade do
produto no Brasil, custo, possibilidade de trabalhar como mestre na comunicao e a
compatibilidade com o microcontrolador PIC. Na Figura 16, so apresentados os hardwares
selecionados para este mdulo (ABREU; VALIM, 2011).
-
44
Figura 16. Componentes de hardware do mdulo conversor
Fonte: Abreu e Valim (2011).
O desenvolvimento do firmware para o PIC18F252 foi realizado utilizando o
compilador CCS (verso 4.049). Este tem com funo principal o monitoramento dos pacotes
que so enviados atravs da interface Bluetooth, como tambm a converso destes pacotes.
Para a validao dos dois mdulos anteriormente mencionados, foi implementado um terceiro
mdulo. Trata-se de outro software que simula uma residncia. Atravs de uma planta baixa
tem-se a visualizao de vrios cmodos, e em cada cmodo esto dispositivos que sero
controlados (ABREU; VALIM, 2011).
2.9.4 DomoWeb
Zandon e Valim (2012) apresentam um sistema de automao residencial que
independe de outros sistemas, de baixo custo, e com uma interface nica, simples e intuitiva, a
fim de realizar o controle, configurao, monitoramento e acionamento dos dispositivos de
uma residncia. O sistema permite usufruir de suas funcionalidades a partir de qualquer lugar,
pois se trata de um sistema Web. Atravs de um navegador, pode-se ter acesso por qualquer
dispositivo que o suporte, seja ele um computador, celular, etc.
-
45
No sistema tambm possvel, alm das configuraes bsicas, a realizao de tarefas
como programar a ativao de dispositivos em determinada data e adicionar e remover
dispositivos conforme a necessidade. A plataforma consiste basicamente em um servidor
embarcado, formado por uma placa Arduino Mega 2560 e um shield Ethernet, sendo
conectado a ele um driver de acionamento que permite acionar os dispositivos que se deseja
controlar, e via Ethernet o Arduino conectado no switch da residncia. Na Figura 17
apresentada uma viso macro do sistema (ZANDON; VALIM, 2012).
Figura 17. Viso macro do sistema DomoWeb
Fonte: Zandon e Valim (2012).
Seguindo o princpio de um sistema autnomo, foi proposta a implementao de um
servidor Web embarcado, ou seja, a implementao do sistema na prpria plataforma que atua
nos dispositivos da residncia. O Arduino, alm do baixo custo, possui bibliotecas TCP/IP
para utilizao com o controlador Ethernet (ZANDON; VALIM, 2012).
O DomoWeb tem a interface baseada em pginas HTML e um servidor embarcado
implementado em C/C++ com base em bibliotecas do Arduino. Em conjunto com o HTML
foram utilizadas tecnologias de pginas dinmicas (ZANDON; VALIM, 2012).
Para atender todas as funcionalidades do sistema, a memria flash de 256 KB do
Arduino Mega 2560 seria insuficiente, havendo a necessidade de armazenamento dos dados
-
46
na memria externa microSD (disponvel no Ethernet shield). Uma vez que o Arduino no
possui um sistema operacional, no h a possibilidade de utilizar um banco de dados
convencional, sendo os dados estruturados em XMLs (Extend Markup Language)
(ZANDON; VALIM, 2012).
As telas do sistema implementadas no formato HTML, onde se optou por adicion-las
em uma nica pgina com a finalidade de diminuir o trfego de dados pelo Arduino. Uma
desvantagem da utilizao do Arduino que ele dispe de baixos recursos de memria e
processamento, tendo que haver cautela no desenvolvimento para utilizar o mnimo de
processamento possvel. Com a utilizao do XML no microSD, a cada mudana que ocorre,
o XML tem que ser carregado para a memria, onde realizada uma comparao de String
para verificar as alteraes e por fim o XML gravado novamente, causando lentido no
sistema (ZANDON; VALIM, 2012).
A interface de usurio (UI) foi feita utilizando a biblioteca jQuery UI, que uma rica
biblioteca que oferece componentes grficos (janelas, botes, animaes, etc.) para o
desenvolvimento WEB. Na Figura 18, apresentada a tela de ambientes do sistema, onde
possvel fazer o controle dos dispositivos j configurados (ZANDON; VALIM, 2012).
Figura 18. Pgina de ambientes do DomoWeb
Fonte: Zandon e Valim (2012).
-
47
O sistema permite agrupar os dispositivos por ambiente, uma vez que um ambiente
esteja configurado, pode-se configurar um cenrio. Com a utilizao dos cenrios, pode-se
programar um conjunto de aes, como a programao para ligar/desligar os dispositivos de
um determinado ambiente nos horrios que se desejar. Para assegurar que apenas pessoas
autorizadas tenham acesso ao sistema, foi implementado um controle de acesso com usurio e
senha (ZANDON; VALIM, 2012).
2.9.5 Anlise comparativa
Aps a anlise dos trabalhos similares, apresentado um comparativo com algumas
caractersticas identificadas em cada um deles, como se pode observar no Quadro 1.
Quadro 1. Comparativo dos trabalhos similares Autores Ano Custo Microcontrolador Plataforma
de Software
Protocolo de
comunicao
Euzbio e Mello 2011 No Informado Arduino Android ZigBee
Piyare e Tazil 2011 Baixo Arduino Symbian Bluetooth
Abreu e Valim 2011 No Informado PIC Symbian Bluetooth
Zandon e Valim 2012 Baixo Arduino Web Wifi/Ethernet
Com esta anlise, foi possvel identificar que a maioria dos trabalhos utilizam a
plataforma Arduino e apenas um destes utilizou como plataforma de software o Android,
porm utilizando outro protocolo de comunicao, o ZigBee. Este trabalho props a utilizao
do Arduino e Android, com a comunicao entre o dispositivo mvel e o Arduino realizada
atravs do Bluetooth, e a comunicao entre o Arduino e o servidor atravs do padro
Ethernet.
-
48
3 DESENVOLVIMENTO
Neste captulo, so apresentados os recursos utilizados para realizar o
desenvolvimento do sistema proposto, que inclui viso geral, especificao dos requisitos e a
modelagem do sistema.
Na primeira subseo, exposta uma viso geral do sistema, explicando o que ser o
sistema com algumas informaes das tecnologias que sero utilizadas. Em seguida, na
segunda subseo, so identificados os requisitos, que se dividem em requisitos funcionais e
no-funcionais. A partir do levantamento e especificao dos requisitos, apresentada a
modelagem do sistema (terceira subseo), onde esto os casos de uso, diagrama de
sequncia, diagrama de classes e o prottipo de telas. Os casos de uso proporcionam uma
viso das funcionalidades do sistema e o diagrama de sequncia apresenta as atividades e
como elas interagem em uma sequncia temporal. Em seguida, o diagrama de classes,
identifica os tipos de objetos e como se relacionam no sistema e o prottipo de telas, apresenta
a interface de usurio, definindo os componentes grficos necessrios para a interao.
3.1 VISO GERAL
O sistema consiste em uma aplicao Android rodando em um dispositivo mvel que
permite ao usurio acionar um fecho eletromagntico. Este, por sua vez, embutido no
batente da porta funcionando juntamente com fechaduras mecnicas, do tipo que movimenta a
lingueta com o uso da maaneta pelo lado interno, e com o uso de chaves pelo lado externo.
Na Figura 19, apresentado o fecho da Amelco, modelo FE61, que foi utilizado neste
projeto.
-
49
Figura 19. Fecho eletromagntico Amelco FE61
O dispositivo mvel se comunica com o microcontrolador, que faz autenticao em
uma base de dados externa, permitindo ou no o acionamento do fecho eletromagntico.
O prottipo para controlar a fecho eletromagntico baseado em uma placa Arduino
UNO, sendo aplicao cliente desenvolvida para a plataforma Android verso 2.3 ou superior.
O protocolo de comunicao utilizado pelo dispositivo mvel para enviar os dados para o
Arduino UNO o Bluetooth 2.0, e a comunicao entre o Arduino UNO e o servidor que
contm o banco de dados, atravs do protocolo Ethernet. Para realizar o acionamento do fecho
eletromagntico usado um atuador do tipo rel ou transistor, que o Arduino controla.
O SGBD (Sistema de Gerenciamento de Banco de Dados) utilizado o MySQL
verso 5 ou superior, uma vez que a implementao do projeto de banco de dados no foi
abordada neste trabalho, sendo assim, h apenas uma tabela com os campos de usurio, senha
e permisso com a finalidade de validar a autenticao do usurio.
Ao executar a aplicao, verificado se o Bluetooth do dispositivo est ligado. Caso
afirmativo, a aplicao apresenta uma tela com campos de usurio e senha. Caso contrrio, a
aplicao pede permisso ao usurio para ligar a conexo Bluetooth, sucedendo o mesmo que
no caso afirmativo anteriormente. Para enviar os dados, o usurio conecta-se ao mdulo
Bluetooth do Arduino e depois deste procedimento, digita seu id e senha enviando os dados
para o Arduino, como apresentado na Figura 20.
-
50
Figura 20. Comunicao do dispositivo mvel com o Arduino
O Arduino recebe os dados e faz uma requisio ao servidor, enviando-os atravs de
uma pgina dinmica que simula o envio de um formulrio HTML. O servidor por sua vez,
pesquisa no banco de dados (Figura 21), retornando a resposta para o Arduino.
Figura 21. Comunicao do Arduino com o servidor
Arduino Uno +
mdulo Ethernet +
mdulo Bluetooth +
mdulo rel
Servidor Apache +
MySQL
Arduino Uno +
mdulo Ethernet +
mdulo Bluetooth +
mdulo rel
Smartphone
Android
Tablet Android
-
51
O servidor verifica se os dados do usurio constam no banco de dados e o Arduino
aciona o atuador, fazendo a abertura do fecho eletromagntico e permitindo o acesso para o
usurio, como se pode observar na Figura 22. Quando os dados no conferem, o acesso no
permitido.
Figura 22. Acionamento do fecho eletromagntico
3.1.1 Escopo
Neste trabalho no foi prevista a criptografia dos dados em nenhum momento da
comunicao. A proposta discorrida neste trabalho foi a utilizao das tecnologias citadas a
fim de realizar o controle de acesso utilizando-se de uma forma de autenticao multifator,
que conforme descrita anteriormente consiste na autenticao com base em algo que o usurio
possua (ex. aparelho celular) e em algo que o usurio saiba (ex. usurio e senha).
3.2 REQUISITOS
Nesta subseo so apresentados os requisitos, divididos em funcionais e no-
funcionais do sistema proposto.
Fecho
Eletromagntico
Amelco FE61
Arduino Uno +
mdulo Ethernet +
mdulo Bluetooth +
mdulo rel
-
52
3.2.1 Requisitos funcionais
Os requisitos funcionais identificam as caractersticas e as funcionalidades gerais de
um sistema. Os requisitos funcionais definidos para o sistema proposto so:
REF 01: o sistema deve acionar um fecho eletromagntico por meio de um
dispositivo microcontrolado;
REF 02: o sistema deve permitir ao usurio acionar um fecho eletromagntico;
REF 03: o sistema deve restringir o acionamento do fecho eletromagntico
mediante algo que o usurio possua (dispositivo mvel com aplicativo);
REF 04: o sistema deve restringir o acionamento do fecho eletromagntico
mediante algo que o usurio saiba (usurio e senha cadastrada previamente em
um banco de dados);
REF 05: o sistema deve utilizar um protocolo de comunicao comum entre a
unidade microcontrolada e o dispositivo mvel;
REF 06: o sistema deve utilizar uma base de dados externa para a autenticao
dos usurios;
REF 07: a unidade microcontrolada deve possuir conexo permanente com a
base de dados externa.
3.2.2 Requisitos no-funcionais
Nos requisitos no-funcionais, so estabelecidas as qualidades ou restries do
sistema. Para o sistema proposto, foram definidos os seguintes requisitos:
RNF 01: a aplicao mvel deve ser implementada para o sistema operacional
Android verso 2.