Por que eu devo ler este artigo:

A comunicação Bluetooth é uma forma de comunicação sem fio muito utilizada entre dispositivos portáteis, seja pelo baixo consumo de energia ou pela grande variedade de dispositivos móveis que possuem este recurso. Para entender como funciona a comunicação bluetooth alguns conceitos são importantes, como a comunicação cliente-servidor, procura de servidores e serviços, troca de informações via fluxos (Stream), comunicação multithread, entre outros. No estudo de caso apresentado neste artigo muitos destes conceitos são apresentados, e ao final, o programa pode ser testado em diferentes aparelhos Android.

Assim, este artigo apresenta os fundamentos da comunicação bluetooth aplicados à plataforma Android. De maneira simples e didática, os fundamentos da programação bluetooth são apresentados ao leitor. Na sequência, um estudo de caso sobre a comunicação bluetooth na plataforma Android é apresentado, exemplificando conceitos como cliente-servidor, disponibilização de serviços, busca de servidores, conexão e envio e recepção de dados.

Este artigo é útil para programadores que ainda não possuem conhecimentos técnicos sobre a comunicação bluetooth, e que desejam utilizar em seus aplicativos a troca de informações entre smartphones ou até mesmo entre smartphones e outros dispositivos portáteis bluetooth.

Bluetooth é uma tecnologia sem fio usada para conectar e transmitir dados entre dispositivos em rede pessoais (chamadas de Personal Area Networks - PANs). Com um alcance máximo de até 100m e velocidades de transmissão que podem se aproximar de 24 Mb/s, o bluetooth é um o padrão em comunicação de curta distância.

Celulares, smartphones, câmeras digitais, teclados, mouses e outros dispositivos adotaram a tecnologia por ser robusta, economizar energia e ter uma fácil implementação. Um dispositivo operando bluetooth pode se conectar com até oito outros dispositivos, que o torna uma ótima opção para uma rede de dispositivos móveis. O bluetooth surgiu como resposta para a necessidade de conectar dispositivos sem a utilização de cabos, visando a econômica de energia, a fácil operação e a comodidade.

Em 1994, a empresa Ericson iniciou um projeto para a eliminação dos cabos que conectavam os diversos periféricos dos telefones celulares. A ideia era utilizar ondas de rádio de baixa frequência para conectar os diferentes dispositivos.

A tecnologia originada pelo projeto da Ericson foi batizada de MCLink e surpreendeu por ser relativamente barata e de fácil implementação, o que contribuiu muito para o desenvolvimento do projeto que logo recebeu o apoio de outras empresas.

Mais tarde, a tecnologia recebeu o nome de bluetooth em homenagem ao rei dinamarquês Harold Blatand (em inglês - Harold Bluetooth), que unificou as tribos da Noruega, Suécia e Dinamarca. Foi utilizado o aspecto da unificação das nações para fazer uma referência a unificação dos dispositivos.

Em 1998 foi formado o consorcio BSIG (Bluetooth Special Interest Group) que iniciou as especificações industriais do bluetooth. A formação inicial do grupo pelas empresas Nokia, Ericson, IBM, Toshiba e Intel, facilitou ao projeto receber cada vez mais aceitação e apoio da comunidade tecnológica.

Funcionamento técnico do bluetooth

O bluetooth utiliza ondas de rádio de baixa potência, operando em frequências que vão de 2.4Ghz a 2.5 Ghz, na faixa de frequência conhecida como ISM (Industrial, Scientific, Medical). O uso da baixa potência aumenta a economia de energia das baterias e limita o alcance a um máximo de 100m.

A tecnologia é dividida em três classes levando em conta o alcance das ondas de rádio:

  • Classe 3 de 1 MW de potência: Alcança distâncias de até 1m;
  • Classe 2 de 10 MW potência: Alcança distâncias de até 10m;
  • Classe 1 de 100 MW potência: Alcança distâncias de até 100m.

Cada dispositivo possui uma classe de operação, que deve ser observado no momento de sua compra.

Existe também o conceito de Bluetooth Wireless Personal Area Network(BT-WPAN) que é o nome dado a área onde dispositivos bluetooth formam um rede. Uma BT-WPAN consiste de Piconets e Scatternets.

Uma piconet consiste de um conjunto de até oito dispositivos conectados, onde o dispositivo que iniciou a conexão é marcado como mestre e os demais como escravos. Duas piconets podem se conectar através de dispositivos comuns em ambas as redes, sendo a única restrição que estes dispositivos não sejam os mestres de suas piconets. Esta união de piconets recebe o nome de Scatternet, conforme exemplificado na Figura 1.

BT-WPAN
Figura 1. BT-WPAN

A tecnologia utiliza conexões ponto-multiponto onde o nó mestre é o controlador da rede. O nó mestre é o responsável por organizar a comunicação na piconet, sincronizando o clock entre os dispositivos conectados e calculando um padrão de frequency hopping. Os nós escravos se conectam somente com o nó mestre, não havendo conexão direta entre eles.

