16

我想使用自定义配置文件构建一个简单的基于蓝牙低功耗的应用程序。采用的配置文件/服务/特性/描述符使用 16 位 UUID,如官方网站上所示。

16 位 UUID 是对应 128 位 UUID 的快捷方式,翻译为

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

Bluetooth_Base_UUID存在00000000-0000-1000-8000-00805F9B34FB(来源:蓝牙核心规范第 3 卷第 F 部分第 3.2.1 节)

由于我使用的是自定义配置文件,我想知道我可以使用哪些 UUID。

  • 哪个 128 位 UUID 范围可用于描述低功耗蓝牙中供应商定义的属性?
4

4 回答 4

19

您在上面显示的基本 UUID 之上的所有 16 位和 32 位 UUID 都是为规范(或未来规范)中的项目保留的。因此,供应商应用程序可以免费使用任何小于基本 UUID 的 128 位 UUID。供应商没有保留空间来使用 16 位或 32 位 UUID。

于 2012-04-20T19:20:45.777 回答
11

您可以向蓝牙 SIG 注册 16 位 UUID: https ://www.bluetooth.org/en-us/Pages/LoginRestrictedAll/16-bit-UUIDs-member.aspx 如果您需要保存字节(出于空间、能源或其他性能原因)。

我对蓝牙规范的解释是,您可以自由地使用蓝牙 UUID Base“范围”之外的任何 128 位 UUID :

 xxxxxxxx-0000-1000-8000-00805F9B34FB

我已将范围放在引号中,因为您引用的规范的 16 位到 128 位转换公式表明最左边的字节是最重要的(大端字节序!)。请注意,如果您将 UUID 视为 128 位整数,则蓝牙 UUID 基本“范围”不是一个连续的值范围。

于 2014-05-06T05:31:16.283 回答
3

您不得使用 16 位或 32 位 UUID,除非它们是通过 注册分配给您的。

使用未注册的短 UUID 将导致与您的设备和未来标准以及/或其他设备的注册号码不兼容。蓝牙资格将需要有效的数字。

未注册时,生成您自己的有效 128 位 UUID:

于 2017-01-12T22:41:35.057 回答
0

这是FAQ\谈论BLE UUID

http://www.cypress.com/forum/psoc-4-ble/how-can-i-get-uuid-services-and-characteristics

于 2017-04-08T06:26:53.007 回答