Histórico

O histórico abaixo refere-se às principais mudanças ocorridas no protocolo Bluetooth ao longo dos anos.

  • 1998:Lançado a primeira especificação do Bluetooth.
    • Especificava faixa de frequência
    • Definia protocolo de gerenciamento de link
  • 1999:
    • Adicionado especificação de Radio
    • tecnologia da camada de transporte
    • Interoperabilidade com IrDA
    • Protocolo de descobrimento de serviço
    • Controle de Telefone
  • 2003
    • Conexão mais rápida
    • Espalhamento espectral por salto de frequência adaptativo
    • Fluxo de controle e detecção de erro melhorados
    • Capacidade de sincronização melhorado
  • 2007
    • Pausa e resumo encriptado
  • 2009
    • Melhoramento em grande parte dos seus protocolos da camada de transporte
    • Protocolo de camada de adaptação 802.11
  • 2010
    • Operação em baixa energia melhorada

Introdução

Bluetooth é uma tecnologia de comunicação sem fio de curto alcance elaborado para ser simples e seguro. Seu principal motivo de criação foi substituir os cabos de conexão entre os periféricos mantendo um alto grau de segurança., também define um padrão de estrutura de comunicação uniforme que permite que diversos dispositivos de aplicações diferentes conversem entre si.

Suas principais características é:

  • Robustez
  • Baixo custo
  • Baixo consumo


Quando um dispositivo com Bluetooth se conecta a outro, esse processo é chamado pareamento. A estrutura da tecnologia Bluetooth permite que qualquer dispositivo seja capaz de parear com outro dispositivo dentro do campo de proximidade, mesmo sendo de tipos diferentes. Esses pareamentos permitem aos dispositivos se comunicarem em um tipo de rede chamada piconet que são do tipo Ad Hoc.


As piconets podem ser estabelecidas de maneira dinâmica e automática conforme os dispositivo pareados entrem no campo de proximidade um do outro.

Cada dispositivo pode se conectar a outros 7 dispositivos na mesma piconet como também cada dispositivo pode pertencer a várias redes piconets simultaneamente. Permitindo uma combinação quase ilimitada.

O Bluetooth permite tratar tanto de dados quanto de voz de maneira personalizada, tornando capaz de ser aplicado em chamadas de celular por fone sem fio, impressão e fax e sincronização com outro pc e celulares.

A área de cobertura de uma rede Bluetooth é especifica para cada aplicação. O documento oficial determina um alcance mínimo de 10 metros, mas na pratica cada fabricante decide qual o alcance necessário para o seu dispositivo

Há duas forma de se implementar a tecnologia Bluetooth: Basic Rate (BR) e Low Energy (LE). Ambas as tecnologias incluem a descoberta de dispositivos e mecanismos de estabelecimento de conexão.


Espectro

Essa tecnologia funciona na banda de 2.4 a 2.485 GHz que de acordo com o documento oficial da anatel é a faixa de Aplicações Industriais, Científicas e Médicas (ISM). Utiliza espalhamento espectral por salto de frequência adaptativo, comunicação full-duplex com taxa de 1600 saltos/segundo.

Interferência

O espalhamento espectral por salto de frequência adaptativo (AFH) é utilizado na tecnologia Bluetooth para reduzir a interferência entre as tecnologias wireless que compartilham o espectro de 2.4Ghz. O AFH trabalha dentro de todo o espectro de frequência para tomar vantagem das frequências inutilizadas. Isso é feito detectando todos os outros dispositivos trabalhando nessa banda e então escolhendo uma frequência cujo os outros dispositivos não estão utilizando. Esse salto adaptativo pode ser feito com 79 frequencias nesse espectro dando ao sistema uma grande imunidade a interferência e também uma transmissão com utilização eficiente do espectro. O

AFH permite ao bluetooth um bom desempenho mesmo que outras tecnologias estejam operando na mesma faixa.

Alcance

O alcance da rede é determinada pelo fabricante apesar da especificação definir um tamanho mínimo de 10 metros.

O alcance pode variar de acordo com a classe do radio utilizado o dispositivo:

  • Classe 3: Um pouco maior que 1 metro
  • Classe 2: alcance de 10 metros ( maioria dos dispositivos celulares)
  • Classe 1: alcance de 100 metros ( aplicações industriais)

Consumo

A tecnologia bluetooth foi projetada para consumir pouca energia. Desta forma habilita regras como desligamento do radio quando inativo e ligamento do radio somente quando detectado dispositivos no campo próximo.

A classe mais utilizada que é a 2 usa de 2 a 2.5mW de potência.

Terminologia e Arquitetura

Arquitetura

