什么范围的蓝牙UUID可用于供应商定义的配置文件?

时间:2012-04-20 09:43:13

标签: bluetooth uuid bluetooth-lowenergy

我想使用自定义配置文件构建一个简单的基于 Bluetooth Low Energy 的应用程序。采用的配置文件/服务/特性/描述符使用official site上显示的16位UUID。

16位UUID是相应128位UUID的快捷方式,并被翻译为

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

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

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

  • Bluetooth Low Energy 中可以使用哪种128位UUID来描述供应商定义的属性?

4 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分:8)

您可以使用Bluetooth 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 Base"范围"不是一个连续的价值范围。

答案 2 :(得分:1)

您不能使用16位或32位UUID,除非registering为您分配了这些UUID。

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

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

答案 3 :(得分:0)