Oferecendo suporte para dispositivos Bluetooth (HTML)
[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]
O Tempo de Execução do Windows no Windows 8.1 fornece diversos namespaces Bluetooth novos:
- Windows.Devices.Bluetooth
- Windows.Devices.Bluetooth.Rfcomm
- Windows.Devices.Bluetooth.GenericAttributeProfile
Usando esses namespace, os desenvolvedores podem escrever um aplicativo da Windows Store que fala com dispositivos Bluetooth.
Você deve fornecer informações sobre as funcionalidades do dispositivo nas declarações no Manifesto do aplicativo. Isso permite que o aplicativo seja associado a seu dispositivo.
Para saber mais, veja Como especificar funcionalidades do dispositivo para Bluetooth.
RFCOMM
O Bluetooth RFComm APIs adere às diretrizes do Tempo de Execução do Windows, e fornece os seguintes recursos:
- A API é compilada nos padrões existentes para Dispositivos Windows, incluindo enumeration e instantiation.
- Os atributos SDP possuem um valor e um tipo esperado. Entretanto, alguns dispositivos comuns possuem implementações inválidas de atributos SDP em que o valor não é do tipo esperado. Além disso, muitos usos de RFCOMM não requerem atributos SDP adicionais. Por esse motivo, essa API oferece acesso aos dados SDP não analisados, dos quais os desenvolvedores podem obter as informações que precisam
- A leitura e gravação de dados é projetada para tirar vantagens de established data stream patterns e objetos em Windows.Storage.Streams.
As APIs de RFCOMM utilizam o conceito de identificadores de serviço. Embora um identificador de serviço seja simplesmente um GUID de 128 bits, ele também é comumente especificado como número inteiro de 16 ou 32 bits. A API de RFCOMM oferece um wrapper para identificadores de serviços que permitem que eles sejam especificados e consumidos como GUIDs de 128 bits, bem como número inteiro de 32 bits, mas não oferecem inteiros de 16 bits (para atender às diretrizes do Tempo de Execução do Windows). Isso não é um problema para a API, pois a linguagem será automaticamente redimensionada para inteiro de 32 bits e o identificador ainda poderá ser gerado corretamente.
A partir de Windows 8.1, aplicativos de um dispositivo da Windows Store podem executar operações de dispositivos de multietapas em uma tarefa em segundo plano, portanto eles podem executar até concluírem, mesmo se o aplicativo for movido para segundo plano e suspenso. Isso permite um serviço do dispositivo confiável, como alterações em configurações persistentes ou firmware, e sincronização de conteúdo, sem precisar que o usuário sente-se e observe a barra de progresso. Use o DeviceServicingTrigger para serviço de dispositivo e o DeviceUseTrigger para sincronização de conteúdo. Observe que essas tarefas em segundo plano limitam a quantidade de tempo que o aplicativo pode executar em segundo plano, e não têm a intenção de permitirem operação indefinida ou sincronização infinita. Para saber mais, veja Sincronização e atualização de dispositivos (aplicativos da Windows Store).
Para saber mais, veja os seguintes cenários de uso do RFCOMM:
GATT
Os desenvolvedores podem usar o Bluetooth GATT APIs para acessar serviços de Bluetooth LE, descritores e características.
Os dispositivos Bluetooth LE expõem sua funcionalidade por meio de coleção de:
- Serviços primários
- Serviços incluídos
- Características
- Descritores
Serviços primários definem o contrato funcional do dispositivo LE e contêm uma coleção de características que definem o serviço. Essas características, por sua vez, contêm descritores que descrevem as características.
As APIs de Bluetooth GATT expõem objetos e funções, em vez de acessarem o transporte bruto. No nível do driver os serviços primários são enumerados como Nós de Dispositivo Filho do dispositivo do Bluetooth LE usando a API do enumeration.
As APIs do Bluetooth GATT também habilitam os desenvolvedores para trabalharem com dispositivos Bluetooth LE com a habilidade de executar as seguintes tarefas:
- Executar descoberta de Serviço / Característica / Descritor
- Ler e gravar valores de Características / Descritor
- Registrar o seu retorno de chamada para o evento ValueChanged de Característica
As APIs do Bluetooth GATT simplificam o desenvolvimento lidando com propriedades comuns e fornecendo padrões razoáveis para adicionar no gerenciamento de dispositivo e configuração. Elas fornecem meios para os desenvolvedores acessarem a funcionalidade de um dispositivo Bluetooth LE de um aplicativo da Windows Store.
Para criar uma implementação útil, um desenvolvedor precisa antes conhecer os serviços GATT e características que o aplicativo pretende consumir, e para processar os valores característicos específicos, como aqueles dados binários fornecidos pela API, são transformados em dados úteis antes de serem apresentados ao usuário. As APIs do Bluetooth GATT expõem somente primitivas básicas necessárias para comunicação com um dispositivo Bluetooth LE. Para interpretar dados, um perfil de aplicativo deve ser definido, tanto pelo perfil padrão de um Bluetooth SIG, como por um perfil personalizado implementado por um fornecedor de dispositivo. Um perfil cria um contrato de ligação entre o aplicativo e o dispositivo, como o que os dados de intercâmbio representam e como ele os interpreta.
Por conveniência, o Bluetooth SIG mantém uma lista de perfis públicos disponíveis.
Para saber mais, veja os seguintes cenários de uso do GATT: