studio obtener ejemplo bluetooth uuid bluetooth-lowenergy

obtener - ¿Qué rango de UUID de Bluetooth se puede usar para los perfiles definidos por el proveedor?



obtener uuid android (4)

Puede registrar UUID de 16 bits con Bluetooth SIG: https://www.bluetooth.org/en-us/Pages/LoginRestrictedAll/16-bit-UUIDs-member.aspx Esto es útil si necesita guardar los bytes ( para espacio, energía u otras razones de rendimiento).

Mi interpretación de la especificación de Bluetooth es que puede usar cualquier UUID de 128 bits fuera del "rango" de la base de UUID Bluetooth, libremente:

xxxxxxxx-0000-1000-8000-00805F9B34FB

He puesto el rango entre comillas, porque la fórmula de conversión de la especificación de 16 bits a 128 bits que citó, sugiere que los bytes más a la izquierda son los más significativos (big endian!). Tenga en cuenta que si trata el UUID como un entero de 128 bits, el "rango" de UUID Base de Bluetooth no es un rango continuo de valores.

Quiero construir una aplicación simple basada en Bluetooth Low Energy usando un perfil personalizado. Los perfiles / servicios / características / descripciones adoptados utilizan UUID de 16 bits como se ve en el sitio oficial .

Los UUID de 16 bits son accesos directos para un UUID de 128 bits correspondiente y se traducen como

128-bit UUID = 16-bit Attribute UUID * 2^96 + Bluetooth_Base_UUID

con Bluetooth_Base_UUID siendo 00000000-0000-1000-8000-00805F9B34FB . (Fuente: Especificación Core de Bluetooth Vol 3 Parte F Sección 3.2.1)

Como uso un perfil personalizado, me pregunto qué UUID puedo usar.

  • ¿Qué rango de UUID de 128 bits se puede usar para describir los atributos definidos por el proveedor en Bluetooth Low Energy ?

No puede usar UUID de 16 bits o 32 bits a menos que se le asignen registrándose .

El uso de un UUID corto que no se registró dará como resultado incompatibilidades con su dispositivo y estándares futuros y con los números registrados de otros dispositivos. La calificación de Bluetooth requerirá números válidos.

Cuando no se registre, genere sus propios UUID de 128 bits válidos:


Todos los UUID de 16 y 32 bits por encima del UUID base que muestra arriba están reservados para los elementos en la especificación (o especificaciones futuras). De modo que las aplicaciones de los proveedores pueden usar cualquier UUID de 128 bits menos que el UUID base. No hay espacio reservado para que los vendedores usen UUID de 16 o 32 bits.