Cómo leer, escribir y suscribirte a una característica BLE desde tu iPhone
Abre el dispositivo en el inspector de Periphery y cada característica muestra botones para lo que admite: Leer obtiene su valor, Escribir envía bytes que escribes en hexadecimal, y Notificar te suscribe a actualizaciones en vivo hasta que tocas Dejar de notificar. Los valores pueden mostrarse como Hex, Decimal, ASCII o Binario. Es una forma rápida de probar tu propio firmware sin portátil.
Servicios, características y propiedades BLE en un minuto
Un dispositivo BLE agrupa sus datos en servicios, y cada servicio contiene características. Una característica es un valor, como un nivel de batería o un canal de datos, y sus propiedades dicen qué puedes hacer con ella: leerla, escribirla o recibir un aviso cuando cambia. Periphery muestra esas propiedades como etiquetas pequeñas en cada fila: R para lectura, W para escritura y N para notificación o indicación.
Cómo leer una característica
- Toca Escanear y luego toca tu dispositivo. Periphery se conecta y lista sus servicios.
- Busca una característica con etiqueta R y toca Leer.
- El valor aparece bajo la característica. Usa el selector Formato para cambiar entre Hex, Decimal, ASCII y Binario.
Cómo escribir bytes en una característica
- Toca Escribir en una característica con etiqueta W. Se abre la hoja Escribir en hexadecimal.
- Escribe los bytes como pares hexadecimales, por ejemplo 01 FF. Los espacios son opcionales.
- Fíjate en la línea bajo el campo: indica cuántos bytes se enviarán, o avisa de que el texto no es hexadecimal válido.
- Toca Enviar, o Cancelar para cerrar sin escribir.
Si la característica admite escritura con respuesta, Periphery la usa y espera a que el dispositivo confirme. Si solo admite escritura sin respuesta, los bytes se envían sin confirmación, así que lee el valor de nuevo o vigila una notificación para comprobar que llegó.
Cómo suscribirte a notificaciones
- Toca Notificar en una característica con etiqueta N.
- Cada vez que el dispositivo envía un valor nuevo, reemplaza al que se muestra bajo la característica.
- Toca Dejar de notificar para cancelar la suscripción. Salir del inspector desconecta y termina todas las suscripciones.
Ejemplo trabajado: un valor, cuatro formatos
Supón que una característica devuelve los tres bytes que podrías enviar a una placa de prueba. Así se ve en cada formato:
| Formato | Se muestra como |
|---|---|
| Hex | 01 41 42 |
| Decimal | 1 65 66 |
| Binario | 00000001 01000001 01000010 |
| ASCII | Solo el primer byte no se imprime; los otros dos se ven como letras, AB |
Una característica Battery Level (2A19) que devuelve 5A en hex se lee como 90 en decimal, lo que significa 90 %. Los campos de texto como Manufacturer Name se leen mejor en ASCII.
Registrar una sesión de prueba con Pro
Con Periphery Pro, cada lectura, escritura y notificación durante una conexión se guarda automáticamente con hora, dirección, UUID de la característica y los bytes en bruto. Abre la pestaña Registros para ver cada sesión y su número de paquetes, desliza una sesión y toca Exportar para compartirla como texto plano, o Eliminar para quitarla. Una sesión sin paquetes se descarta al salir del inspector. Sin Pro, no se registra nada.
Trucos y errores habituales
- Los botones solo aparecen para lo que permite la característica. Que no haya botón Leer significa que esa propiedad no está activada, no que la app la esté ocultando.
- Los números de varios bytes suelen ser little-endian en BLE. 34 12 en hex es 0x1234, no 0x3412.
- Una lectura o escritura puede fallar si la característica necesita emparejamiento o cifrado. iOS gestiona el emparejamiento; acepta su aviso e inténtalo de nuevo.
- Normalmente solo una app o un teléfono puede mantener una conexión a la vez. Desconecta tu propia app de prueba o el otro teléfono primero.
Preguntas frecuentes
¿Cuál es la diferencia entre notify e indicate?
¿Puedo escribir texto en vez de hexadecimal?
¿Por qué veo Conectando… y luego un error?
¿Puedo leer descriptores?
Más guías de Periphery
- Cómo encontrar un dispositivo Bluetooth perdido con tu iPhone por intensidad de señal
- Usar una app escáner Bluetooth en iPhone para listar dispositivos BLE cercanos
- Cómo identificar un dispositivo Bluetooth desconocido en iPhone
- Buscar UUID BLE en iPhone: encuentra y nombra los UUID de servicio de un dispositivo
- Cómo comprobar la intensidad de señal Bluetooth en iPhone
- Todas las preguntas sobre Periphery
- Volver a Periphery