Fabricio Soares KronbauerESTUDO SOBRE A COMUNICAÇÃO BLUETOOTH EM UM       AMBIENTE EDUCACIONAL UBÍQUO           Trabalho d...
1               Fabricio Soares KronbauerESTUDO SOBRE A COMUNICAÇÃO BLUETOOTH EM UM       AMBIENTE EDUCACIONAL UBÍQUO     ...
2                   Universidade de Cruz Alta – UNICRUZ            Departamento de Ciências Agrárias, Exatas e da Terra   ...
3                             AGRADECIMENTOS      Mais um trecho de meu caminho se encontra completo. E não poderia deixar...
4                                       RESUMO      ESTUDO SOBRE A COMUNICAÇÃO BLUETOOTH EM UM AMBIENTE                   ...
5                                     ABSTRACT    STUDY ON THE BLUETOOTH COMMUNICATION IN AN EDUCATIONAL                  ...
6                           LISTA DE ILUSTRAÇÕESFigura 1    Scatternet formando por duas piconets............................
7                                 LISTA DE TABELASTabela 1   Versões do bluetooth............................................
8            LISTA DE ABREVIATURAS E SIGLASACL      Asynchronous ConnectionLessAPI      Application Programming InterfaceC...
9OBEX     Object ExchangePDA      Personal Digital AssistantsPPP      Point-to-Point ProtocolPSK      Phase Shift KeyingRF...
10                                                     SUMÁRIO1 INTRODUÇÃO ..................................................
111     INTRODUÇÃO      A evolução na área computacional propicia o uso de diversos tipos dedispositivos móveis juntamente...
121.1      Objetivos1.1.1    Objetivo Geral        Baseado na evolução da computação móvel e das redes sem fio, essetrabal...
13aplicabilidade dos protocolos de comunicação sem fio, principalmente no âmbito dosservidores de conteúdo e aplicação.   ...
142     FUNDAMENTAÇÃO TEÓRICA2.1 Tecnologias de Computação Móvel e Redes Sem Fio      Cada vez mais os indivíduos estão de...
15dispositivo móvel, tendo em vista seu tamanho e seu peso. Usabilidade remete aofato de como um dispositivo é utilizado p...
16intrínsecas, funções, sistemas, portabilidade e custo de cada um desses dispositivosmóveis variam significativamente (LE...
17capacidade de comunicações em diversos tipos de redes, como Wi-Fi e o bluetooth(FIGUEIREDO; NAKAMURA, 2003). Contendo or...
18teclados, mouses, e ainda uma serie de eletrodomésticos (FIGUEIREDO;NAKAMURA, 2003).      A tecnologia sem fio bluetooth...
192.3.1    Especificações da Tecnologia        Os estudos originaram-se em 1994 quando a empresa Ericsson começou aspesqui...
20                             Tabela 1 - Versões do bluetoothData       Versão                              Característic...
21      As redes sem fio são divididas e classificadas de acordo com seu mecanismode rotas, através do modo infra-estrutur...
22                       Figura 1 – Scatternet formada por duas piconets                             Fonte: Adaptado de Bo...
23(OBEX). Por fim, o bluetooth ainda dá suporte a protocolos de controle eespecificação de telefonia.      Apesar de estarm...
24      Outro método de divisão, encontrado em Priess (2003) e Sacks (2003) éclassificar a pilha de protocolos bluetooth e...
25       A tecnologia de rádio usada pelo bluetooth permite com que seu raio dealcance não se limite a uma linha reta, mas...
26dados. Essas 79 frequências diferentes possibilitam 1600 variações por segundopara evitar ou reduzir colisões com outros...
27      Na realidade a banda base monta os pacotes de dados vindos dos níveissuperiores para enviar a camada de rádio, ass...
28interface de controle e parâmetros de configuração (Bluetooth Special InterestGroup, 2009).      Assim a camada provê a ...
29fragmentar e remontar pacotes de dados que recebe das camadas acima no formatoesperado pelas camadas abaixo (MONTEIRO, 2...
30pilhas de protocolos. Formando uma gama de perfis para diferentes tipos de tarefas.      Os perfis são uma combinação de...
31                              Tabela 3: Perfis bluetooth  Perfis                                  Características  GAP  ...
32respondendo às indagações de serviço geradas por um dispositivo local (BluetoothSpecial Interest Group, 2009).        • ...
33pesquisando recebe os endereços bluetooth e as frequências dos dispositivosencontrados, para assim identificá-los na red...
34                 Figura 4: Diagrama de procedimento de conexão bluetooth                                 Fonte: MONCH (2...
35                 Figura 5 – Estágios de comunicação num sistema bluetooth                               Fonte: GRAZZIOTI...
36presentes na sua área de alcance, com o objetivo de descobrir o endereço doescravo (MARTINCOSKI, 2003).        De tempos...
37         • O dispositivo que esta efetuando a pesquisa recebe endereços bluetooth efrequências dos dispositivos encontra...
38podem realizar uma tarefa especifica. A descoberta de serviços é muito parecidacom a descoberta de dispositivo, logo o u...
39distribuídos que vêm sendo impulsionados pelo aumento dos dispositivos móveiscomo os celulares, PDA e netbooks aliado ao...
402.4.1    Computação Consciente de Contexto        Segundo   Jorge   Barbosa   (2007)   a   computação   ubíqua   vem   s...
41ambientes fixos e móveis onde há obtenção de uma informação, processamento damesma e após a disponibilização do resultad...
42Grande do Norte. No trabalho o autor faz uso da tecnologia bluetooth e Java emmeio móvel, agregado funções a um ambiente...
433     DESENVOLVIMENTO PRÁTICO       Este capítulo tem como objetivo demonstrar como foi desenvolvida aaplicação que faz ...
44      A escolha pelo sistema operacional da Microsoft Windows 7 se deve pelo fatodeste possuir a pilha de protocolo blue...
45              Figura 7: Visão geral de camadas envolvidas no servidor bluetooth                          Fonte: Adaptado...
463.1.1   Java        Buscando por uma linguagem de programação para dispositivos móveis,constatou-se que uma das melhores...
473.1.2   JSR-82        O Java Specification Requests 82 (JSR-82) é um documento que descreve asespecificações para o uso ...
48                  Figura 8: Diagrama da pilha bluetooth com Java e Bluecove                                 Fonte: BLUEC...
494    ANÁLISE DO SISTEMA DESENVOLVIDO                Não é objetivo de esse trabalho fazer um estudo comparativo detecnol...
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo
Upcoming SlideShare
Loading in...5
×

Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo

1,521

Published on

Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo - Monografia apresentado a Unicruz para obtenção do grau Bacharel em Ciência da Computação.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,521
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Estudo sobre comunicacao bluetooth em um ambiente educacional ubiquo

  1. 1. Fabricio Soares KronbauerESTUDO SOBRE A COMUNICAÇÃO BLUETOOTH EM UM AMBIENTE EDUCACIONAL UBÍQUO Trabalho de Conclusão de Curso CRUZ ALTA-RS, 2010
  2. 2. 1 Fabricio Soares KronbauerESTUDO SOBRE A COMUNICAÇÃO BLUETOOTH EM UM AMBIENTE EDUCACIONAL UBÍQUO Trabalho de Conclusão de Curso apresentado ao Curso de Ciência da Computação, da Universidade de Cruz Alta, como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação. Orientador: Prof. M. Sc. Josiane Kroll CRUZ ALTA - RS, JULHO 2010
  3. 3. 2 Universidade de Cruz Alta – UNICRUZ Departamento de Ciências Agrárias, Exatas e da Terra Curso de Ciência da Computação ESTUDO SOBRE A COMUNICAÇÃO BLUETOOTH EM UM AMBIENTE EDUCACIONAL UBÍQUO Elaborado por Fabricio Soares Kronbauer Como requisito parcial para obtenção do título de Bacharel em Ciência da Computação. Comissão Examinadora:Prof. M. Sc. _______________________________________________/UNICRUZProf. M. Sc. _______________________________________________/UNICRUZProf. M. Sc. _______________________________________________/UNICRUZ Cruz Alta, ____ de ______________ de ______
  4. 4. 3 AGRADECIMENTOS Mais um trecho de meu caminho se encontra completo. E não poderia deixarde agradecer a todos aqueles que estiveram ao meu lado nesta jornada. Em primeiro lugar quero agradecer a meu pai, um homem digno e batalhadorque através de muito esforço conseguiu graduar três filhos em universidadesparticulares. Um herói nesses tempos. Um agradecimento especial aos meus irmãos, mãe, tios e avôs, que sempreme apoiaram em tudo que foi preciso. Agradeço a minha namorada por sempre estar ao meu lado, em todos osmomentos, sejam eles bons ou não. Também aos meus colegas e amigos pela boa companhia que foram e pelasajudas prestadas. Obrigado a todos que de um jeito ou de outro estiveram presentes em minhajornada.
  5. 5. 4 RESUMO ESTUDO SOBRE A COMUNICAÇÃO BLUETOOTH EM UM AMBIENTE EDUCACIONAL UBÍQUO Autor: Fabricio Soares Kronbauer Orientador: Prof. M. Sc. Josiane Kroll O atual ambiente onde estão inseridas as pessoas requer uma buscafrequente por eficiência, rapidez e desempenho. Uma forma de alcançar estesobjetivos é através do uso de dispositivos suportados pela computação móvel comoferramenta para auxílio na busca de informações. A tecnologia bluetooth é um padrãoaberto de comunicação sem fio, através de enlace de radiofrequência, para redes adhoc que permite a transmissão de dados e informações entre dispositivos eletrônicosa uma curta distância, com gasto mínimo de recursos e com transmissão segura erápida de dados. Contudo a integração, através de bluetooth, entre dispositivosmóveis e servidores de dados ainda é pouco explorada. Neste trabalho foi abordadoum estudo sobre a eficiência da comunicação bluetooth em um ambientecomputacional ubíquo. Para isso foi desenvolvido um aplicativo para a comunicaçãoentre um servidor de dados em um ambiente educacional ubíquo. Foram utilizadosdispositivos móveis com tecnologia bluetooth para troca de informações com oservidor. Com o estudo realizado observou-se que a tecnologia bluetooth sediferencia de outras formas de redes de comunicação sem fio principalmente por setratar de um padrão rápido, aberto e gratuito. Contudo com o avanço das redes Wi-Fia tecnologia perdeu sua força inicial e parece estar restrita a substituição de fios.PALAVRAS-CHAVE: Comunicação bluetooth. Dispositivos móveis. Computaçãoubíqua. Ambientes educacionais.
  6. 6. 5 ABSTRACT STUDY ON THE BLUETOOTH COMMUNICATION IN AN EDUCATIONAL ENVIRONMENT UBÍQUITOUS Author: Fabricio Soares Kronbauer Advisor: Prof. M. Sc. Josiane Kroll The environment current where people are included requires a common questfor efficiency, speed and performance. One way to achieve these goals is by using ofdevices supported by mobile computing as a tool to aid in finding information.Bluetooth technology is an open standard for wireless communication using radio,used for ad hoc networks, which allows the transmission of data and informationbetween electronic devices located in a short distance each other with minimumcosts, secure and fast data transmission. However, the integration between mobiledevices and data servers, by bluetooth, are still little explored. This work was dealt astudy on the efficiency of the bluetooth communication in a ubiquitous computingenvironment. This way, an application for communication between a data server anda ubiquitous learning environment was developed. Mobile devices with bluetoothtechnology were used to capture information from the environment coming from aserver. The realized studies showed that the Bluetooth technology differentiatesitself from other forms of wireless communication networks mainly because it is afast, open and free standard. However, because the advancement of network Wi-Fi,the bluetooth technology lost its initial strength and appears to be restricted toreplacement of wires.KEYWORDS: Bluetooth communication. Mobile devices. Ubiquitous computing.Educational environments.
  7. 7. 6 LISTA DE ILUSTRAÇÕESFigura 1 Scatternet formando por duas piconets...........................................22Figura 2 Pilhas de protocolos da arquitetura bluetooth.................................24Figura 3 Pilha de perfis do bluetooth.............................................................30Figura 4 Diagrama de procedimento de conexão bluetooth..........................34Figura 5 Estágios de comunicação num sistema bluetooth..........................35Figura 6 Visão geral do ambiente..................................................................44Figura 7 Visão geral de camadas envolvidas no servidor bluetooth.............45Figura 8 Diagrama da pilha bluetooth com Java e Bluecove........................48Figura 9 Tela de projeto do sistema..............................................................74Figura 10 Tela de inicialização do servidor ....................................................74Figura 11 Telas do dispositivo móvel..............................................................75Figura 12 Tela de finalização do servidor........................................................75
  8. 8. 7 LISTA DE TABELASTabela 1 Versões do bluetooth.........................................................................20Tabela 2 Classes de dispositivos bluetooth.....................................................25Tabela 3 Perfis bluetooth.................................................................................31Tabela 4 Ambiente de desenvolvimento do projeto.........................................43
  9. 9. 8 LISTA DE ABREVIATURAS E SIGLASACL Asynchronous ConnectionLessAPI Application Programming InterfaceCLDC Connected Limited Device ConfigurationDBM Power Ratio in DecibelsEDR Extended Data RateFHSS Frequency Hopping Spread SpectrumFM Frequency ModulationGAP Generic Access ProfileGCF Generic Connection FrameworkGHz Giga HertzGIAC General Inquiry Access CodeHCI Host Controller InterfaceHS High Speed TechnologyIDE Integrated Development EnvironmentIEEE Instituto de Engenheiros Eletricistas e EletrônicosIrDA Infrared Data AssociationISM Industrial, Scientific and MedicineJCP Java Community ProcessJDK Java SE Development KitJ2EE Java2 Enterprise EditionJ2ME Java2 Standard EditionJ2SE Java2 Micro EditionJSR Java Specification RequestsJSR-82 Java Specification Requests APIs for BluetoothL2CAP Logical Link Control and Adaptation ProtocolLMP Link Manager ProtocolMBPS Megabit por SegundoMIDP Mobile Information Device ProfileMW Miliwatts
  10. 10. 9OBEX Object ExchangePDA Personal Digital AssistantsPPP Point-to-Point ProtocolPSK Phase Shift KeyingRFCOMM RS-232 Serial Cable Emulation ProfileSDA Service Discovery ApplicationSDDB Service Discovery DatabaseSDP Service Discovery ProtocolSIG Bluetooth Special Interest GroupSP2 Service Pack 2SPP Serial Port ProfileTCP/IP Transmission Control Protocol / Internet ProtocolUSB Universal Serial BusUUID Universally UniqueI DentifierWAP Wireless Application ProtocolWi-Fi Wireless FidelityWTK Java Wireless Toolkit
  11. 11. 10 SUMÁRIO1 INTRODUÇÃO ...................................................................................................... 111.1 OBJETIVOS ....................................................................................................... 121.1.1 OBJETIVO GERAL.......................................................................................... 121.1.2 OBJETIVOS ESPECÍFICOS ........................................................................... 121.2 JUSTIFICATIVA ................................................................................................. 121.3 ESTRUTURA DO TRABALHO ........................................................................... 132 FUNDAMENTAÇÃO TEÓRICA ............................................................................. 142.1 TECNOLOGIAS DE COMPUTAÇÃO MÓVEL E REDES SEM FIO ................... 142.2 DISPOSITIVOS MÓVEIS ................................................................................... 152.3 COMUNICAÇÃO BLUETOOTH .......................................................................... 172.3.1 ESPECIFICAÇÕES DA TECNOLOGIA........................................................... 192.3.2 INFRA-ESTRUTURA....................................................................................... 202.3.3 PROTOCOLOS ............................................................................................... 222.3.4 PERFIS ADOTADOS ...................................................................................... 292.3.5 ESTADOS E MODOS DE CONEXÃO ENTRE DISPOSITIVOS ..................... 322.3.6 ANATOMIA DE UMA APLICAÇÃO BLUETOOTH .......................................... 362.4 COMPUTAÇÃO UBÍQUA . ................................................................................. 382.4.1 COMPUTAÇÃO CONSCIENTE DE CONTEXTO ........................................... 402.5 TRABALHOS RELACIONADOS ........................................................................ 413 DESENVOLVIMENTO PRATICO.......................................................................... 433.1 TECNOLOGIAS EMPREGADAS ....................................................................... 433.1.1 JAVA ............................................................................................................... 463.1.2 JSR-82 ............................................................................................................ 473.1.3 BLUECOVE ..................................................................................................... 474 ANÁLISE DO SISTEMA DESENVOLVIDO ........................................................... 494.1 ANÁLISE DOS RESULTADOS .......................................................................... 545 CONCLUSÃO......................................................................................................... 565.1 TRABALHOS FUTUROS .................................................................................... 57REFERÊNCIAS BIBLIOGRÁFICAS .......................................................................... 58APÊNDICE A – CÓDIGO FONTE ............................................................................. 62APÊNDICE B – TELAS DO SISTEMA ...................................................................... 74
  12. 12. 111 INTRODUÇÃO A evolução na área computacional propicia o uso de diversos tipos dedispositivos móveis juntamente com outros vários de redes sem fio. Proporcionandocontinuo avanço e tornando atraente aos mais variados tipos de usuários quebuscam facilidade e disponibilidade de informações (FORTES, 2009). Aliado a isso existe uma série de possibilidades existentes no uso emconjunto de tecnologias móveis, como a comunicação entre os indivíduos, realizaçãodos mais diversos tipos de tarefas, e principalmente a disponibilização da mobilidadenecessária ao aumento de produtividade. Tudo isso pode ocorrer em um ambiente móvel, onde o conceito deintercomunicação entre os dispositivos cresce na mesma proporção que anecessidade de encontrar a informação desejada com maior rapidez, segurança ecomodidade. Cada vez mais pessoas carregam junto de si dispositivos capazes deprocessar informações pertinentes ao seu meio. Nesse ambiente surge anecessidade de comunicação e interação entre esses dispositivos. Um tipo deconectividade essencial para se viver em ambientes colaborativos (ARIMA, 2009). A tecnologia sem fio bluetooth é um padrão de rádio de curto alcance queproporciona novas oportunidades para dispositivos sem fio. Originalmente atecnologia foi concebida como uma forma de eliminar os cabos de quase todos osdispositivos eletrônicos de consumo. No entanto, as metas para a tecnologiacresceram, permitindo a criação de um novo tipo de rede sem fio entre dispositivos. Dispositivos móveis com tecnologia sem fio bluetooth são cada vez maiscomuns, graças a sua capacidade inerente de proporcionar a transmissão de voz edados de uma maneira segura e com um custo relativamente baixo, se comparado aoutras tecnologias de redes sem fio (Bluetooth Special Interest Group, 2009). Nesse sentido, foi feita uma análise da comunicação bluetooth para atransferência de informações entre dispositivos móveis e servidores de dados, emum ambiente educacional ubíquo, onde a informação deve estar disponível aqualquer pessoa, através de vários meios de consulta e principalmente no momentoque se deseja, ou seja, a informação certa, no momento certo e de maneira correta(Barbosa, 2007).
  13. 13. 121.1 Objetivos1.1.1 Objetivo Geral Baseado na evolução da computação móvel e das redes sem fio, essetrabalho tem como objetivo o estudo dos processos de transferência de dados einformações em comunicações envolvendo o protocolo de redes sem fio bluetooth edispositivos móveis em um ambiente educacional ubíquo.1.1.2 Objetivos Específicos • Identificar os principais protocolos de transferência de dados adequados àcomunicação móvel, principalmente a comunicação de redes sem fio bluetooth. • Fazer um estudo aprofundado sobre as características da comunicaçãobluetooth, seus conceitos, implementações, seus protocolos, seus perfis e suasaplicabilidades. • Estudar linguagens de programação que possibilitem integração com obluetooth. • Verificar ferramentas, bibliotecas, pacotes e métodos para implementação doprotocolo bluetooth. • Desenvolver um sistema experimental que comprove a possibilidade eviabilidade do projeto e abordar aspectos envolvidos nesses processos, buscandouma validação ao uso das tecnologias envolvidas no projeto, assim como suasvantagens e desvantagens de seu uso.1.2 Justificativa A cada ano o número de dispositivos móveis no mercado brasileiro cresceimpulsionado pela difusão das tecnologias de redes móveis, bem como pela grandegama de serviços e funções que esses dispositivos proporcionam. Nesse meio viu-se a necessidade de um maior entendimento sobre as formas com que essesaparelhos fazem acesso e realizam suas comunicações, seu funcionamento e a
  14. 14. 13aplicabilidade dos protocolos de comunicação sem fio, principalmente no âmbito dosservidores de conteúdo e aplicação. Além disso, a miniaturização de computadores na forma de celulares,Personal Digital Assistants (PDA) e outros dispositivos móveis forneceram novasmaneiras para os usuários interagirem em ambiente móvel. Isso também trouxe anecessidade de desenvolver e redistribuir aplicações de desktop para usuáriosmóveis (LEE; SCHNEIDER; SCHELL, 2005). A escolha pela tecnologia bluetooth foi feita principalmente pela característicadesta de estar presente num grande número de aparelhos, porém, ser poucoexplorada e utilizada no ambiente proposto pelo atual trabalho. Por ser umatecnologia que possui um chip barato, o que permite uma integração crescente aosvários tipos de dispositivos. Além de possuir uma distância de coberturarelativamente alta para o que a tecnologia se propõe, variando de 10 a 100 metrosdependendo da classe do dispositivo. Ainda o chip do bluetooth possui uma maioreconomia de energia se comparado ao Wireless Fidelity (Wi-Fi). Outro fator deescolha foi o fato do bluetooth obter suporte da linguagem Java. Uma linguagemmuito usada graças a seu grande poder de portabilidade. E por fim, pelo fato de usaruma faixa de rádio livre, que permite tráfego de dados sem cobrança. Tudo isso estátornando a tecnologia um padrão para conexões de curta distância (GHISI, 2007). Tendo como base a importância do tema, e o crescimento no mercado móvel,vê-se necessário um estudo aprofundado sobre as tecnologias envolvidas nomercado de dispositivos móveis e redes sem fio, principalmente no que se refere aopadrão bluetooth juntamente com a linguagem de programação Java .1.3 Estrutura do Trabalho O trabalho está organizado em 5 capítulos. No capítulo 1 são apresentados osaspectos introdutórios. No capitulo 2 é abordado a fundamentação teórica para otrabalho. No capitulo 3 são apresentadas as tecnologias envolvidas no trabalho. Nocapítulo 4 é apresentado a analise do desenvolvimento de uma aplicação para testaras tecnologias envolvidas. No capitulo 5 são apresentados os resultados obtidos apartir do estudo feito, bem como sugestões para trabalhos futuros.
  15. 15. 142 FUNDAMENTAÇÃO TEÓRICA2.1 Tecnologias de Computação Móvel e Redes Sem Fio Cada vez mais os indivíduos estão dependentes de dispositivos móveis. Issose deve primeiramente ao fato de possibilitar ao usuário, corporativo ou não, acessoa informações em tempo real, de uma maneira rápida e fácil, em qualquer lugar quese encontre. Segundo Lee, Schneider e Schell (2005) a maioria das pessoas faz uso desoluções móveis para comunicação, trabalho, entretenimento, educação elocalização. Nas comunicações, onde a mobilidade agrega seu principal valor,encontram-se o trafego de dados, voz, textos e imagens. No trabalho as aplicaçõesmóveis dão agilidade aos processos como intercambio de informações e emissão deinstruções. Na última década é possível notar o crescimento no desenvolvimento detecnologias para comunicação em redes sem fio. Permitindo acesso a informações eabrindo inúmeras possibilidades de serviços e aplicações facilitadoras aos usuáriosde dispositivos móveis (FIGUEIREDO; NAKAMURA, 2003). O termo computação móvel pode assumir muitos significados, masbasicamente o ponto em comum é que envolve alguma forma de mobilidade, o quepermite ao usuário com um dispositivo móvel se desloque dentro da área de acessoda rede sem fio local, buscando acesso a informações em qualquer lugar. Unindoassim a portabilidade, acessibilidade e conectividade das redes sem fio. Nesse meio,a portabilidade é fornecida pelo dispositivo, permitindo que o usuário se desloquepara qualquer lugar. Quanto à conectividade, basta que o usuário esteja dentro doraio de cobertura de uma das varias tecnologias móveis (Augustin, 2004). Figueiredo e Nakamura (2003) definem computação móvel como sendo umnovo paradigma computacional que engloba processamento, mobilidade ecomunicação se fio com o objetivo maior de obter informação em qualquer lugar e aqualquer momento. Segundo os autores Lee, Schneider e Schell (2005) a mobilidade estadiretamente ligada a capacidades como portabilidade, usabilidade, funcionalidade econectividade. A portabilidade se define como a facilidade de transportar um
  16. 16. 15dispositivo móvel, tendo em vista seu tamanho e seu peso. Usabilidade remete aofato de como um dispositivo é utilizado pelos usuários em relação ambiente queestes se encontram. Funcionalidade está associada aos tipos de aplicações queesses dispositivos rodam. Conectividade é a capacidade fundamental dosdispositivos móveis, pois estes têm como função primordial conectar pessoas esistemas, possibilitando troca de dados e informações. Numa era onde a informação tende a circular quase em tempo real, apossibilidade de obter o mesmo conteúdo em diversos meios diferentes facilita etorna a vida mais produtiva. Nesse meio, a computação móvel agregada ao uso datecnologia bluetooth possibilita uma mobilidade que agiliza as comunicações entrevários dispositivos (BRANDELERO, 2007). As aplicações para a tecnologia móvel evoluem em capacidade deprocessamento, e este contexto é favorável para o advento de aplicações móveiscada vez mais poderosas e para os mais diversos fins. O ambiente da computação móvel disponibiliza ao programador uma serie depossibilidades de aplicações e serviços, num mercado onde surge a todo o momentooportunidades no desenvolvimento de produtos. Existe uma serie de aplicações quepodem fazer uso do meio em prol da mobilidade, como por exemplo, o acesso ainformações, transferência e consulta de dados, acesso remoto, apoio a tomada dedecisão, em áreas de venda, estoque, transporte e automação, transações eoperações financeiras, em ambientes educacionais, militares, segurança,entretenimento e informações em geral. Para atingir o nível de mobilidade desejado pelos usuários desses aparelhos,a indústria estuda e desenvolve uma serie de tecnologias e protocolos que permitema comunicação sem fio a esses dispositivos. Há ainda um grande esforço por partedos fabricantes de hardware e software para difusão do aumento do uso da internetmóvel por aparelhos portáteis (Bluetooth Special Interest Group, 2009).2.2 Dispositivos Móveis Existem no mercado diversos tipos de dispositivos móveis destinados tanto ausuários corporativos quanto aos consumidores em geral. As capacidades
  17. 17. 16intrínsecas, funções, sistemas, portabilidade e custo de cada um desses dispositivosmóveis variam significativamente (LEE; SCHNEIDER; SCHELL, 2005). O autor Luiz Barbosa (2006) lista os tipos de dispositivos usados emcomputação móvel como: controles inteligentes, utensílios inteligentes, sistemas deentretenimento e dispositivos de acesso à informação. Sendo este último o tipo dedispositivo abordado no presente trabalho. A classificação dos dispositivos móveis varia muito de autor para autor, masgeralmente dispositivos móveis de acesso à informação podem ser classificadoscomo PDA, telefones celulares e smartphones (BOEMO, 2007). Segundo Boemo (2007) dispositivos móveis utilizados em processos decomputação móvel tornaram-se muito mais que assistentes pessoais e agendaseletrônicas, tornaram-se facilitadores da mobilidade, acesso a informações e coletade dados. São equipamentos que atribuem facilidades ao seu usuário, por teremtamanho reduzido, baixo consumo de energia, proporcionam ainda ganhos de tempoe eficiência. Os dispositivos móveis possuem várias formas de acesso à rede sem fio,como Wi-Fi, Infrared Data Association (IrDA), rede de telefonia celular e a tecnologiaabordada nesse trabalho, o bluetooth (KLEINSCHMIDT, 2004). A seguir sãodescritos alguns dispositivos móveis que utilizam comunicação bluetooth: • Aparelho celular: Um dispositivo celular se comunica através de ondaseletromagnéticas presentes em uma determinada área geográfica denominadacélula, que deu nome ao dispositivo. Essas ondas magnéticas são disponibilizadasao usuário do dispositivo pela operadora de telefonia celular, e segue padrões dedifusão baseada no tipo de compressão usada na distribuição do sinal. Essesdispositivos oferecem múltiplos serviços e funções além dos serviços básicos detelefonia. São players de áudio e vídeo, mensagens de texto, imagem e som, rádio,câmera fotográfica, câmera filmadora, acesso a internet, jogos, além de vários tiposde aplicações personalizadas (LEE; SCHNEIDER; SCHELL, 2005). • PDA: Derivado do inglês Personal Digital Assistent, os PDA são dispositivosde dimensões reduzidas e grande capacidade computacional. Os PDA sãocomumente chamados de handhelds ou palmtops. Na verdade pode-se classificá-loscomo um computador de tamanho reduzido, graças às funções que equipam essesaparelhos, como capacidade de processamento, memória e armazenamento,funções de entrada e saída, funções de multimídia, sistema de escritório e
  18. 18. 17capacidade de comunicações em diversos tipos de redes, como Wi-Fi e o bluetooth(FIGUEIREDO; NAKAMURA, 2003). Contendo originalmente funções básicas comoagenda, lista de contatos, calendário, relógio, o PDA ganhou ao longo do tempomaior poder de processamento, sistemas operacionais personalizados, maiorcapacidade de memória e de armazenamento, o que proporcionou um aumento desuas funções, que agora incluem correio eletrônico, acesso a Internet, jogos,informações e aplicações personalizadas. Atualmente é comum que fabricantescombinem os PDA com características de telefones celulares, reprodutoresmultimídia e outros equipamentos eletrônicos (LEE; SCHNEIDER; SCHELL, 2005). • Smartphones: Dispositivos que integram funcionalidades de PDA com asde telefones celulares. É tanto um celular com capacidades de PDA quanto um PDAtradicional com capacidades de telefone celular. Suas principais funcionalidades sãoa de navegar na internet, verificar e-mails, players de áudio e vídeo, edições dearquivos, além de receber e fazer chamadas telefônicas (LEE; SCHNEIDER;SCHELL, 2005). Apesar da restrição quanto à capacidade computacional, secomparados com os PDA, essa mistura de tecnologia celular com a dos PDA tornaesse tipo de dispositivo um dos mais procurados hoje no mercado.2.3 Comunicação Bluetooth A tecnologia bluetooth foi originalmente desenvolvida para acabar com o usode cabos entre dispositivos a curta distância, permitindo uma conexão sem fio entrediversos aparelhos como celulares, dispositivos computacionais portáteis depequeno porte, acessórios e periféricos como fones de ouvido, microfones, tecladose mouse, e computadores. No entanto, não se restringe apenas a substituição doscabos. A conectividade sem fio entre dispositivos fixos e móveis permite muitosoutros cenários de utilização. Como o abordado no presente trabalho. A tecnologia promete se tornar um dos principais padrões de mercado na suaárea de aplicação, graças às inúmeras possibilidades que disponibiliza em diversasáreas, e ao grande número de dispositivos que saem de fábrica com suporte atecnologia. Como por exemplo: celulares, PDA, notebooks, câmeras, projetores,
  19. 19. 18teclados, mouses, e ainda uma serie de eletrodomésticos (FIGUEIREDO;NAKAMURA, 2003). A tecnologia sem fio bluetooth permite com que um dispositivo se comuniquecom outro aparelho em seu raio de alcance, através de um chip que nada mais é doque um micro rádio transceptor operando na faixa de frequência de 2.4 Giga Hertz(GHz), na banda Industrial, Scientific and Medical (ISM). A tecnologia bluetooth éuma especificação de frequência de rádio para comunicações de curto alcance,segura, aberta, livre de royalties, e de baixo consumo, o que a torna ideal paradispositivos portáteis de baixo custo. Possibilita tráfego sem fio de voz e dados epode operar em qualquer lugar do mundo já que opera em frequência livre(THOMPSON; KLINE; KUMAR, 2008). É uma opção de comunicação sem fio considerada barata, de baixo custo eeficaz entre dispositivos que se comunicam a uma pequena distância. O grandepropulsor da tecnologia é o custo baixo na produção do chip bluetooth que pode serencontrado pelo preço de três dólares americanos. Tudo isso, aliado a baixacomplexidade e ao reduzido consumo (Bluetooth Special Interest Group, 2009). Dispositivos com chips bluetooth podem ser sincronizados com umcomputador, o que lhes permite transferir arquivos entre eles, troca de dados e atéacessar a internet. É possível ainda criar uma rede de área pessoal permitindo acomunicação sem fio de diversos tipos de dispositivos. O objetivo do Bluetooth Special Interest Group (SIG), órgão regulador datecnologia, é a construção de um rádio em um único chip, de baixo consumo deenergia e reduzido custo de fabricação, possibilitando a inserção em diversos tiposde dispositivos que precisem se comunicar através de um ambiente sem fio. O quetorna a tecnologia ideal para uso em dispositivos móveis (TAURION, 2002). Concebida como um sistema de rede sem fio de baixo custo para todas asclasses de dispositivos portáteis, os dispositivos bluetooth têm a capacidade deformar redes ad hoc. Estas redes permitem conexões dinâmicas e transparentes,onde o usuário pode se vincular rapidamente através de ligações fáceis econvenientes para impressoras, acesso à internet, e a dispositivos pessoais tanto notrabalho como em casa (THOMPSON; KLINE; KUMAR, 2008). A seguir a tecnologia terá aprofundamento através de sua especificação,abordando um pouco sobre suas origens e características principais.
  20. 20. 192.3.1 Especificações da Tecnologia Os estudos originaram-se em 1994 quando a empresa Ericsson começou aspesquisas para encontrar alternativas para ligar acessórios aos seus telefonesmóveis eliminando os cabos entre eles, e buscas por novas tecnologias parainterfaces de comunicações de baixo custo entre telefones e acessórios(THOMPSON; KLINE; KUMAR, 2008). No início de 1998, a Ericsson se juntou a Intel, IBM, Nokia e Toshiba eformou-se o SIG, uma empresa privada sem fins lucrativos para se concentrar nodesenvolvimento de uma especificação aberta para a tecnologia sem fio bluetooth(GHISI, 2007). Em julho de 1999, o SIG publicou a versão 1.0 da especificaçãobluetooth. Em abril de 2009 foi anunciado a última versão do bluetooth (BluetoothSpecial Interest Group, 2009). A principal tarefa do SIG é publicar as especificações do bluetooth edisseminar o uso da tecnologia. O trabalho conjunto dessas empresas em prol dodesenvolvimento da tecnologia seguiu um caminho onde houvesse uma rápidaaceitação de mercado. Para tal, mantém o protocolo aberto e compatível a muitastecnologias de mercado (Bluetooth Special Interest Group, 2009). Hoje o SIG inclui as empresas promotoras: Ericsson, Intel, Lenovo, Microsoft,Motorola, Nokia e Toshiba, e aproximadamente 12 mil empresas adeptas eassociadas. Essas empresas envolvidas no consórcio estão fazendo um esforçoconsiderável em prol da disseminação da tecnologia (Bluetooth Special InterestGroup, 2009). O SIG através de cooperação com as diversas empresas que formam oconsórcio lançou uma especificação industrial aberta, definindo assim como deve sero comportamento do padrão e a compatibilidade com os mais diferentes produtos.Ela define o sistema completo, partindo do hardware até as camadas mais altas desoftware. A especificação contém duas partes, o núcleo e os perfis. O núcleo define ascaracterísticas do rádio e a pilha de protocolos para a comunicação entre doisdispositivos. Os perfis especificam quais protocolos da pilha devem serimplementados para determinada aplicação (THOMPSON; KLINE; KUMAR, 2008). O SIG lança de tempos em tempos novas especificações para o protocolo,existindo assim varias versões do bluetooth, conforme tabela 1.
  21. 21. 20 Tabela 1 - Versões do bluetoothData Versão Características1999 1.0 Primeira versão, problemas de incompatibilidade.2001 1.1 Acontece o reconhecimento pela IEEE do padrão 802.15.1. Compatibilidade, aumento de velocidade para 1 megabit por2003 1.2 segundo (Mbps), Frequency Hopping Spread Spectrum (FHSS). Aumento de velocidade para 3 Mbps, melhorias no broadcast e2005 2.0 + EDR multicast.2007 2.1 + EDR Melhoria na segurança e consumo de energia. Considerável aumento de velocidade para 26 Mbps ao utilizar2009 3.0 + HS novo protocolo 802.11, o mesmo do Wi-Fi. As versões 1.0 e 1.1 foram responsáveis por dividir a especificação em duaspartes, uma responsável por descrever o núcleo do padrão e outra descrevendo osperfis. A versão 2.0 + Extended Data Rate (EDR) multiplicou por três a taxatransmissão, aumentando a velocidade para 3 Mbps, graças à mudança no padrãode modulação do protocolo. A última versão do bluetooth é a 3.0, lançada naespecificação SIG em 21 de abril de 2009, chamada High Speed Technology (HS).Nela há uma mudança significativa ao passar a utilizar o protocolo 802.11(Wi-Fi),aumentando sua velocidade para 26 Mbps (Bluetooth Special Interest Group, 2009).2.3.2 Infra-Estrutura Uma rede de computadores é formada por um conjunto de dispositivoscapazes de trocar informações e compartilhar recursos, interligados por um sistemade comunicação (KLEINSCHMIDT, 2004). No caso de redes sem fio, ou wireless, hátroca de dados e informações sem o uso de cabos ou qualquer outra forma deconexão física. Neste caso a transferência de informações acontece através do arcomo meio físico de propagação, por meio de ondas eletromagnéticas, infravermelhoou por laser. E para que estas redes sem fio sejam consideradas móveis, odispositivo devem ser capaz de se deslocar durante a comunicação sem que estaseja interrompida (KLEINSCHMIDT, 2004).
  22. 22. 21 As redes sem fio são divididas e classificadas de acordo com seu mecanismode rotas, através do modo infra-estruturado ou ad hoc (BARBOSA, L., 2006). Uma rede infra-estruturada é quando dispositivos se comunicam diretamentecom o ponto de acesso central, como é o caso de redes celulares e redes Wi-Fi. Emredes ad hoc, não existe um ponto de acesso central, e os dispositivos secomunicam diretamente com os dispositivos mais próximos. Este é o caso de redesbluetooth, que permite a criação de redes pessoais sem fio, uma rede de curtoalcance que faz conexão entre vários tipos de dispositivos (KLEINSCHMIDT, 2004). A tecnologia bluetooth permite a formação de dois tipos de redes possíveis emuma topologia de rede conhecida como ad hoc. Uma piconet ou uma scatternet.Uma piconet é formada de no mínimo dois e no máximo oito dispositivos bluetooth,onde o dispositivo que inicia uma conexão se torna o mestre e os demais sãochamados de escravos. Os escravos não podem se comunicar entre si, logo todacomunicação passa pelo controle do mestre. Numa piconet existe apenas ummestre, e seus escravos podem participar de outras piconets com o esquema demultiplexação de tempo. Nesse meio um mestre de uma piconet pode ser umescravo em outra. Já uma scatternet é o conjunto de várias piconets. Essas redespodem ser formadas por várias piconets e a comunicação entre elas é feita pelosdispositivos mestre de cada piconet (TAVARES; LOBATO; WESTPHALL, 2004). Segundo Sacks (2003), nesse tipo de arquitetura, o dispositivo que assume opapel de mestre fica encarregado de executar funções de gestão de recursos derádio no canal, coordenando e orientando através de instruções e comandos os seusrespectivos escravos. Os dispositivos restantes, os escravos, ao seremsincronizados ao mestre, executam operações coordenadas pelo mestre. O número máximo de dispositivos que podem fazer parte de uma rede piconetsão oito dispositivos, sendo que um necessariamente deva ser um mestre e osrestantes escravos. Como esse número é pequeno, implementou-se a tecnologia atécnica de scatternet, que permite a sobreposição de vários piconets, aumentandoassim a capacidade da rede. O limite máximo de sobreposições é de dez piconets. Na figura 1 pode-se ver o exemplo de duas redes piconets formando umarede scatternet.
  23. 23. 22 Figura 1 – Scatternet formada por duas piconets Fonte: Adaptado de Boemo (2007) Na figura 1 é possível notar a presença de duas redes piconets, cada umacontendo um dispositivo mestre. Ao se estabelecer uma ligação direta entre o mestree seus escravos temos uma condição de conexão ad hoc que é chamada depiconet. Nota-se a interposição de duas redes piconets, formando uma scatternet. A scatternet se forma quando um dispositivo participa de duas ou maispiconets. Um dispositivo bluetooth pode atuar como mestre ou escravo, já que ohardware utilizado é o mesmo (PRIESS, 2003).2.3.3 Protocolos Alguns autores como Horstmann (2002) e Goelzer (2006) dividem a pilha deprotocolos de acordo com sua função. Assim protocolos como rádio, banda base,Link Manager Protocol (LMP), Logical Link Control and Adaptation Protocol (L2CAP)e o Service Discovery Protocol (SDP) são considerados protocolos principais, onúcleo do sistema. O RS-232 Serial Cable Emulation Profile (RFCOMM) é oprotocolo de substituição de cabos. E existem ainda os protocolos adotados ousuportados, como o Point-to-Point Protocol (PPP), Transmission Control Protocol /Internet Protocol (TCP/IP), Wireless Application Protocol (WAP) e Object Exchange
  24. 24. 23(OBEX). Por fim, o bluetooth ainda dá suporte a protocolos de controle eespecificação de telefonia. Apesar de estarmos citando todos os possíveis protocolos e perfis, só serãoexplicados os que terão utilização direta no trabalho. Por exemplo, o OBEX não seráexplicado, apesar de fazer parte da especificação. Já autores como Tanenbaum (2003) dividem a arquitetura bluetooth e as suascaracterísticas técnicas em especificações chamadas de núcleo e perfis. O núcleodefine como o sistema funciona. Os perfis determinam como os diversos elementosdo sistema podem ser utilizados. Assim a divisão constaria de uma camada de rádiocontendo o transceptor que estabelece comunicação entre dispositivos; umacamada de banda base, que seria a parte computacional, com memória eprocessador, que interage com hardware; uma camada de pilha de software queadministra a comunicação entre banda básica e os aplicativos: e por fim a camadado programa aplicativo, que seria o software que promove a interface do sistemacom o usuário. O núcleo do bluetooth pode ser dividido em quatro camadas, L2CAP,LMP, banda base e camada de rádio. Eles podem ser implementados no hardware efirmware do dispositivo. O que eliminaria a necessidade do Host Controller Interface(HCI), já que o L2CAP e a banda base comunicam-se diretamente. Contudo o maiscomum é que o L2CAP seja implementado em software, surgindo assim anecessidade da camada HCI para comunicar o L2CAP com as camadas inferiores(TANEMBAUM, 2003). Siqueira (2006) divide o bluetooth em três grupos lógicos: grupos deprotocolos de transporte, grupo de protocolos de middleware e grupo de aplicação.O grupo de protocolos de transporte possui camadas de rádio, banda base, LMP eL2CAP. Estas permitem que dispositivos bluetooth localizem outros dispositivos egerenciem links físicos e lógicos para as camadas superiores. O grupo deprotocolos de middleware possui camadas de protocolos de padrões industriais eoutros desenvolvidos por terceiros. Estes protocolos permitem que aplicações jáexistentes e novas aplicações operem sobre bluetooth. Esses protocolos de padrõesindustriais incluem PPP, TCP/IP, WAP. Outros protocolos desenvolvidos pelo próprioSIG também foram incluídos como o RFCOMM, o TCS e o SDP. Por fim, o grupo deaplicação consiste das próprias aplicações que utilizam links bluetooth. Estas podemincluir aplicações legadas ou aplicações orientadas a bluetooth.
  25. 25. 24 Outro método de divisão, encontrado em Priess (2003) e Sacks (2003) éclassificar a pilha de protocolos bluetooth em duas porções de camadas. Ascamadas superiores formadas pelos protocolos L2CAP, RFCOMM, OBEX, e osperfis, e as camadas inferiores formadas pelo rádio, banda base, controlador deenlace e gerenciador de enlace. Neste caso fica claro uma divisão da pilha deprotocolos bluetooth com ênfase nas camadas de hardware e software. Assim acamada de hardware e firmware representam as camadas de rádio, banda base eLMP. O HCI serve de ligação e as camadas superiores como L2CAP, RFCOMM e asdemais são desenvolvidas em software. Na figura 2 é mostrado um exemplo da pilhade protocolos e a seguir a descrição de cada camada. Figura 2 – Pilhas de protocolos da arquitetura bluetooth Fonte: PRIESS (2003) • Rádio: essa camada é responsável pela comunicação no nível mais baixo,o nível físico, responsável por modular e demodular os dados em frequências desinais de rádio para transmissão e captação no ar. É a camada de tráfego físico dosdados, que ocorre a transmissão entre dois chips de rádio bluetooth. A especificaçãoda camada de rádio corresponde essencialmente a operações do transceptorbluetooth, provendo compatibilidade entre os rádios e qualidade para o sistema. Suafunção é movimentar os bits entre os dispositivos mestre e escravos (THOMPSON;KLINE; KUMAR, 2008).
  26. 26. 25 A tecnologia de rádio usada pelo bluetooth permite com que seu raio dealcance não se limite a uma linha reta, mas a um perímetro num raio de alcance quevaria, de acordo com a classe do dispositivo, entre 1, 10 e 100 metros (SACKS,2003). O transmissor de cada aparelho pode ser classificado em três diferentesclasses de potência e transferência de dados, que por sua vez leva em consideraçãoo alcance da onda de rádio dos dispositivos (MELO, 2005), conforme tabela 2. Tabela 2 – Classes de dispositivos bluetooth Classe Alcance Potência 1 ~ 100 metros 1 mW (0dBm) e 100 mW (20dBm) 2 ~ 1 0 metros 0.25 mW (-6dBm) e 2.5 mW (4dBm) 3 ~ 1 metro Até 1 mW (0dBm) Os dispositivos classe 1 foram desenvolvidos para grandes distâncias,podendo atingir nominalmente 100 metros com uso de potência máxima de 100miliwatts (mW), o que decorre num consumo de energia na casa dos 20 power ratioin decibels (dBm). Contudo, para se atingir o alcance máximo de 100 metros os doisdispositivos devem ser de classe 1 (MELO, 2005). Já um dispositivo classe 2 possuialcance médio de 10 metros com potência de 2.5mW e consumo de 4 dBm. Aqui sãoencontrados a maioria dos dispositivos presentes no mercado. Por fim existemdispositivos de classe 3, os mais fracos do mercado, podendo atingir apenas 1metros são destinados a curtíssimo alcance. Atinge potência máxima de 1mW com 0dBm de consumo (SACKS, 2003). O bluetooth é um protocolo de rádio com interface universal que opera nafrequência de rádio não licenciada ISM destinada a aplicações industriais, médicas ecientíficas cuja faixa destinada é de 2,4 GHz. Esta faixa de frequência vai de 2400MHz a 2483,5 MHz (GRAZZIOTIN, 2006). Essa banda é formada por vários canais formados pela técnica deespalhamento espectral. Isso é possível porque no intervalo de banda usado pelatecnologia, 2400 MHz a 2483,5 MHz, há um total de 79 frequências disponíveis,começando pelo canal 0 ao 78, cada uma com 1 MHz. Cabe deixar claro que cadatransmissão ou recepção de pacotes de dados que ocorrem em um único intervalode tempo, utilizam uma única frequência, porém com a técnica de salto, a faixa totalutilizada pela tecnologia é maior, contendo 79 frequências possíveis para troca de
  27. 27. 26dados. Essas 79 frequências diferentes possibilitam 1600 variações por segundopara evitar ou reduzir colisões com outros tipos de dados que circula na mesma faixade banda de rádio. A tecnologia permite com que o dispositivo mestre fique saltandode frequência para evitar colisões, e após o salto, sincroniza o restante dos escravos(PRIESS, 2003). O consórcio SIG definiu os modos de modulação como: um modo básico eobrigatório, chamado de Basic Rate que usa modulação Frequency Modulation (FM)e um modo opcional chamado de Enhanced Data Rate (EDR) que usa modulaçãoPhase Shift Keying (PSK), que aumentou taxas de 1 Mbps para 2 e 3 Mbps (SACKS,2003). Contudo, a última especificação trouxe mudanças significativas nesses modosde modulação. Segundo release 3.0 a tecnologia passa a usar High SpeedTechnology e a utilizar o protocolo 802.11 aumentando sua taxa de velocidade para26 Mbps (Bluetooth Special Interest Group, 2009). O modo de transmissão acontece por espalhamento espectral conhecidocomo Spread Spectrum, que faz uso da técnica de salto de frequência chamadaFrequency Hopping, que permite com que um algoritmo alterne entre as frequênciasnuma velocidade de 1600 saltos por segundo, para assim evitar erros, colisões,interferência. Neste caso, com 1600 saltos por segundo, daria um salto a cada0,000625 segundos, ou 625 microsegundos. Essa duração é conhecida como timeslot, ou seja, uma unidade de tempo no sistema (SACKS, 2003). • Banda Base: é uma camada física da pilha de protocolos que éresponsável pela gerência da banda base através de controle das conexões físicasvia rádio, gerência de enlace montando os pacotes e formatação dos dados detransmissão recebidos e enviados para a camada de rádio. Além disso, ela éresponsável pela sincronização da comunicação na piconet gerenciando o frequencyhoppig e controlando a seleção de saltos. Além de fazer o controle de erros e serresponsável pela segurança dos dados (GHISI, 2007). Esta camada também é responsável pelo descobrimento dos dispositivos,através de page e inquiry para acessar os dispositivos, formação do link, formato econtrole de pacotes e pelos canais lógicos e físicos (GRAZZIOTIN, 2006). Definindoassim como os dispositivos bluetooth localizam e se conectam a outros dispositivos.Funcionando como um administrador de enlace síncronos e assíncronos fazendorotinas de conexão.
  28. 28. 27 Na realidade a banda base monta os pacotes de dados vindos dos níveissuperiores para enviar a camada de rádio, assim como faz o contrário, ao receberbits da camada de rádio e montar pacotes para enviar a camada superior(MONTEIRO, 2006). A função da camada é transformar um fluxo de bits em frames.Ou seja, uma sequência de bits em quadros. Na transmissão dos frames sãoestabelecidos links, onde cada quadro é transmitido sobre um canal entre o mestre eo escravo (FIGUEIREDO, 2008). O canal físico é subdividido em unidades de tempos denominados slots. Osdados são transmitidos entre dispositivos bluetooth em pacotes que sãoposicionados nestes slots. Dentro de um canal físico, um link físico é formado entrequaisquer dois dispositivos, e transmitem pacotes em ambas as direções. Existeum link físico entre cada escravo e mestre. Contudo não há formação de links físicosdiretamente entre escravos. Geralmente em um intervalo de tempo é enviado um pacote de dados.Contudo em determinados sistemas o envio de um único pacote pode levar mais deuma unidade de tempo, neste caso o pacote é transmitido antes de acontecer osalto, estendendo a unidade de tempo padrão. • Link Manager Protocol (LMP): é responsável pelo controle e configuraçãodas conexões entre os dispositivos, gerenciando todos os aspectos funcionais queenvolvem a ligação entre eles (Bluetooth Special Interest Group, 2009). Éresponsável pelos enlaces entre os dispositivos (GRAZZIOTIN, 2006). Esse controle de enlace é feito através de mensagens do protocolo,interrogações e respectivas respostas, que são interpretadas pelos gerenciadoresdos dispositivos destinatários (SACKS, 2003). O gerenciador de enlace (LMP) traduzos comandos da interface de controle do host (HCI) que ele recebe, em operaçõesna camada de banda de base. Ou seja, as mensagens produzidas no LMP sãofiltradas e interpretadas pelo link controller da camada banda base. Protocolo ficaresponsável pela configuração e gerenciamento das propriedades do meio detransmissão entre os dispositivos, nas conexões da banda base (GHISI, 2007). • Host Controller Interface (HCI): prove um método de acesso àsfuncionalidades das camadas mais baixas, LMP e banda base, através de uma
  29. 29. 28interface de controle e parâmetros de configuração (Bluetooth Special InterestGroup, 2009). Assim a camada provê a comunicação entre o controlador host e o módulobluetooth, caracterizando uma ponte entre o software e o hardware, fazendo umaabstração entre o hardware das camadas inferiores e o software das camadassuperiores (SACKS, 2003). Melo (2005) classifica a camada em: HCI firmware, que implementa oscomandos para a parte do hardware, acessando banda base e o LMP. O HCI Driver,que é a parte em software do modulo de driver no servidor que recebe notificaçõesde eventos HCI. E o Host Controller Transport Layer, que é a camada por onde oHCI firmware e o HCI Driver se comunicam. É o canal de transporte que comunica ohardware com o software. Geralmente sendo do tipo Universal Serial Bus (USB). • Logical Link Control and Adaptation (L2CAP): faz a interface com ascamadas de nível superior e os protocolos de transporte de camadas inferiores,escondendo os detalhes de implementação da camada de rádio e banda base,sendo responsável pelos tipos de aplicações capazes de rodarem sobre redesbluetooth (GHISI, 2007). Entre as funções do protocolo temos a multiplexação edesmultiplexação, segmentação e remontagem de pacotes, qualidade de serviço ecriação de canais lógicos entre camadas acima e abaixo. Esta camada é usadaapenas para enlaces do tipo Asynchronous ConnectionLess (ACL) e usa conceitosde canais lógicos, onde cada um é identificado por um identificador local chamadode Channel Identification (CID) ( KLEINSCHMIDT, 2004). A camada faz o processo de segmentação de pacotes, pelo fato da camadainferior banda base permitir carga baixa em seus pacotes, enquanto as camadassuperiores permitem pacotes de tamanho maior. Logo esses pacotes devem sersegmentados, fragmentados em vários outros pacotes permitindo assim atransmissão (GRAZZIOTIN, 2006). O processo de multiplexação é a propriedade do protocolo de pegar ospacotes de dados da camada de banda base e enviar para a camada de aplicaçãocorreta acima. Basicamente a camada recebe os pacotes das camadas superiores edividem eles em frames para que ocorra a transmissão e a remontagem nosdispositivos de destino. O processo de desmultiplexação é responsável por
  30. 30. 29fragmentar e remontar pacotes de dados que recebe das camadas acima no formatoesperado pelas camadas abaixo (MONTEIRO, 2006). • Rfcomm: a camada RS-232 Serial Cable Emulation Profile é o protocolode transporte que emula uma configuração de cabo serial sobre o protocolo L2CAPe é usado para fornecer transferência de dados serial suportando diferentesaplicações legadas que façam uso da porta serial, além de também permitirimplementações de protocolos mais complexos sobre ele, e ainda dos perfisbluetooth. RFCOMM liga as camadas inferiores da pilha de protocolo bluetoothatravés da camada L2CAP (GHISI, 2007). É através dessa camada que se implementou a comunicação no presentetrabalho e será posteriormente explicado com mais detalhes. • Service Discovery Protocol (SDP): é a camada de descobrimento deserviços comum em todo dispositivo bluetooth. Serve para divulgar os serviços deum dispositivo mestre quando um dispositivo escravo entra na área de cobertura dosinal bluetooth. Ele é um protocolo do tipo cliente-servidor, onde o servidor mantémuma lista de serviços e os clientes podem obter acesso a esses serviços(KLEINSCHMIDT, 2004). O dispositivo bluetooth mantém as informações dos serviços armazenadosem um Service Discovery Database (SDDB) que possui atributos com registros queos descrevem. Esses atributos são representados por um número hexadecimalchamado de identificador de atributo (GHISI, 2007). O Universally Unique Identifier(UUID) é o tipo de dado usado para identificar os atributos de serviços, protocolos eperfis. Um UUID é um identificador universal que garante ser único em um tempo eespaço determinado. Na identificação de um serviço a Java Specification RequestsAPIs for Bluetooth (JSR-82) dispõe da classe Javax.bluetooth.UUID para definiresses identificadores. Esse número deve ser reconhecido tanto pelo mestre quantopelo escravo, servidor ou cliente, já que é através dele que será realizada a buscapor pelo serviço (POVOA, 2005).2.3.4 Perfis Adotados A especificação do bluetooth definiu aplicações especificas suportada pelas
  31. 31. 30pilhas de protocolos. Formando uma gama de perfis para diferentes tipos de tarefas. Os perfis são uma combinação de protocolos e procedimentos para umaimplementação de serviços específicos e para diminuir os riscos de falhas deinteroperabilidade entre equipamentos de fabricantes distintos, permitindo assimuma comunicação confiável e descrevendo como as implementações devem serutilizadas nos diferentes ambientes onde se faz uso da tecnologia, atingindo assimdiversos cenários de uso (FIGUEIREDO, 2008). A figura 3 exemplifica os perfis suportados pelos dispositivos com bluetooth. Figura 3 – Pilha de perfis bluetooth Fonte: Bluetooth Special Interest Group (2009) O presente trabalho não tem por objetivo fazer uma descrição ou analisecompleta dos perfis bluetooth, até mesmo porque os desenvolvedores do consórcioSIG trabalham para que esse numero seja sempre crescente. O que será visto a seguir é uma análise dos principais perfis da tecnologia eos perfis que foram utilizados durante a implementação do presente trabalho. A tabela 3 foi adaptada de Bluetooth Special Interest Group (2009) mostra osprincipais perfis e protocolos utilizados no presente trabalho.
  32. 32. 31 Tabela 3: Perfis bluetooth Perfis Características GAP Perfil de acesso genérico. Base para os demais perfis. SDA Descreve como usar o SDP para descobrir serviços em um dispositivo SPP Descreve como configurar portas seriais virtuais e conectar 2 dispositivosProtocolos Os perfis acima funcionam em conjunto com os protocolos abaixoRFCOMM Emula configurações de cabo serial e status de uma porta serial RS-232 e é usado para fornecer transferência de dados serial SDP Protocolo de descoberta de Serviços. Abaixo segue a descrição dos principais perfis utilizados no presente trabalho. • Generic Acess Profile (GAP): é um perfil básico de transporte onde osdemais são construídos. O GAP é à base de todos os outros perfis, pois sobre ele osoutros perfis são aplicados. Define os procedimentos genéricos relacionados aoestabelecimento de conexões entre dois dispositivos, incluindo a descoberta dedispositivos, a gestão e configuração de links, e os procedimentos relacionados coma utilização de segurança. Logo controla a ligação entre dois dispositivos,semelhante ao que ocorre na camada de rede do modelo tradicional (THOMPSON;KLINE; KUMAR, 2008). • Service Discovery Application (SDA): descreve as operações básicasnecessárias para que serviços sejam descobertos. Este perfil define os protocolos eos procedimentos a ser usado por aplicativos para localizar serviços em outrosdispositivos com bluetooth habilitado (FIGUEIREDO, 2008). O SDA descreve comoum aplicativo deve usar o SDP para descobrir serviços em um dispositivo remoto,através de inquiry e inquiry scan via SDP. As idéias contidas nas especificaçõesSDA somam-se as previstas no GAP, no SDP, e em outros processos básicos dedetecção de dispositivos. O SDA define dois papéis, um para o dispositivo local queinicia o processo de descoberta de serviços, e o dispositivo remoto que pode serqualquer dispositivo que participa no processo de descoberta de serviços,
  33. 33. 32respondendo às indagações de serviço geradas por um dispositivo local (BluetoothSpecial Interest Group, 2009). • Serial Port Profile (SPP): é um perfil de transporte que suporta aemulação de uma configuração de cabo serial usando o protocolo RFCOMM paraprover esse serviço. O SPP facilita a comunicação entre dispositivos bluetooth,fornecendo um fluxo baseado em interface para o protocolo RFCOMM, que estásobre o protocolo L2CAP, emulando uma conexão serial RS-232 (Sun DeveloperNetwork, 2009). Foi desenvolvida para que programas antigos pudessem ser usados semnecessidade de reprogramação. Sendo assim, esse perfil permite que, semnenhuma modificação, aplicações legadas possam utiliza o bluetooth como se omesmo fosse uma conexão a uma porta serial. Esse perfil serve de base para váriosoutros, bem como dar suporte a conexões PPP para acesso local entre doisdispositivos (THOMPSON; KLINE; KUMAR, 2008). Seu uso se restringe a computadores desktop e laptops. Um cenário típico deuso seria dois dispositivos, como dois notebooks, ligados através da tecnologiabluetooth emulando portas seriais virtuais, já que o perfil SPP define como configurarportas seriais virtuais e conectar dois dispositivos bluetooth (Bluetooth SpecialInterest Group, 2009).2.3.5 Estados e Modos de Conexão entre Dispositivos Mesmo que uma rede bluetooth trabalhe com uma tecnologia sem fios,apenas uma única ligação física pode existir entre dois dispositivos bluetooth.Apesar de ser apenas uma única ligação física, pode haver várias ligações entre osdois dispositivos. Semelhante à rede cabeada, onde existe apenas um cabo entredois dispositivos, mas ainda pode haver várias ligações entre estes dispositivos. Os dispositivos bluetooth são munidos da capacidade de descobrir novosdispositivos nas proximidades da rede, além de descobrir os serviços disponíveis narede. Para isso todo dispositivo bluetooth tem associado a si um endereço e umrelógio interno com um contador, e durante a pesquisa, o dispositivo eu esta
  34. 34. 33pesquisando recebe os endereços bluetooth e as frequências dos dispositivosencontrados, para assim identificá-los na rede (GHISI, 2007). Após acionado o bluetooth em um dispositivo móvel, o software inicia umprocesso chamado de inquiry, onde o dispositivo varre a rede atrás de pontos deacesso que estão próximos. Todos os pontos de acesso respondem com seuendereço físico. Já que cada módulo bluetooth tem um endereço físico único nomundo, gravado no momento da fabricação. O dispositivo móvel escolhe então umdestes pontos de acesso. Para se estabelecer uma ligação bluetooth é necessário que os dispositivosefetuem um procedimento conhecido como pareamento, o que permite a criação deum canal físico entre os dois dispositivos. O dispositivo que efetua os pedidos depareamento é o mestre, enquanto que o receptor dos pedidos é o escravo. Quando o dispositivo esta operando no modo de descoberta (inquiry scan) elese torna possível de ser descoberto pelo mestre. Para que o pareamento seestabeleça, o dispositivo escravo deve estar com o bluetooth ativado, ou seja, eledeve estar escutando os envios de pedidos do mestre. Assim que receba o pedido, oescravo manda ao mestre uma resposta, este por sua vez, após confirmação, enviaao escravo um pacote com o seu endereço bluetooth e com o relógio interno, estepacote permite ao escravo tomar conhecimento de todas as informações para criar aligação entre os dois dispositivos. Esse processo é conhecido como paging, e é aquique o dispositivo móvel procura sincronizar-se com o ponto de acesso (GHISI,2007). Estabelecido o link físico, ocorre a etapa da varredura e descoberta porserviços disponibilizados. Essa busca utiliza o protocolo SDP, onde o cliente enviarequisições a um servidor, que por sua vez, envia as informações de serviçosdisponíveis. Um identificador UUID é usado para identificar os serviços, protocolos,perfis e demais informações do dispositivo (GRAZZIOTIN, 2006). Se for descoberto algum serviço, o protocolo L2CAP será criadopossibilitando assim a comunicação entre os dispositivos. Para que essacomunicação ocorra com sucesso, o protocolo RFCOMM emula uma interface serialsobre o canal L2CAP que permite trafego de dados. Na figura 5 pode-se observarum exemplo padrão de procedimentos para conexão de dispositivos bluetooth.
  35. 35. 34 Figura 4: Diagrama de procedimento de conexão bluetooth Fonte: MONCH (2007) Conformo o modelo apresentado na figura 4, um dispositivo A fica enviandomensagens de busca por outros dispositivos. Esta etapa chama-se fase dedescobrimento (discovery). Um outro dispositivo B, que esteja na área de coberturado sinal, pode receber essa mensagem se estiver com esse serviço habilitado(discoverable). O dispositivo B então responde a mensagem ao dispositivo A. Apósfase inicial de pesquisa, ocorre a fase de pareamento, onde o dispositivo A pedeuma senha (PIN) para o dispositivo B. Se a resposta de B coincide com o pedido deA, os dispositivos estão pareados e podem iniciar a comunicação entre ambos(MONCH, 2007). Conforme a explicação acima, percebe-se que um dispositivo bluetooth podeoperar em vários estados. Ele pode assumir um estado de espera (standby) ouestado de conexão. Entre esses dois principais estados encontra-se estadosintermediários usados para estabelecimento de conexão e adicionamento de novosdispositivos a rede. Entre esses podemos citar um estado de pesquisa (inquiry),juntamente com a escuta de pesquisa (inquiry scan), um estado de resposta dapesquisa (page) e escuta de chamada (page scan). A figura 5 exemplifica esse processo, além de visualizar os papeis do mestree do escravo.
  36. 36. 35 Figura 5 – Estágios de comunicação num sistema bluetooth Fonte: GRAZZIOTIN (2006) Conforme descrito acima, um dispositivo pode inicialmente assumir doisestados: espera (standby) ou conectado. Antes de estar conectado a uma redepiconet, diz-se que o dispositivo esta em estado normal. Neste estado de pré-conexão o dispositivo pode assumir por default o estado de stanby, e a partir desseassumir estados de page, page scan, inquiry scan ou inquiry, conforme figura 5acima. Um dispositivo entra em estado standby ao ser ativado a função bluetooth. Odispositivo assume então um método de consumo de energia, disparandomensagens a cada 10ms a procura de dispositivos. A partir desse modo podeassumir o estado de page ou inquiry. Quando um dispositivo mestre entra no modo inquiry, ele faz umainvestigação para identificar e descobrir, na sua área de cobertura, dispositivosvisíveis ao seu alcance. E assim colher informações pertinentes à futura conexão.Neste caso o escravo deve estar no modo inquiry scan para ser visto. O mestre através do inquiry obtém uma lista de dispositivos em seu alcance,assim como seus endereços. Inquiry possibilita ao dispositivo descobrir outros emseu alcance, assim como o endereço e o clock. No estado de inquiry o dispositivomestre envia um tipo especifico de pacote para descobrir quais os dispositivos
  37. 37. 36presentes na sua área de alcance, com o objetivo de descobrir o endereço doescravo (MARTINCOSKI, 2003). De tempos em tempos, o dispositivo vai para o estado inquiry scan para tentarser descoberto por outros dispositivos. Se receber algum pacote de inquiry enquantoestiver neste estado, responderá com um inquiry response, onde mandará seuendereço ao dispositivo que enviou o inquiry para que este tome conhecimento desua presença na rede. Logo após, o dispositivo mestre entra no estado de page, onde ocorre umaconvocação pelo dispositivo escravo que ira se conectar a rede piconet. Para tal omestre usa o endereço obtido anteriormente. O estado de page é usado paraestabelecer conexão com um futuro escravo cujo endereço seja previamenteconhecido. Nesse caso é estabelecida a conexão sem precisar passar pelo estadode pesquisa, escuta da pesquisa e resposta da pesquisa. Isso se o mestre já tenha aidentificação do escravo a qual ele deseja se conectar. O dispositivo escravo deveestar com o modo page scan habilitado para que responda a esta convocaçãorealizada pelo mestre. No estado de page scan o futuro escravo busca em sua áreade cobertura um futuro mestre no estado de page que esteja enviando o seuendereço. Em caso de novas conexões, o dispositivo mestre não precisa passar pelomodo inquiry, pois ele já conhece o endereço do escravo (MARTINCOSKI, 2003). Resumindo o processo de descoberta e conexão, o dispositivo mestreexecuta inquiry e depois page, enquanto o(s) escravo(s) executa inquiry scan e pagescan. Durante uma operação, um canal físico de rádio é compartilhado por um grupode dispositivos que estão sincronizados a um clock comum e a um padrão de saltosde frequência. Um dispositivo mestre provê assim a sincronização de referência.2.2.6 Anatomia de uma Aplicação Bluetooth Basicamente o envio de dados para dispositivos móveis através do bluetoothsegue os seguintes princípios: • Pesquisa de dispositivos. Tanto um dispositivo servidor ou um clientepodem fazer varredura na rede para achar novos dispositivos ou serviços. Para serencontrado, um dispositivo deve estar no modo de descoberta, inquiry scan. • Obtenção da lista de serviços nos dispositivos encontrados ou de umserviço específico. Essa busca de serviços usa o protocolo SDP.
  38. 38. 37 • O dispositivo que esta efetuando a pesquisa recebe endereços bluetooth efrequências dos dispositivos encontrados, permitindo assim sua identificação. • Pedido de envio para os dispositivos encontrados e que suportam o serviçode envio de arquivos. • Envio de arquivos Após a análise desses passos básicos na comunicação bluetooth, precisa-seaprofundar os conhecimentos envolvendo a tecnologias Java. Para tal segue abaixoalguns critérios que envolvem a anatomia de um sistema usando esses ambientes.Essa anatomia de aplicação bluetooth tem cinco partes (Sun Developer Network,2009): • A pilha de inicialização, • Gerenciamento de dispositivos, • A descoberta do dispositivo, • A descoberta de serviços e comunicação. A pilha de inicialização é responsável por controlar o dispositivo bluetooth. Porisso é necessário inicializar a pilha bluetooth antes de tudo. O processo deinicialização compreende uma série de medidas cujo objetivo é fazer com que odispositivo fique pronto para a comunicação sem fio. A segunda parte da anatomia de uma aplicação bluetooth é o gerenciamentodo dispositivo. A Application Programming Interface (API) Java para bluetooth conteralgumas classes principais que servem no gerenciamento, como a classe LocalDevice que representa o dispositivo, a classe RemoteDevice que representa umdispositivo remoto dentro de uma faixa de alcance e fornece métodos para recuperarinformações sobre o dispositivo, como seu nome e endereço bluetooth. E ainda aclasse DeviceClass que serve para recuperar o tipo de dispositivo e os tipos deserviços (Sun Developer Network, 2009). A terceira parte da anatomia de uma aplicação bluetooth é a descoberta dedispositivos remotos, que permite encontrarem dispositivos e ter acesso às suascapacidades. As classes DiscoveryAgent e DiscoveryListener fornecem serviçosnecessários para essa descoberta (Sun Developer Network, 2009). A quarta parte da anatomia de uma aplicação bluetooth é a descoberta deserviços em dispositivos remotos. Após a descoberta de dispositivos, ocorre aprocura de serviços disponíveis, que nada mais são que aplicação bluetooth que
  39. 39. 38podem realizar uma tarefa especifica. A descoberta de serviços é muito parecidacom a descoberta de dispositivo, logo o uso da classe DiscoveryAgent tambémfornece métodos para descobrir serviços em um servidor de dispositivo bluetooth, epara iniciar as operações de serviços descoberta (Sun Developer Network, 2009). A quinta parte é o serviço de registro. Um serviço antes de poder serdescoberto, deve primeiro ser registrado, ou seja, anunciado em um servidor dedispositivo bluetooth. O servidor é responsável por criar um serviço de registro quedescreve o serviço oferecido, além de adicioná-lo ao SDDB, tornando o serviçovisível e disponível para os clientes em potencial. E por fim o servidor deve aceitaras conexões de clientes em busca de serviços (Sun Developer Network, 2009). Essas características serão revistas e devidamente explicadas no capitulo 4,que faz a análise do sistema desenvolvido.2.4 Computação Ubíqua Santos (2009) propõem uma diferenciação entre os termos computaçãoubíqua e computação pervasiva, classificando como computação pervasiva modeloscom dispositivos com alto grau de acoplamento e baixo grau de mobilidade,enquanto que computação ubíqua seriam os modelos com dispositivos com alto graude acoplamento e alto grau de mobilidade. Contudo afirma que apesar dessaproposta de diferenciação, nota-se que não há uma distinção bem definida ouunânime pela maioria dos autores. Por esse motivo o presente trabalho fará uso dotermo computação ubíqua. A computação ubíqua agrega um novo paradigma computacional baseado emequipamentos de pequeno porte, com poder computacional adequado à sua funçãoe com ampla conectividade a quaisquer outros dispositivos (SANTOS, 2009). Segundo Araújo (2003), a característica primordial da computação ubíqua émover a computação para fora das estações de trabalho e computadores pessoais etorná-la ubíqua a vida cotidiana das pessoas. Jorge Barbosa (2007) afirma que as pesquisas sobre computação móvel eubíqua possuem origem no crescente uso de dispositivos móveis e a ampla difusãode redes sem fio. Sua analise nós leva aos estudos sobre mobilidade em sistemas
  40. 40. 39distribuídos que vêm sendo impulsionados pelo aumento dos dispositivos móveiscomo os celulares, PDA e netbooks aliado ao uso de novas tecnologias de redessem fio como o Wi-Fi, o bluetooth e a rede celular. Araújo (2003) afirma que a convergência das tecnologias de redes sem fio,dos microprocessadores cada vez menores e potentes e dos dispositivos móveispessoais está levando ao conceito de ubiquidade no qual dispositivos inteligentes,móveis e estacionários, coordenam-se entre si para prover aos usuários acessoimediato e universal a novos serviços, de forma transparente, que visam aumentaras capacidades humanas permitindo uma maior produtividade e comodidade. Na computação ubíqua, a computação e seus diversos sistemas podeminteragir com o ser humano a todo o momento, não importando onde ele esteja,constituindo um ambiente altamente distribuído, heterogêneo, dinâmico, móvel einterativo. Nesse modelo, as aplicações precisam se adaptar ao ambiente,compreender o contexto em que estão inseridas e estar disponíveis ao usuário, emqualquer lugar e a qualquer tempo. Além disso, devem manter o acesso à rede e aseu ambiente computacional, independente de dispositivo (ARAÚJO, 2003). Santos (2009) afirma que a computação ubíqua pode representar umaprofunda evolução na área de tecnologia da informação, à medida que entreno cotidiano das pessoas, tornando-se uma tecnologia intrínseca a vida dosindivíduos. Nesse novo paradigma os sistemas irão coletar informações do ambientede acordo com o contexto em que estão embutidos e utilizarão estas informaçõespara construir modelos computacionais específicos. Santos (2009) defende ainda que a expectativa com a computação ubíqua éde que esse quadro se altere drasticamente. Os computadores estarão presentesem qualquer lugar, na cidade, no aeroporto, na floresta ou na praia. Essesdispositivos estarão conectados entre si, formando uma grande rede ubíqua e irãointeragir buscando auxiliar nas atividades das pessoas, instituições e empresas, sejaem tarefas simples como acordar, participar de uma reunião, ou em tarefas maiscomplexas como o monitoramento da saúde de uma pessoa, no controle de estoquede uma grande empresa ou na manutenção de equipamentos. Para isso, há dois pontos chaves na computação ubíqua, o tamanho dessesdispositivos e seu contexto. O tamanho é importante, pois quanto maisimperceptível ao usuário (ou portátil) melhor. O contexto também é importante paraque o objeto saiba com quais outros dispositivos ele pode interagir.
  41. 41. 402.4.1 Computação Consciente de Contexto Segundo Jorge Barbosa (2007) a computação ubíqua vem sendopotencializada pelo uso de informações de contexto. O autor afirma que adisseminação da computação ubíqua ocasionará um impacto significativo emdiferentes áreas de atuação da sociedade. Principalmente ao que se refere àstrocas de informações baseadas em contexto. No cenário das trocas de informações baseadas em contexto apoiada pelacomputação ubíqua, novos pressupostos devem ser pensados, uma vez que osdados podem ser acessados a qualquer momento e em qualquer lugar. O suporteubíquo permite a construção de softwares específicos relacionados com questõesdinâmicas do contexto do usuário (Barbosa, J., 2007). Jorge Barbosa (2007) afirma que a computação consciente do contexto tevegrande impulso com a mobilidade aliada à difusão da comunicação sem fio, o quepermitiu aos serviços computacionais serem disponibilizados em contextosespecíficos. O ambiente controla as aplicações orientadas à informação pertinente,possibilitando que o contexto seja vinculado com o usuário especifico. A informaçãoneste cenário é dinâmica e estão distribuídos em contextos. A computação consciente do contexto se beneficia do uso de informaçõescontextuais para aprimorar a interação com seus usuários. O contexto podedescrever informações sobre localização, dispositivos, perfis de equipamentos e darede, atividades, objetos computacionais e outros. Assim, essa forma decomputação pode ser entendida como aquela em que as aplicações tomamdecisões de acordo com um contexto particular proveniente do ambiente e dasituação em que se encontram (Barbosa, J., 2007). Mas o mais importante é que em um cenário em que a informação encontra-se disponível de forma globalizada, o desafio de um sistema ubíquo não consistesomente em disponibilizar a informação para qualquer pessoa, em qualquer lugar ecom vários formatos, mas principalmente em disponibilizar a informação certa, nomomento certo e da maneira correta (Barbosa, J., 2007). Ao analisar os conceitos de tecnologia bluetooth e computação ubíquapercebesse que existe uma relação muito próxima entre os dois. Nota-se que aoafirmar que a computação ubíqua é voltada a interação de usuários juntamente a
  42. 42. 41ambientes fixos e móveis onde há obtenção de uma informação, processamento damesma e após a disponibilização do resultado ao usuário, fica claro a inter-relaçãoentre eles e a capacidade de utilização dessas tecnologias, principalmente em umambiente dinâmico onde a mobilidade do usuário é o requisito principal e suarevisitação deva ser tratada pelo sistema a fim de melhorar a qualidade do sistema.2.5 Trabalhos Relacionados Como pesquisa relacionada ao assunto, foi revisada uma serie de trabalhoscomo artigos, monografias e teses, a fim de obter um bom referencial bibliográfico. Aseguir serão listados alguns trabalhos que tiveram importância na presentemonografia. A dissertação de mestrado Uma Arquitetura de Conectividade paraDispositivos Móveis na Plataforma JAMP apresentada por Luiz Barbosa aoprograma de pós-graduação em ciência da computação da universidade de SãoCarlos no ano de 2006 trata da criação de um framework de conectividade numambiente Java e bluetooth, onde um dispositivo móvel faz uso de serviços presentesem um computador desktop remoto usado como ponto de acesso. Esse trabalhoserviu de base teórica e referencial para o estudo das tecnologias Java e bluetooth.Além de importante fonte de material que relaciona computação ubíqua e bluetooth. Outro trabalho que aborda sobre o assunto é Sistema de Gerenciamento deRedes e Processos Através de Computadores Portáveis via bluetooth, apresentadapor Anelise Godolphim Sacks ao programa de graduação em ciência da computaçãoda universidade federal do Rio de Janeiro no ano de 2003. O trabalho serviu paraembasamento teórico sobre tecnologias usadas para comunicação ponto a pontoentre dispositivos móveis e servidores. Abordando conceitos como protocolo,transferência e armazenamento de informações. O trabalho serviu de base para oreferencial bibliográfico relacionado ao bluetooth, seus protocolos e infra-estrutura.Por fim, mas não menos importante, faz-se referência ao trabalho UtilizandoDispositivos Móveis e Bluetooth para Aplicação de Avaliação em Meio Digital deLeydson Pontes Ferreira apresentado como parte dos requisitos para a obtenção doTítulo de bacharel em engenharia de computação, pela universidade federal do Rio
  43. 43. 42Grande do Norte. No trabalho o autor faz uso da tecnologia bluetooth e Java emmeio móvel, agregado funções a um ambiente de ensino à distância. O ambienteusado foi muito semelhante ao trabalho atual por fazer uso do Windows juntamentecom Bluecove do lado do servidor desktop e fazer uso do Connected Limited DeviceConfiguration (CDLC), Mobile Information Device Profile (MIDP) e JSR-82 do lado docliente móvel. O trabalho se diferencia dos demais por abordar um ambiente muitoparecido com o projeto o qual se deseja implementar, além de ter uma boaqualidade bibliográfica e exemplos muito bem descritos dos fontes.
  44. 44. 433 DESENVOLVIMENTO PRÁTICO Este capítulo tem como objetivo demonstrar como foi desenvolvida aaplicação que faz uso do bluetooth para consulta de dados em um contextoeducacional.3.1 Tecnologias Empregadas Desenvolver aplicações móveis baseadas em contexto consiste em projetar,desenvolver e implementar softwares dentro de um contexto onde eles possam setornar válidos. Para concretizar e fundamentar o estudo se desenvolveu umainterface de apoio capaz de permitir o acesso a informações por meio de dispositivosmóveis e com o uso do protocolo bluetooth. Com isso se pretende disponibilizar umaopção de consulta móvel a informações tidas como pertinentes em um ambienteeducacional, o que permitirá ao aluno fazer consulta a uma base de dados, emqualquer lugar, desde que dentro da área de cobertura da tecnologia bluetooth, enão apenas através de um desktop e uma rede fixa. A aplicação construída temcomo objetivo demonstrar na prática como funciona o protocolo de transferência ecomunicação sem fio bluetooth entre dispositivos móveis e servidores de dados.Assim como fazer uma demonstração de uso dos principais recursos e tecnologiasenvolvidas no projeto. Diversas ferramentas podem ser usadas como solução para programação dedispositivos móveis usando bluetooth e Java. De um modo geral, as tecnologiasenvolvidas no projeto podem ser divididas em tecnologia para o cliente e tecnologiapara o servidor. A tabela 4 retrata o ambiente escolhido para o projeto. Tabela 4: Ambiente de desenvolvimento do projeto Sistema Windows 7 Domínio de mercado, versão com winsock.Linguagem Java Melhor opção para trabalhar com bluetooth. IDE NetBeans Excelente desempenho, livre.API ligação Bluecove Permite uso do bluetooth em desktopsDispositivo Celulares Devem possuir bluetooth e suportar Java Móveis
  45. 45. 44 A escolha pelo sistema operacional da Microsoft Windows 7 se deve pelo fatodeste possuir a pilha de protocolo bluetooth conhecida por Microsoft BluetoothWinsock que liga o sistema operacional ao dispositivo de rádio bluetooth, a mesmapresente no sistema operacional Windows XP com Service Pack 2 (SP2). Alinguagem de programação Java para implementar a comunicação bluetooth entre oservidor e o cliente, juntamente com a Integrated Development Environment (IDE) deprogramação NetBeans, e por fim a biblioteca que permite uso do Java com obluetooth no ambiente desktop, o Bluecove. A figura 6 apresenta uma visão geral doambiente proposto. Figura 6: Visão geral do ambiente A típica pilha de protocolos bluetooth para desenvolvimento Java do lado doservidor pode ser visto na figura 7 abaixo.
  46. 46. 45 Figura 7: Visão geral de camadas envolvidas no servidor bluetooth Fonte: Adaptado de Luiz Barbosa (2006) A figura 7 exemplifica a divisão do protocolo, bem como as tecnologiasusadas no projeto do lado do servidor. As camadas de baixo são desenvolvidas emhardware e firmware, enquanto as camadas acima são desenvolvidas em software.Na camada de rádio bluetooth foi usado um adaptador USB bluetooth V2.0 modeloES-388 do fabricante Cambridge Silicon Rádio Ltd. O sistema operacional usado foio Windows 7. Presente no ambiente existe ainda a biblioteca Bluecove versão 2.1.0,ligando a pilha winsock do sistema à linguagem de programação Javaimplementando partes do framework Java Specification Requests 82 (JSR-82) paraambientes desktops. Na verdade só podemos fazer uso do bluetooth em umambiente desktop porque o Bluecove implementa a API JSR-82, além disso seu usodepende da pilha oferecida pelo sistema operacional, permitindo uma comunicaçãoentre um servidor e um cliente (GOELZER, 2006). A linguagem de programação escolhida foi a Java, em suas versões Java 2Micro Edition (J2ME) para o aplicativo cliente e Java 2 Standard Edition (J2SE) parao sistema servidor, juntamente com o ambiente de desenvolvimento Java SEDevelopment Kit (JDK) 5.0 e por fim o IDE de desenvolvimento Netbeans 6.8 paraconstrução dos aplicativos.
  47. 47. 463.1.1 Java Buscando por uma linguagem de programação para dispositivos móveis,constatou-se que uma das melhores opções seria a utilização da linguagem Java,pelos seguintes fatores: portabilidade independe de marcas, modelos ou sistema;suporte a sistemas distribuídos; relativa velocidade de desenvolvimento e facilidadede programação; o custo, já que o Java é uma linguagem livre e a grandequantidade de IDEs e APIs para os desenvolvedores. Luiz Barbosa (2006) relata a divisão da plataforma de desenvolvimento Javaem três grupos, tendo como enfoque o tipo de ambiente para o qual se desejadesenvolver: • O Java Enterprise Edition (J2EE) é a plataforma Java voltada paradesenvolvimento em redes, como a internet e intranets. Contém bibliotecasespecialmente desenvolvidas para o acesso a servidores, a sistemas de e-mail, abanco de dados. • O Java Standard Edition (J2SE) é o ambiente de desenvolvimento voltadoa estações de trabalho, como computadores desktops e notebooks. Esse é oambiente utilizado para implementar o programa servidor. • O Java 2 Micro Edition (J2ME) é o ambiente de desenvolvimento paradispositivos móveis ou portáteis, como PDA, telefones celulares e smartphones. Foiutilizado para implementar o programa cliente. Para fazer uso da linguagem de programação Java, num ambiente do desktopcom uso do sistema Windows, utilizou-se um ambiente integrado paradesenvolvimento de software (IDE) conhecido como Netbeans, em sua versão 6.8. Oambiente permite uma abstração no desenvolvimento de sistemas usando comobase a linguagem Java. Sua escolha se deve pelo fato de ser uma das melhorestecnologias livres para programação de softwares. Para criação e testes no ambiente J2ME fez-se uso do Java Wireless Toolkit(WTK), um conjunto de ferramentas, desenvolvido pela Sun Developer Network(SUN), para criação de aplicações Java para dispositivos portáteis, e que contémferramentas para criação de aplicações, utilitários e um emulador de dispositivosmóveis. Por razões desconhecidas, o emulador não se comportou da maneiraesperada, portanto os testes foram feitos em meio real através do telefone celularNokia modelo 5130, que oferece suporte ao Java e bluetooth.
  48. 48. 473.1.2 JSR-82 O Java Specification Requests 82 (JSR-82) é um documento que descreve asespecificações para o uso do J2ME com o bluetooth. Definido pelo Java CommunityProcess (JCP) como um processo onde os interessados na tecnologia possam seenvolver nas futuras versões e funcionalidades, para fornecer um padrão paradesenvolvimento de aplicações bluetooth em Java. É um padrão aberto e nãoproprietário para o desenvolvimento de aplicações bluetooth. A API JSR-82 oculta a complexidade do protocolo bluetooth atrás de umconjunto de APIs Java que permite emulação de porta serial (POVOA, 2005). Poresse motivo, fez-se uso no presente trabalho. Para desenvolver um aplicativo em Java e bluetooth utilizando a JSR-82,precisa-se possuir ainda de uma pilha bluetooth. Que pode ser um ambientesimulado como o WTK, ou uma pilha bluetooth real para o Java, como o Bluecove. Se estiver sendo usado um simulador, não será necessário o uso dedispositivos bluetooth reais. Caso contrário, para testar a sua aplicação no mundoreal, através de uma pilha bluetooth Java, precisa-se de um dispositivo com sistemabluetooth. Isso pode ser um dongle bluetooth USB conectado a um computador, ouum dispositivo com bluetooth interno, como a maioria dos celulares modernos (SunDeveloper Network, 2009).3.1.3 Bluecove O Bluecove é uma biblioteca J2SE para bluetooth, uma implementação doJSR-82 para uso em desktops que possuam o sistema operacional Windows XPcom Service Pack 2 (SP2), utilizem o Windows 7, ou ainda algum outro sistemaespecificado pelo desenvolvedor. Foi escolhido por ser gratuito e possuir uma versãoconsiderada estável, que implementa os principais protocolos bluetooth, comoRFCOMM, L2CAP, SDP e OBEX, e ainda perfis como o GAP, SDA e SPP A figura 7abaixo mostra a pilha completa de protocolos usados no presente trabalho.
  49. 49. 48 Figura 8: Diagrama da pilha bluetooth com Java e Bluecove Fonte: BLUECOVE (2010) Na figura 7 vêem-se os protocolos envolvidos, onde a camada abaixo éformada pelo hardware bluetooth, apresentado no trabalho como o dongle USB epelos protocolos envolvidos e citados acima. A camada intermediaria é formada pela parte de software do sistemaoperacional e a pilha bluetooth que implementa os protocolos HCI, L2CAP,RFCOMM e SDP, ligando o hardware de rádio com o sistema operacional. Essacamada intermediaria depende do sistema operacional usado. Neste caso oWindows 7 com stack winsock, uma pilha bluetooth disponível para windowsdesenvolvida na linguagem C. Para que o Bluecove, desenvolvido em Java, tenhauma integração com essa pilha desenvolvida em C utilizou-se Java Native Interface(JNI), uma tecnologia que possibilita aplicações Java utilizarem códigos nativos emlinguagem C. A camada superior é formada pela biblioteca Bluecove que implementafunções do bluetooth com o J2SE, dependendo da pilha stack winsock oferecidajunto ao sistema operacional. E por fim, no topo do diagrama, o aplicativo base do trabalho, neste caso oservidor responsável por disponibilizar um serviço ao aplicativo cliente.
  50. 50. 494 ANÁLISE DO SISTEMA DESENVOLVIDO Não é objetivo de esse trabalho fazer um estudo comparativo detecnologias, marcas, padrões e protocolos envolvidos em computação móvel. Massim apresentar a possibilidade e viabilidade de desenvolvimento de um ambiente deconsulta usufruindo de uma tecnologia ainda pouco usada por pessoas portadorasde dispositivos móveis, o bluetooth. Logo, neste trabalho, o enfoque principal foidado à tecnologia bluetooth e aos processos que dela decorrem. Assim, a aplicaçãoprática teve como objetivo se aprofundar nos temas estudados e assim validar o quefoi estudado. O ambiente do sistema é formado basicamente por um servidor e um ou maisclientes. Para que a aplicação desenvolvida funcione corretamente será necessárioque o cliente e o servidor atendam alguns requisitos de software e hardware. Assim, o cliente, representado por dispositivos móveis como um celular,deverá possuir a plataforma J2ME Connected Limited Device Configuration (CLDC),o perfil MIDP 2.0 e a API do bluetooth com Java JSR-82 presente no dispositivo.Geralmente aparelhos com bluetooth vindo de fábrica já possuem esse suporte. Do lado do servidor foi utilizado um notebook, com dispositivo adaptadorbluetooth dongle USB. E como já mencionado acima, o sistema operacional devedar suporte a uma pilha de implementação bluetooth, assim, foi utilizado o Windows7, por possuir uma pilha que pode ser utilizada junto ao Bluecove. A partir das tecnologias já tratadas acima, e tendo como base as concepçõese especificações das mesmas, programou-se um sistema de apoio ao acesso ainformações relativas ao ambiente educacional dos discentes de uma instituiçãofictícia, com uso da tecnologia de redes sem fio bluetooth. Especificamente, umaconsulta de notas das disciplinas de um determinado aluno. O sistema tem como objetivo verificar a possibilidade e viabilidade de sefornecer mais uma opção de acesso a informações a um ambiente de consultaacadêmico, fazendo uso de uma tecnologia pouco utilizada para essa tarefa, mas quese encontra disponível na maioria dos dispositivos móveis, o bluetooth. O sistema deve permitir que um discente possa fazer uma consulta rápida asuas notas mesmo quando não estiver a sua disposição um computador conectado a

×