Je souhaite créer une application simple basée sur Bluetooth Low Energy à l'aide d'un profil personnalisé. Les profils/services/caractéristiques/descripteurs adoptés utilisent des UUID 16 bits, comme indiqué sur le site officiel .
Les UUID 16 bits sont des raccourcis pour un UUID 128 bits correspondant et sont traduits en tant que
128-bit UUID = 16-bit Attribute UUID * 2^96 + Bluetooth_Base_UUID
avec Bluetooth_Base_UUID
étant 00000000-0000-1000-8000-00805F9B34FB
. (Source: Spécification de base Bluetooth, Vol. 3, partie F, section 3.2.1)}
Depuis que j'utilise un profil personnalisé, je me demande quels UUID sont autorisés à utiliser.
Tous les UUID 16 bits et 32 bits situés au-dessus de l'UUID de base que vous indiquez ci-dessus sont réservés aux éléments de la spécification (ou des spécifications futures). Les applications des fournisseurs sont donc libres d'utiliser n'importe quel UUID 128 bits inférieur à celui de la base. Il n'y a pas d'espace réservé pour que les fournisseurs utilisent des UUID 16 bits ou 32 bits.
Vous pouvez enregistrer des UUID 16 bits avec le Bluetooth SIG: https://www.bluetooth.org/en-us/Pages/LoginRestrictedAll/16-bit-UUIDs-member.aspx Ceci est utile si vous en avez besoin. économiser les octets (pour des raisons de place, d’énergie ou d’autres performances).
Mon interprétation de la spécification Bluetooth est que vous pouvez utiliser n'importe quel UUID 128 bits en dehors de de la base UUID Bluetooth "librement":
xxxxxxxx-0000-1000-8000-00805F9B34FB
J'ai mis range entre guillemets, car la formule de conversion de la spécification que vous avez citée de 16 bits à 128 bits suggère que les octets les plus à gauche sont les plus significatifs (big endian!). Notez que si vous traitez l'UUID comme un entier de 128 bits, la "plage" Bluetooth UUID Base n'est pas une plage continue de valeurs.
Vous ne pouvez pas utiliser d’UUID 16 bits ou 32 bits à moins qu’ils ne vous soient attribués par registering .
L'utilisation d'un UUID court qui n'a pas été enregistré entraînera des incompatibilités avec votre appareil et les normes futures et/ou les numéros enregistrés de l'autre appareil. La qualification Bluetooth nécessite des numéros valides.
Lorsque vous ne vous inscrivez pas, générez vos propres UUID 128 bits valides:
uuidgen
ou guidgen.exe
outils en ligne de commandeVoici FAQ\Talk about BLE UUID
http://www.cypress.com/forum/psoc-4-ble/how-can-i-get-uuid-services-and-characteristics