Bluetooth Este tutorial apresenta os conceitos básicos do Bluetooth. (Versão revista e atualizada do tutorial original publicado em 26/07/2009) Eduardo Tude Engenheiro de Teleco (IME 78) e Mestre em Teleco (INPE 81) tendo atuado nas áreas de Redes Ópticas, Sistemas Celulares e Comunicações por Satélite. Ocupou várias posições de Direção em empresas de Teleco como VP de Operações da BMT, Diretor de Operações da Pegasus Telecom e Gerente de Planejamento Celular da Ericsson. Pioneiro no desenvolvimento de Satélites no Brasil (INPE), tem vasta experiência internacional, é detentor de uma patente na área e tem participado constantemente como palestrante em seminários. Assumiu em 2002 um novo desafio profissional como empreendedor e Presidente do Teleco. Email: [email protected] Categoria: Telefonia Celular Nível: Introdutório Enfoque: Técnico Duração: 15 minutos Publicado em: 12/10/2009 1 Bluetooth: O que é? Bluetooth é uma tecnologia para conexão sem fio (wireless) a curta distância de dispositivos como celulares, palm tops, fones de ouvido, microfones, computadores, teclados, etc. A tecnologia desenvolvida inicialmente pela Ericsson (1994) com o objetivo de substituir os cabos que conectavam estes dispositivos ganhou o suporte da Intel, IBM, Toshiba, Nokia, Lucent, Motorola entre outras empresas que vieram a formar o Bluetooth Special Interest Group (SIG). Um Rei da Dinamarca Harald Blatand (Bluetooth em inglês) serviu de inspiração para o nome pois simbolizava a união de diferentes grupos de pessoas. A proposta do Bluetooth é substituir as várias soluções proprietárias existentes para conexão destes dispositivos com uma solução padronizada que possa ser adotada a nível mundial. Os requisitos principais que nortearam o desenvolvimento do Bluetooth foram: Baixo consumo de potência; Baixo custo, US$ 5 a 10 para adicionar o Bluetooth a um dispositivo. Meta a ser alcançada com a produção em massa dos chips; Cobertura pequena, tipicamente 10 metros; Transmissão de voz e dados. O Bluetooth opera na faixa de frequências de 2,4 GHz a 2,483 GHz que não precisa de autorização para ser utilizada e adotou o espalhamento espectral por salto de frequência (Frequency-Hopping) de modo a garantir uma comunicação robusta em uma faixa de frequências compartilhada com outras aplicações como o WI-FI e ISM (Industrial, Científica e Médica). O Bluetooh apresenta vantagens em relação a conexão via infravermelho pois suporta vários dispositivos e não exige visada direta entre transmissor e receptor. Apesar de ser padronizada pelo IEEE 802.15 como uma "Wireless Personal Area Network (WPAN)" uma rede Bluetooth assemelha-se mais a um barramento para extensão de portas de um dispositivo como por exemplo o Universal Serial Bus (USB) encontrado nos PCs. 2 O Bluetooth poderia ser comparado a um USB wireless onde um dispositivo mestre (PC no caso do USB) se comunica com seus periféricos. A diferença é que no Bluettoth qualquer dispositivo pode assumir o papel de mestre e montar a sua rede de periféricos denominada de piconet. Piconet Uma piconet é uma rede Blootooth formada por até 8 dispositivos, sendo 1 mestre e os demais escravos. Todos os dispositivos estão sincronizados ao relógio e sequência de salto de frequência (hopping) do mestre. Em uma piconet toda comunicação ocorre entre mestre e escravos. Não existe comunicação direta entre escravos em uma piconet. Em um determinado local podem existir várias piconets independentes. Cada piconet tem um canal físico diferente, isto é um dispositivo mestre diferente e um relógio e sequência de salto de frequência independentes. Um dispositivo Bluetooth pode participar concorrentemente em duas ou mais piconets, não podendo ser no entanto mestre de mais de uma piconet. Como o canal físico que caracteriza a piconet é definido pelo relógio e endereço do dispositivo mestre é impossível ser o mestre de duas ou mais piconets. Um dispositivo pode ser escravo em várias piconets independentes. Um dispositivo Bluetooth que é um membro de duas ou mais piconets é dito estar envolvido em uma scatternet. Envolvimento em uma scaternet não implica necessariamente em qualquer função ou capacidade de roteamento no dispositivo Bluetooth. Os protocolos do Bluetooth não oferecem esta funcionalidade, a qual é responsabilidade de protocolos de mais alto nível. 3 Scatternet O Bluetooth oferece suporte para dois tipos de tráfego: Assíncrono a uma taxa máxima de 723,2 kbit/s (unidirecional). Bidirecional síncrono com taxa de 64 kbit/s que suporta tráfego de voz entre os dois dispositivos. 4 Bluetooth: Canais Físicos Apresenta-se a seguir as características principais dos canais físicos que permitem a transmissão de dados entre dois dispositivos Bluetooth. Antena Omndirecional Faixa de Frequências 2,4 GHz a 2,483 GHz Modulação GFSK Taxa de símbolos 1 Mega Símbolo/seg. Nº de Canais 79 Banda do Canal 1 MHz Potência de transmissão Classe 1: 1 a 100 mW Classe 2: 0,25 a 2,5 mW (típica) Classe 3: </= 1 mW Espalhamento Espectral Salto de frequência (Frequency-Hopping) cada 625 micro segundo (useg) A faixa de frequência ocupada pelo Bluetooth (2,4 GHz a 2,483 GHz) foi divida em 79 frequências com Bandas de 1 MHz entre 2402 MHz e 2480 MHz. Em um canal físico básico de piconet do Bluetooth a sua frequência muda de forma pseudo-aleatória 1.600 vezes por segundo (cada 0,625 useg). A sequência de salto de frequência é definida pelo relógio e endereço Bluetooth do dispositivo mestre. Os dispositivos em uma piconet compartilham este canal físico de comunicação. Quando ocorre um salto de frequência os seus transmissores e receptores são sintonizados ao mesmo tempo na nova frequência. O intervalo de tempo de 0,625 useg. que dura a transmissão em um frequência é chamado de slot. Um pacote de dados é transmitido em cada slot de tempo. É possível também estender o pacote para ocupar 3 ou 5 slots de modo a aumentar a taxa de dados transmitida como apresentado na figura a seguir. 5 O release 1.2 da especificação do Bluetooth definiu também um canal de piconet adaptado que apresenta as seguintes diferenças em relação ao canal básico descrito acima: As frequências nas quais um escravo transmite são as mesmas que o mestre acabou de transmitir. Ou seja, não há um salto de frequência entre um pacote do mestre e o pacote do escravo que vem logo a seguir. É possível excluir algumas frequências entre as 79 disponíveis para a sequência de salto de frequências, que são marcadas como fora de uso. Evita-se desta forma a utilização de frequências com alto grau de interferência. Além destes canais existem ainda dois outros canais físicos utilizados em funções de gerenciamento: inquiry scan e page canal. Pacote de Dados A figura a seguir apresenta estrutura de um pacote de dados (PDU) do Bluetooth. Código de Acesso ao Canal Cabeçalho do Pacote Cabeçalho do Payload Payload CRC Onde: Código de Acesso ao Canal é o código de acesso do canal físico. Cabeçalho do Pacote inclui o identificador do transporte lógico e do protocolo de controle do enlace. Cabeçalho do Payload identificador do enlace lógico Payload Dados de usuário, L2CAP mensagens ou frames, mensagens de gerenciamento. CRC Código de erro. Taxa de Dados 6 A taxa de dados bruta máxima em um canal físico do Bluetooth é de 1Mbit/s. A tabela a seguir apresenta a taxa de dados máxima para transporte de dados assíncronos dependendo do número de slots ocupados e do balanceamento de tráfego entre mestre e escravo. Taxas máximas de dados (kbit/s) Nº de slots Simétrica Assimétrica Maior Menor 1 172,8 172,8 172,8 3 390,4 585,6 86,4 5 733,9 723,8 57,6 7 Bluetooth: Padronização e Protocolos O Bluetooth Special Interest Group (SIG), formado pelas empresas que dão suporte ao desenvolvimento do Bluetooth, é o grupo que desenvolve suas especificações tendo publicado os releases apresentados na tabela a seguir. Tabela 5: Versões da especificação do Bluetooth Data Releases 1999 Release 1.0 2001 Release 1.1* Nov 2003 Release 1.2 Release 2.0 + EDR (Enhanced Out 2005 Data Rate) Jul 2007 Release 2.1 + EDR Abr 2009 Release 3.0 + HS (High Speed) * IEEE 802.15.1-2002 Por solicitação do SIG o IEEE 802 adotou as especificações do Bluetooth como um standard IEEE 802.15 para "Wireless Personal Area Network (WPAN)". Os releases 1.0 e 1.1 da especificação do Bluetooth eram divididos em duas seções: especificação principal (Core) e definições dos profiles (perfis). Profiles (perfis) são especificações de um serviço específico ou aplicação, definidos de forma a garantir a interoperabilidade entre dispositivos Bluetooth. A tabela a seguir apresenta os profiles (perfis) definidos para o Bluetooth. Profile Descrição Define como áudio de qualidade estéreo pode ser transmitido a partir de uma fonte de mídia do tipo áudio, via conexão Distribuição de Áudio (Advanced Audio Distribution Bluetooth. Profile – A2DP) Ex.: Celular -> fone de ouvido, microfone sem fio -> gravador de áudio. Fornece a especificação de uma interface padrão para controlar televisores, equipamentos de som, entre outros, para permitir Controle de Áudio e Vídeo que um único controle remoto (ou outro dispositivo) controle (Audio / Video Control todos os equipamento de Áudio/ Vídeo que o usuário quiser ter Transport Protocol – acesso. AVRCP) Ex.: PC controlando um Vídeo Player, Controle Remoto Bluetooth controlando um MP4 Player e seu fone de ouvido Bluetooth. Define, para um dispositivo de imagem: como pode ser controlado remotamente, como pode realizar a impressão de Imagem imagens, ou como pode transferir imagens para um dispositivo (Basic Imaging Profile – BIP) de armazenamento. Ex.: Celular enviando fotos e imagens para impressora. 8 Define como um dispositivo envia texto, emails, vCards, Impressão (jobs) imagens ou outros itens a serem impressos em impressoras que (Basic Printing Profile – compatíveis com serviços de impressão do tipo job. BPP) Ex.: Celular enviando texto, emails, entre outros, para impressora. ISDN (Common ISDN Profile – CIP) Defines como a sinalização ISDN pode ser transferida através Access de uma conexão Bluetooth. Ex.: Access Point ISDN com conexão sem fio Bluetooth. Define como um telefone sem fio pode ser implementado Telefone Sem Fio através de uma conexão Bluetooth. (Cordless Telephony Profile Ex.: Telefone sem fio Bluetooth conectado a gateway Bluetooth – CTP) para rede telefônica convencional. Define um padrão para acesso dial up a Internet (ou outros Modem Dial-up serviços dial up) através de conexão Bluetooth. (Dial-Up Network Profile – Ex.: PC acessando a Internet dial up via celular, através de DUN) conexão Bluetooth. Gateway Fax (Fax Profile – FAX) Define como um gateway Fax pode ser usado por outro dispositivo para envio de fax. Ex.: PC enviando fax através do celular, via conexão Bluetooth. Cliente FTP (File Transfer Profile – FTP) Define como pastas e arquivos de um servidor podem ser acessados por outros dispositivos. Ex.: Smartphone acessa servidor FTP no computador via conexão Bluetooth. Define as bases para que dispositivos com profiles (perfil) Distribuidor de Áudio e Vídeo A2DP e VDP possam se comunicar com dispositivos de (General Audio/Video distribuição de vídeo e áudio stream usando a conexão Distribution Profile – Bluetooth. GAVDP) Ex.: MP3 player envia comandos de ajuste de stream de áudio para o fone de ouvido, via Bluetooth. Transferência de Objetos Define como transferir objetos de um dispositivo para outro. (Generic Object Profile – Ex.: Processo de sincronização de dados (contatos, emails, etc.) entre um celular e um computador via Bluetooth. GOEP) Viva voz (Hands-Free Profile – HFP) Define como um gateway pode ser usado para fazer e receber chamadas usando um dispositivo do tipo viva voz. Ex.: Celular conectado a viva voz de automóvel para fazer e receber chamadas telefônicas. Impressão (substituição de cabo) (Hard Copy Cable Replacement Profile – HCRP) Define como um dispositivo de impressão pode ser acessado via conexão Bluetooth. Ex.: Computador ligado a impressora multifuncional para imprimir ou escanear documentos. Fone de Ouvido (Headset Profile – HSP) Define como um fone de ouvido pode ser usado para se conectar a outro dispositivo via Bluetooth. 9 Ex.: Fone de ouvido conectado a um celular, via Bluetooth. Define os protocolos, procedimentos e funcionalidades a serem Dispositivo de interface usadas por um dispositivo de interface humana Bluetooth, tal humana como um teclado, um mouse, um joystick ou um dispositivo de (Human Interface Device monitoramento remoto. Profile – HID) Ex.: Mouse sem fio Bluetooth conectado a um computador. Intercomunicação (Intercom Profile – ICP) Define como dois telefones celulares com Bluetooth pode ser comunicar sem usar a rede telefônica. Ex.: telefones celulares se comunicando como se fossem como se fossem walk-talkies via Bluetooth. Mecanismo Push (Object Push Profile – OPP) Define os procedimentos do mecanismo push para servidores e clientes. Ex.: Troca de contatos entre dois telefones celulares via Bluetooth. Define como dois ou mais dispositivos podem formar uma rede pessoal e como o mesmo mecanismo pode ser usado para Rede Pessoal acessar uma rede remota através de um ponto de acesso de (Personal Area Networking rede. Profile – PAN) Ex.: Grupo de computadores interligados em rede via Bluetooth. Define como uma aplicação pode usar esse profile (perfil) para Serviço de Procura de procurar os serviços fornecidos por um dispositivo remoto via dispositivos Bluetooh Bluetooth. (Service Discovery Ex.: Aplicação de busca de dispositivos Bluetooth, e seus Application Profile – SDAP) serviços, existente em um computador. Porta Serial Virtual Service Port Profile (SPP) Define como configurar porta seriais virtuais e contectar dois dispostivos Bluetooth. Ex.: Conexão de dois computadores via emulação Bluetooth de porta serial. Usado em conjunto com o perfil GOEP para permitir a sincronização de calendário e informação de endereço (itens de Sincronização Personal Information Manager – PIM) entre dispositivos (Synchronization Profile – Bluetooth. SYNC) Ex.: Sincronismo de informações PIM entre um celular e um computador. Define como um dispositivo de vídeo stream distribui vídeo Distribuição de Vídeo através de uma conexão Bluetooth. (Video Distribution Profile – Ex.: Câmera de vídeo conectada a um computador ou monitor VDP) de vídeo via Bluetooth. Devido à natureza dinâmica de criação, modificação e desativação dos profiles, o SIG decidiu que a partir do release 1.2 apenas a especificação principal (core) seria publicada como um único documento. A figura a seguir apresenta a relação entre as camadas de protocolo definidas pela especificação core do 10 Bluetooth e as camadas do modelo OSI e do IEEE802. As camadas definidas pela especificação principal (core) do Bluetooth correspondem às camadas de MAC e física do IEEE 802. Figura 6: Relação entre os Modelos OSI (ISO), IEEE.802 e Bluetooth O Bluetooth core pode ser divido nas seguintes camadas: Logical Link Control Adaptation Protocol (L2CAP): Fornece serviços de conexão de dados com e sem conexão para as camadas superiores de protocolo. Executa funções de multiplexação, segmentação, controle de fluxo e de erro e gerenciamento de grupo. O L2CAP é utilizado para multiplexar canais lógicos em um único enlace físico. Gerência de Enlace: É a camada responsável pela codificação e decodificação dos pacotes Bluetooth do pacote de dados e parâmetros relacionados com o canal físico, transporte lógico e enlace lógico. É responsável pelo estabelecimento de enlaces entre os vários dispositivos Bluetooth, controlando a negociação dos tamanhos de pacotes, chaves de segurança, modos de potência e estado de uma unidade na piconet. Banda Básica: Fornece o suporte para o link de RF em funções como sincronização e salto de freqüências e controle de acesso ao meio. Rádio: É a parte de Rádio Freqüência (RF) propriamente dita; Camada de Adaptação – PAL (AMP): fornece os serviços de conversão de protocolo entre a camada MAC e o L2CAP; Acesso ao Meio – MAC (AMP): fornece os serviços de controle de acesso ao meio (MAC); Rede Física – PHY (AMP): é a rede física propriamente dita, no caso compatível com as redes IEEE802.11. 11 Figura 7: Diagrama em blocos do Bluetooth core As 3 camadas inferiores são normalmente implementadas em um Controlador Bluetooth. A interface entre este controlador e um servidor onde residem as camadas superiores do protocolo foi padronizada de modo a garantir a interoperabilidade entre dispositivos de vários fornecedores. Esta interface é chamada de Host Controller Interface (HCI). Existem disponíveis no mercado, na forma de Circuitos Integrados (CI’s), que implementam o Controlador Bluetooth através de um ou dois CI’s, permitindo inclusive a incorporação de software de camadas superiores como o L2CAP. Para exemplos de fornecedores consulte o site www.bluetooth.com. O Bluetooth oferece serviços de transporte lógico a serem utilizados por enlaces lógicos de suporte a canais do L2CAP ou protocolos de ordem superior. Estes serviços podem ser classificados em síncronos e assíncronos. Nos serviços síncronos é feita a reserva de slots no canal físico podendo ser considerado uma forma de conexão comutada a circuito. A taxa de dados é de 64 kbit/s e tipicamente a informação transmitida é voz sendo a interface de áudio feita diretamente na camada de banda básica. Os serviços definidos são o SCO (Synchronous connection-oriented) e o eSCO (Extended SCO). Os serviços de dados assíncronos disponíveis no Bluetooth para o transporte de dados como suporte à camada L2CAP e superiores são: ACL (Asynchronous connection-oriented), assíncrono orientado a conexão que fornece um serviço confiável de transporte como detecção e correção de erros. ASB (Active Slave Broadcast), sem conexão utilizado para o broadcast de dados para os dispositivos escravos. 12 Bluetooth: Considerações Finais Este tutorial apresentou os conceitos básicos do Bluetooth, tecnologia wireless para conexão de dispositivos a curta distância. Depois de mais de 10 anos de desenvolvimento o Bluetooth apresenta uma especificação consolidada e fornecedores de CI que possibilitam uma massificação desta solução. Em julho de 2004 o SIG já havia qualificado 1.619 produtos Bluetooth. As principais aplicações disponíveis hoje para o Bluetooth são destinadas a celulares, palmtops e computadores, permitindo a comunicação entre eles e seus periféricos, como mouses, teclados, impressoras e outros periféricos. Já existem inclusive pequenos dispositivos como adaptadores USB/Bluetooth facilitam a conexão Bluetooth com computadores. Um exemplo de aplicação do Bluetooth são os fones de ouvido (Headset), que podem ser utilizados para ouvir vários dispositivos como celular, TV ou rádio. O sucesso do Bluetooth depende agora da sua adoção em alta escala, gerando volumes que tornem insignificante o custo de seu acréscimo a dispositivos portáteis. Caso isto não ocorra ele poderá ser eclipsado por soluções que oferecem taxas de dados mais altas e mais opções de conectividade como o WiFi. Referências Sites oficiais do Bluetooth: https://www.bluetooth.org/ e http://www.bluetooth.com/ Para fazer o download gratuito das normas IEEE 802 acesse: Get IEEE 802™ 13 Bluetooth: Teste seu Entendimento 1. Um dispositivo Bluetooth não pode: Ser mestre de duas piconets diferentes Ser mestre de uma piconet e escravo de outra Participar de uma scatternet Ser escravo de duas piconets 2. Assinale a alternativa falsa: O pacote de dados do Bluetooth pode ocupar 1, 3 ou 5 slots. A taxa máxima de dados de um canal assíncrono Bluetooth é de 723,2 kbit/s. Um canal físico Bluettoth utiliza uma freqüência fixa definida entre as 79 disponíveis na Banda do Bluettoth. A faixa de frequência ocupada pelo Bluetooth (2,4 GHz a 2,483 GHz) foi divida em 79 frequências com Bandas de 1 MHz entre 2402 MHz e 2480 MHz. 3. Assinale o protocolo que não pertence ao core do Bluetooth: Rádio Banda Básica Gerência de enlace RFCOM 14