Existe duas formas básicas de sistemas Bluetooth: Basic Rate (BR) e Low Energy (LE). Ambos os sistemas permitem descobrimento de dispositivos e estabelecimento de conexões.

Os Sistemas Basic Rate possuem:

  • Transferência de dados melhorada (Enhanced data rate – EDR)
  • Controle de acesso a mídia (Media Access Control – MAC)
  • Extensões de camada física (Physical – PHY)
  • Transferência síncrona e assíncrona

O modo basic rate oferece taxa de dados de acordo com a tecnologia empregada

  • Basic Rate – 721.2 kbps
  • EDR – 2.1 Mbps
  • Operação em alta velocidade 802.11 AMP – 24 Mbps

Os sistemas de Baixa energia (LE) ao contrário dos BR são elaborados para serem acoplados em sistemas com necessidade de baixo consumo de energia, baixa complexidade e baixo custo. O sistema LE também foi feito para aplicações que necessitam de baixa transferência de dados e pequenos duty cicles.

O coração do sistema bluetooth consiste de um host e um ou mais controladores. O Host é uma entidade lógica definida acima das interfaces controladoras de Host (HCI). Há dois tipos de controladores no sistema bluetooth, os primários e os secundários.

Um sistema bluetooth possui apenas um sistema controlador primário que pode ser qualquer um destes:

  • Controlador BR/EDR com radio, banda base, gerenciador de link e HCI adicionais
  • Controlador LE com LE PHY, camada de link e HCI adicionais
  • Controlador combinado BR/EDR LE.

Um sistema pode ter um ou mais controladores secundários, sendo estes:

  • Controlador Alternate MAC/PHY (AMP) com suporte a 802.11 Protocol Adaptation Layer, 802.11 MAC and PHY
  • HCI adicionais

A arquitetura do coração do sistema encontrasse resumidamente abaixo

Operação BR/EDR

Os sistemas BR/EDR operam na zona de 2.4 GHz com um transceptor que implementa espalhamento espectral com salto em frequências com taxa de 1Megasimbolo/segundo permitindo uma taxa de 1Mbps para Basic, ou 2Mbps e 3Mbps usando EDR.

Em operação normal, o canal de radio é compartilhado com um grupo de dispositivos que estão com os seus clocks sincronizados e com o mesmo padrão de salto de frequência. O dispositivo que fornece a referencia de sincronização é chamado de Master, todos os outros que seguem o clock do máster são chamados de slave. Este grupo de dispositivos compartilhando mesmo clock e padrão de salto formam uma piconet.

Os dispositivos na piconet seguem o mesmo padrão de salto em frequência, mas precisamente, são 79 canais para saltos espaçados de 1MHz na ISM. O padrão de salto pode ser adaptado para excluir frequências conflitantes com outros dipositivos que coexistem nesta faixa, como o wifi.

O canal físico é subdividido em unidades de tempo chamadas de SLOTSs que servirão para transmissão de dados. O efeito de comunicação full-duplex é obtida utilizando esquema Duplex de divisão no tempo.

Acima da camada física há uma camada de links, canais e protocolos de controle associados.

Dentro de um canal físico, um link físico é feito entre o máster e o slave permitindo a transmissão de pacotes de forma bidirecional.

Não é qualquer dispositivo que pode fazer um link físico, visto que pode haver múltiplos slaves em uma piconet. Há sempre um link físico entre um slave e o máster, um slave não pode fazer um link físico com outro slave na mesma piconet.

Operação LE

Assim como o BR/EDR, o LE operam na zona de 2.4 GHz com um transceptor que implementa espalhamento espectral com salto em frequências com taxa de 1Mbps apenas.

Os sistemas LE implementam duas formas de múltiplo acesso, o FDMA e o TDMA.

Para o FDMA há canais separados de 2MHz. 3 canais são utilizados para sinalização e os outros 37 para dados.

Para o esquema TDMA é usado um tempo determinado para se transmitir os dados e um tempo correspondente para o dispositivo responder aos dados.

O canal físico é subdividido em unidades de tempo chamadas de EVENTOS.

Operação AMP

Alternate MAC/PHY são controladores secundários da tecnologia bluetooth. O radio BR/EDR, do controlador primário, é utilizado para descobrir, associar, conectar e gerenciar os dispositivos bluetooth. Uma vez que a conexão é estabelecida entre os dois dispositivos BR/EDR, os gerenciadores de AMP do dispositivo pode descobrir quais são os AMPs que estão disponíveis no outro dispositivo. Quando é encontrado AMPs em comum entre os dois dispositivos, o sistema de controle do dispositivo move todo o trafego de dados para os controladores AMP.

Cada AMP consiste de um protocolo de adaptação de camada, do MAC e do PHY.

Arquitetura do Transporte de dados

A arquitetura bluetooth segue uma estrutura de camadas para transporte de dados, sendo 5 camadas distintas:

Para maior eficiência, a arquitetura bluetooth faz uma sub-divisão da camada lógica em logical link e logical transport. Esta distinção provê um conceito mais geral do logical link de forma que ele é independente do transporte entre os dois dispositivos.

Uma visão mais completa da estrutura de camadas do bluetooth encontrasse na imagem abaixo

Terminologia

Protocolos principais

  • Bluetooth Radio — controla a interface com o ar, os saltos de frequencia, modulação e potência de transmissão
  • Baseband — controla o formato do pacote, clock, controle de energia e estabelecimento de conexão na piconet
  • Link Manager Protocol (LMP) — Controla a negociação de tamanho de pacote da Baseband, e estabelece e gerencia um link entre os dois dispositivos
  • Logical Link Control and Adaptation Protocol (L2CAP) — Adapta as informações das camadas superiores para os da banda base. Pode trabalhar da forma orientada a conexão ou não
  • Service Discovery Protocol (SDP) — Controla e descobre quais os serviços em comum entre os dois dispositivos

Outros protocolos

  • RFCOMM - O bluetooth utiliza o Radio frequency communications (RFCOMM) como forma de emular uma comunicação serial RS-232 sem fio. Desta forma o bluetooth é capaz de substituir comunicações entre dispositivos que antes eram apenas feitas através de cabos.
  • Telephony control protocol-binary (TCS BIN) - protocolo responsável por controlar a sinalização das chamadas de voz e dados entre dispositivos bluetooth
  • Protocolos de adaptação - definidos por outras organizações que não o bluetooth.org e são incorporados a pilha de protocolos. Esses protocolos são responsáveis por criar níveis de abstrações que permitem comunicações do tipo
  • Point-to-Point Protocol (PPP) — Protocolo padrão da Internet para transportar datagramas de IP sobre um link ponto-a-ponto
  • TCP/IP/UDP
  • Object Exchange Protocol (OBEX)
  • Wireless Application Environment / Wireless Application Protocol (WAE/WAP) — WAE especifica um framework de aplicação para dispositivos sem fio e WAP em um padrão aberto para fornecer acesso a telefonia e serviçõs de informação aos usuários de "mobiles".

Coração do Sistema

Especificação de Radio

O Bluetooth opera na área não licenciada de 2.4GHz utilizando saltos de frequência para combater a interferência e o desvanecimento. Duas modulações são definidas, todas utilizando transferência de 1Ms/s:

  • Basic Rate: Modulação FM binaria GFSK (Gaussian frequency Shift Keying). Desvios positivos é o binário 1 e desvios negativos é o binário 0.

  • EDR: PSK, podendo ser ?/4-DQPSK gerando uma taxa de 2Mbps ou 8DPSK gerando uma taxa de 3Mbps

Especificação de Banda Base

O bluetooth permite uma comunicação ponto-a-ponto ou ponto-multiponto.

Em ambas as conexões, os dispositivos compartilham um único canal físico. Dois ou mais dispositivos compartilhando o mesmo canal formam uma piconet. Em um canal pode haver apenas um dispositivo máster e até mais de 7 slaves ativos, pode também haver muitos outros slaves no estado estacionado. Um dispositivo estacionado não possui comunicação ativa, mas mantém-se sincronizado com o máster e pode se tornar ativo sem a necessidade de configuração de uma nova conexão

Cada piconet possui apenas um dispositivo máster, entretanto um dispositivo slave pode participar de várias piconets. Um dispositivo máster de uma piconet pode ser slave de uma outra rede.

É importante salientar que as várias piconets não podem ser sincronizadas entre si e cada uma deve ter sua própria sequencia de salto.

Pacotes de dados

  • Basic Rate

  • EDR

Canal físico

Camada mais baixa da arquitetura bluetooth. Existem 4 tipos de canais físicos, cada um caraterizado por diferentes frequências de salto, código de acesso, temporização de slot e codificação de cabeçalho. Link Físico

Representa uma conexão banda base entre os dispositivos. Um link físico é sempre associado a um único canal físico e são caracterizados por terem controle de potência, supervisão de link, encriptação, Link Manager protocol e outros.

Transporte Logico

Entre o dispositivo máster e o slave pode haver 5 formas de transporte lógico

  • Transporte lógico orientado a conexão síncrona (SCO)
  • Transporte lógico orientado a conexão síncrona extendida (eSCO)
  • Transporte lógico orientado a conexão assíncrona (ACL)
  • Transporte lógico de broadcast de slave ativo (ASB)
  • Transporte lógico de broadcast de slave estacionado (PSB)

O LMP é usado para controlar e negociar todos os aspectos de operação das conexões entre dispositivos

Bluetooth hoje

Tecnologia automotiva

  • Chamadas no estilo Handsfree
  • Streaming de musica
  • PC e tablete Tethering
  • Navegação
  • Sensor de proximidade
  • Diagnóstico do carro

Tecnologia para usuário final

  • Controle remoto
  • Óculos 3D
  • Relógios inteligentes

Smart Homes Capacidade de controlar a luz, fogão, chuveiro, geladeira, tvs, radio, certificar que as portas e janelas estão fechadas Fornecedores

Ferramentas de Analise

No sistema linux Fedora é possível debugar uma rede bluetooth utilizando o pacote bluez-hcidump. Esse pacote fornece os seguintes programas:

  • Hcitool
  • Hciconfig
  • hcidump

hcitool

Capaz de procurar e configurar conexões bluetooth. Um exemplo de utilização do comando é utilizando a opção inq para vasculhar os dipositivos perto. Ele retorna a classe, o clock e o MAC address do dispositivo

  • hcitool inq
Inquiring ...
	94:00:70:41:2E:F3	clock offset: 0x2dae	class: 0x5a0204


Outra opção é a scan, que retorna o nome do dispositivo

  • hcitool scan
Scanning ...
       94:00:70:41:2E:F3	Nokia 303

A opção info retorna todas as informações do dispositivo

  • hcitool info
 BD Address:  C8:AA:21:3A:54:69 
	OUI Company: Motorola Mobility, Inc. (C8-AA-21)
	Device Name: Muller 1T
	LMP Version: 2.1 (0x4) LMP Subversion: 0x4217
	Manufacturer: Broadcom Corporation (15)
	Features page 0: 0xbf 0xfe 0x8f 0xfe 0x9b 0xff 0x79 0x83
		<3-slot packets> <5-slot packets> <encryption> <slot offset> 
		<timing accuracy> <role switch> <sniff mode> <RSSI> 
		<channel quality> <SCO link> <HV2 packets> <HV3 packets> 
		 <A-law log> <CVSD> <paging scheme> <power control> 
		<transparent SCO> <broadcast encrypt> <EDR ACL 2 Mbps> 
		<EDR ACL 3 Mbps> <enhanced iscan> <interlaced iscan> 
		<interlaced pscan> <inquiry with RSSI> <extended SCO> 
		<EV4 packets> <EV5 packets> <AFH cap. slave> 
		<AFH class. slave> <3-slot EDR ACL> <5-slot EDR ACL> 
		<sniff subrating> <pause encryption> <AFH cap. master> 
		<AFH class. master> <EDR eSCO 2 Mbps> <EDR eSCO 3 Mbps> 
		<3-slot EDR eSCO> <extended inquiry> <simple pairing> 
		<encapsulated PDU> <err. data report> <non-flush flag> <LSTO> 
		<inquiry TX power> <extended features> 
	Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00

hcidump

Observa a conexão entre dois dispositivos bluetooth em tempo real

  • hcidump
< HCI Command: Create Connection (0x01|0x0005) plen 13
    bdaddr C8:AA:21:3A:54:69 ptype 0xcc18 rswitch 0x01 clkoffset 0x0000
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 
> HCI Event: Command Status (0x0f) plen 4
    Create Connection (0x01|0x0005) status 0x00 ncmd 1
> HCI Event: Connect Complete (0x03) plen 11
    status 0x00 handle 42 bdaddr C8:AA:21:3A:54:69 type ACL encrypt 0x00
< HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2
    handle 42
> HCI Event: Max Slots Change (0x1b) plen 3
    handle 42 slots 5
> HCI Event: Command Status (0x0f) plen 4
    Read Remote Supported Features (0x01|0x001b) status 0x00 ncmd 0
> HCI Event: Command Status (0x0f) plen 4
    Unknown (0x00|0x0000) status 0x00 ncmd 1
> HCI Event: Read Remote Supported Features (0x0b) plen 11
    status 0x00 handle 42
    Features: 0xbf 0xfe 0x8f 0xfe 0x9b 0xff 0x79 0x83
< HCI Command: Remote Name Request (0x01|0x0019) plen 10
    bdaddr C8:AA:21:3A:54:69 mode 2 clkoffset 0x0000
< ACL data: handle 42 flags 0x02 dlen 10
    L2CAP(s): Info req: type 2


Pesquisador

  • Müller Fernandes da Silva