Outros dispositivos utilizam a mesma banda de frequência do bluetooth e para evitar interferência e garantir uma transmissão fim-a-fim segura, a tecnologia utiliza um mecanismo de alteração de frequência (frequency hopping). O mecanismo consiste em alterar a frequência de utilização em até 1600 vezes por segundo, gerando saltos na banda de frequência ISM. Os dispositivos sincronizam o padrão de saltos e se comunicam na mesma frequência.

As transmissões ocorrem no modo Full Duplex, onde os dispositivos transmitem e recebem dados por um esquema de divisão de tempo chamado TDD (Time Division Duplex).

Protocolos

A pilha de protocolos Bluetooth é dividida em três partes:

  • Camada de Transporte;
  • Camada Middleware;
  • Camada de Aplicação.

Os protocolos de transporte são responsáveis por localizar os dispositivos e gerenciar os links físicos e lógicos entre eles. Suportam tanto conexões síncronas quanto assíncronas e englobam as camadas de rádio frequência (RF), Baseband, Link Manager, Logical Link Control and Adaptation (L2CAP).

Os protocolos de Middleware são responsáveis por permitir a interação entre aplicações antigas e novas. Padrões como Point-toPoint Protocol (PPP), Wireless Application Protocol (WAP), Internet Protocol (IP),Trasmission Control Protocol (TCP) fazem parte desta camada.

A camada de aplicação faz referência aos aplicativos que podem usufruir da especificação bluetooth. A Figura 2 representa a pilha de protocolo bluetooth.

Pilha de protocolo Bluetooth
Figura 2. Pilha de protocolo Bluetooth

A seguir, uma rápida apresentação de cada sigla apresentada na figura:

  • RF ou RFCOM: Protocolo que habilita a comunicação serial através da emulação de portas na camada L2CAP;
  • Baseband: Controlador de Link - define conexão, endereçamento, formato dos pacotes, temporização e potência;
  • Link Manager: Define aspectos de segurança e gerencia os links entre os dispositivos;
  • Áudio: Para manter alta qualidade de serviço esperado para aplicações de áudio, o tráfego do mesmo é tratado como alta prioridade e é direcionado diretamente para a baseband, o qual é transmitido em pequenos pacotes diretamente para interface RF;
  • L2CAP: Responsável pela transparência de comunicação dos diferentes dispositivos;
  • TCP/IP: Protocolo já conhecido por muitos, pois é utilizado pela internet para a transmissão confiável de dados;
  • HID: Human Interface Device Profile é um perfil que define protocolos, procedimentos e características para utilizar dispositivos Bluetooth como teclados, controle de jogos ou dispositivos para monitoramento remoto;
  • RFCOM: Protocolo que habilita a comunicação serial através da emulação de portas na camada LLCAP;
  • Aplicação: A camada de aplicação consiste das próprias aplicações que utilizam links Bluetooth, estas podem incluir aplicações legadas ou aplicações orientadas a Bluetooth. Enquanto a maioria dos protocolos de rede fornece apenas canais entre entidades que se comunicam, deixando para os projetistas de aplicações a tarefa de descobrir a utilidade desses canais, a especificação Bluetooth identifica 13 aplicações específicas e fornece pilhas de protocolos para que os fabricantes usem os recursos Bluetooth de uma maneira compatível, garantindo assim a interoperabilidade entre os fabricantes.

Especificações

O BSIG é o responsável por padronizar as especificações bluetooth. Desde 1998 o grupo vem aperfeiçoando a tecnologia e lançando novos recursos com versões mais atuais.

A primeira versão do Bluetooth, a 1.0, foi publicada em junho de 1999 e tinha a capacidade de conectar somente um dispositivo por vez e uma taxa de transferência de 1Mbs compartilhada entre dados e voz. Meses depois foi lançada a versão 1.0b com algumas correções críticas.

A versão 1.1 foi a primeira a ser retificada como padrão IEEE recebendo a especificação número 802.15.1-2002, adicionou suporte a canais não encriptados e um indicador da força do sinal.

A especificação 1.2 foi a primeira a implementar o mecanismo de Frequency Hopping, além de aumentar as taxas de transferência de dados e adicionar alguns mecanismos para melhorar a qualidade no canal de voz. Foi retificada como o padrão IEEE 802.15.1-2005.

A especificação 2.0 implementou o EDR (Enhanced Data Rate), um mecanismo que possibilitou taxas de transferência de até 3 Mbs utilizando uma tecnologia de rádio aprimorada. A economia de energia passou a ser implementada também nas camadas de hardware dando uma melhor autonomia da bateria aos dispositivos.

A versão 2.1 possui mecanismos mais rápidos e confiáveis para auxiliar na descoberta de dispositivos operando bluetooth. Implementa também um mecanismo de economia de energia que reduz o consumo de energia quando o dispositivo está procurando por conexões ativas.

...
Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo