0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Configuração
Conecte-se a um dispositivo Bluetooth de baixa energia (BLE) e explore toda a árvore GATT: serviços, características, descritores e os valores que ele expõe, como o nível de bateria ou os dados de fabricante, modelo e firmware. Tudo acontece entre o seu equipamento e o dispositivo.
Dispositivos oferecidos
UUIDs completos ou identificadores de 16 bits, separados por vírgulas. Os serviços padrão já são solicitados automaticamente

Como funciona

Conecta o navegador a um dispositivo Bluetooth de baixa energia e mostra toda a árvore GATT: cada serviço primário, as características que ele contém, as operações que cada uma aceita (leitura, escrita, notificação ou indicação) e os descritores associados, com o UUID de 128 bits e o identificador curto de 16 bits quando o elemento é padrão.

Os valores legíveis são lidos automaticamente e interpretados conforme a especificação do Bluetooth SIG: o nível de bateria sai como porcentagem, o serviço Device Information como fabricante, modelo, número de série e versões de firmware, hardware e software, e o PnP ID como o par de identificadores de fabricante e produto. O que não tem significado definido é mostrado como texto, número ou dump hexadecimal.

Você também pode assinar as características que emitem notificações para ver como mudam ao vivo — uma frequência cardíaca, uma temperatura, um contador — e exportar todo o percurso em JSON. A ferramenta só lê: nunca escreve no dispositivo. Toda a comunicação ocorre entre o seu equipamento e o periférico pela API Web Bluetooth; nada vai para um servidor.

Exemplos

0x180F → 0x2A195B → 91 %O serviço Battery expõe um único byte com a carga restante, então 0x5B equivale a 91 %.
0x180A → 0x2A50 (PnP ID)USB Implementers Forum · VID 0x046D · PID 0xC52B · v1.0.0O PnP ID identifica o fabricante e o produto com os mesmos códigos usados pelo USB, então você pode consultá-los no catálogo usb.ids.
6e400001-b5a3-f393-e0a9-e50e24dcca9eNordic UART ServiceOs UUIDs de 128 bits correspondem a serviços próprios do fabricante; os mais difundidos, como a porta serial da Nordic, aparecem com o nome.

Casos de uso

  • Ver quanta bateria resta em um sensor, uma balança ou um wearable sem instalar o aplicativo do fabricante.
  • Consultar o modelo, o número de série e a versão de firmware de um dispositivo antes de atualizá-lo ou abrir um chamado de garantia.
  • Verificar durante o desenvolvimento de firmware que o periférico anuncia os serviços e características esperados, com as propriedades corretas.
  • Descobrir o UUID de uma característica própria do fabricante para poder usá-la no seu próprio aplicativo.
  • Confirmar ao vivo que as notificações chegam e com que frequência quando um aplicativo não recebe dados.
  • Documentar toda a árvore GATT de um equipamento exportando-a em JSON para anexar a um relatório.

Perguntas frequentes

Por que não funciona no meu iPhone nem no Firefox?

A API Web Bluetooth está implementada em navegadores baseados no Chromium — Chrome, Edge e Opera — para Windows, macOS, Linux, ChromeOS e Android. Firefox e Safari não a implementam, e no iOS todos os navegadores usam o motor do sistema, então lá também não está disponível. Além disso é preciso HTTPS e que o Bluetooth do equipamento esteja ligado.

O dispositivo está ligado mas não aparece na lista.

Costuma ter três motivos: o periférico já está conectado a outro aplicativo ou a outro equipamento e parou de se anunciar; não está em modo visível, que em muitos dispositivos se ativa mantendo um botão pressionado; ou o filtro escolhido é estreito demais. Teste a opção que oferece todos os dispositivos próximos e aproxime o equipamento.

Por que vejo menos serviços do que em um aplicativo nativo?

Uma página web só enxerga os serviços que solicitou antes de se conectar, por isso a ferramenta pede todos os padrão e permite adicionar os UUIDs próprios do fabricante que você conheça. Além disso o navegador mantém uma lista de serviços bloqueados por segurança — entre eles o de dispositivos de entrada (HID) e os de atualização de firmware — que nenhuma página pode ler.

O que significam as propriedades de uma característica?

Leitura significa que o valor pode ser solicitado quando você quiser. Escrita e escrita sem resposta indicam que o dispositivo aceita receber dados, com ou sem confirmação. Notificação e indicação significam que é o dispositivo que envia o valor quando ele muda; a diferença é que a indicação exige confirmação do cliente e por isso é mais lenta, porém mais segura.

Por que alguns elementos têm um UUID curto e outros um enorme?

Os identificadores de 16 bits, como 0x180F ou 0x2A19, são reservados pelo Bluetooth SIG e têm significado definido na especificação, por isso a ferramenta os mostra com o nome oficial. Um UUID de 128 bits pertence ao fabricante: só o aplicativo dele sabe o que contém, embora o conteúdo ainda seja exibido como texto, número ou hexadecimal.

A ferramenta pode escrever ou alterar algo no dispositivo?

Não. Ela apenas lê valores e ativa as notificações que você escolher, o que é uma assinatura e não uma mudança de configuração do dispositivo. Nunca escreve em uma característica, então não há risco de deixar o periférico em um estado inesperado.

Os dados do dispositivo saem do meu equipamento?

Não. A conexão é resolvida pelo navegador com o adaptador Bluetooth do seu equipamento e nenhum valor lido é enviado a um servidor. A permissão é concedida dispositivo por dispositivo no seletor do navegador e você pode revogá-la quando quiser.