Como ler, escrever e assinar uma característica BLE do seu iPhone
Abra o dispositivo no inspetor do Periphery e cada característica mostra botões para o que ela suporta: Leia busca seu valor, Escrever envia bytes que você digita em hex, e Notificar assina atualizações em tempo real até você tocar em Parar de notificar. Os valores podem ser mostrados em Hex, Decimal, ASCII ou Binário. É um jeito rápido de testar seu próprio firmware sem um notebook.
Serviços, características e propriedades BLE em um minuto
Um dispositivo BLE agrupa seus dados em serviços, e cada serviço guarda características. Uma característica é um valor único, como o nível de bateria ou um canal de dados, e suas propriedades dizem o que você pode fazer com ela: ler, escrever ou ser notificado quando muda. O Periphery mostra essas propriedades como pequenas marcações em cada linha: R para leitura, W para escrita e N para notificação ou indicação.
Como ler uma característica
- Toque em Digitalizar, depois no seu dispositivo. O Periphery conecta e lista seus serviços.
- Encontre uma característica com marcação R e toque em Leia.
- O valor aparece sob a característica. Use o seletor Formato para alternar entre Hex, Decimal, ASCII e Binário.
Como escrever bytes em uma característica
- Toque em Escrever numa característica com marcação W. A folha Escrever em hexadecimal abre.
- Digite os bytes como pares hexadecimais, por exemplo 01 FF. Espaços são opcionais.
- Confira a linha sob o campo: ela diz quantos bytes serão enviados, ou avisa que o texto não é hexadecimal válido.
- Toque em Enviar, ou Cancelar para fechar sem escrever.
Se a característica suporta escrita com resposta, o Periphery a usa e espera a confirmação do dispositivo. Se só suporta escrita sem resposta, os bytes são enviados sem confirmação, então leia o valor de volta ou observe uma notificação para checar se chegou.
Como assinar notificações
- Toque em Notificar numa característica com marcação N.
- Cada vez que o dispositivo envia um valor novo, ele substitui o que aparece sob a característica.
- Toque em Parar de notificar para cancelar a assinatura. Sair do inspetor desconecta e encerra todas as assinaturas.
Exemplo prático: um valor, quatro formatos
Suponha que uma característica retorne os três bytes que você poderia enviar a uma placa de teste. Veja como cada formato os mostra:
| Formato | Mostrado como |
|---|---|
| Hex | 01 41 42 |
| Decimal | 1 65 66 |
| Binário | 00000001 01000001 01000010 |
| ASCII | Só o primeiro byte não imprime; os outros dois aparecem como letras, AB |
Uma característica Battery Level (2A19) que retorna 5A em hex mostra 90 em decimal, o que significa 90 %. Campos de texto como Manufacturer Name são mais fáceis de ler em ASCII.
Registrando uma sessão de teste com o Pro
Com o Periphery Pro, toda leitura, escrita e notificação durante uma conexão é salva automaticamente com data e hora, direção, UUID da característica e os bytes brutos. Abra a aba Registros para ver cada sessão e sua contagem de pacotes, deslize uma sessão e toque em Exportar para compartilhá-la como texto simples, ou Excluir para removê-la. Uma sessão sem pacotes é descartada quando você sai do inspetor. Sem o Pro, nada é registrado.
Dicas e erros comuns
- Os botões só aparecem para o que a característica permite. Nenhum botão Leia significa que a propriedade não está definida, não que o app está escondendo.
- Números com vários bytes geralmente são little-endian em BLE. 34 12 em hex é 0x1234, não 0x3412.
- Uma leitura ou escrita pode falhar se a característica exigir pareamento ou criptografia. O iOS cuida do pareamento; aceite o pedido dele e tente de novo.
- Normalmente só um app ou celular pode manter uma conexão. Desconecte seu próprio app de teste ou outro celular primeiro.
Perguntas frequentes
Qual é a diferença entre notificar e indicar?
Posso escrever texto em vez de hex?
Por que vejo Conectando… e depois um erro?
Posso ler descritores?
Mais guias do Periphery
- Como encontrar um dispositivo Bluetooth perdido com o iPhone pela força do sinal
- Usando um app scanner Bluetooth no iPhone para listar dispositivos BLE próximos
- Como identificar um dispositivo Bluetooth desconhecido no iPhone
- Consulta de UUID BLE no iPhone: encontre e nomeie os UUIDs de serviço de um dispositivo
- Como ver a força do sinal Bluetooth no iPhone
- Todas as perguntas sobre o Periphery
- Voltar para o Periphery