当前位置: 首页 > 知识库问答 >
问题:

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

郑安晏
2023-03-14

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

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

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

使用Bluetooth\u Base\u UUID作为00000000-0000-1000-8000-00805F9B34FB。(来源:蓝牙核心规范第3卷第F部分第3.2.1节)

由于我使用的是自定义配置文件,我想知道允许我使用什么UUID。

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

共有3个答案

阎祖鹤
2023-03-14

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

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

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

  • 使用工具,例如
  • 版本4变体使用随机数,您可以通过将前导的8个十六进制字符替换为0来创建自己的基本UUID
叶茂才
2023-03-14

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

我对蓝牙规范的理解是,您可以免费使用蓝牙UUID基本“范围”之外的任何128位UUID:

 xxxxxxxx-0000-1000-8000-00805F9B34FB

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

颜经艺
2023-03-14

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

 类似资料:
  • 我想用一些蓝牙低能耗开发工具包创建我自己的iBeacon。苹果尚未发布iBeacons的规范,然而,一些硬件开发人员已经根据AirLocate示例代码对iBeacon进行了反向工程,并开始销售iBeacon开发工具包。 那么什么是iBeacon蓝牙模式? 蓝牙低能耗使用GATT进行LE配置文件服务发现。因此,我认为我们需要知道iBeacon属性的属性句柄、属性类型、属性值,以及可能的属性权限。因此

  • 我正在尝试构建一个使用蓝牙的android应用程序。在教程中,他们使用128位UUID,但我只有16位UUID。我必须使用服务UUID和蓝牙基础创建一个新的128位UUID。 例子: 警报通知服务UUID(16bit)= 通过组合这两个UUID,我们收到。。。 警报通知服务UUID(128bit)= 有没有合适的方法?

  • 我有两部Android手机。我想通过蓝牙在他们之间建立自动连接。例如 我的Android手机与另一个蓝牙配对。当我把这些手机放在一起时,它们需要检测蓝牙设备,并自动连接到选定的Android手机(已知地址/MAC/之前配对)。我不需要再连接它。我想在我的Android应用程序中实现这种连接。 我在谷歌上找到了一些相关的参考资料,但他们都还没有解决这个问题。我认为我需要创建一个线程/服务,当蓝牙在范

  • 我有以下html: 我试图获得如下范围: 但我收到:。 我是angularJS初学者,我只是不明白为什么这不起作用。 更新:这也不起作用: 更新2:我试图在控制台中打印出作用域的所有代码:

  • 是否可以在后台扫描宣传UUID的外围设备,该UUID不是已知的配置文件?我有一个外围设备广告这些服务UUID:180418021803,“00000200-37CB-11E3-8682-0002A5D5C51B 当我这样扫描时: CenturalManager.scanForPerperpheralsAuthServices([CBUUID(string:"00000200-37CB-11E3-8

  • 这让我困惑了好几天。 在开始时,当我实现的功能,我使用GATT配置文件BLE蓝牙通信。 然后我想到了蓝牙插座。这将SPP配置文件用于蓝牙通信。 其中提到: 最常见的蓝牙套接字类型是RFCOMM,这是Android API支持的类型。RFCOMM是一种面向连接的蓝牙流式传输。它也称为串行端口配置文件(SPP)。 我的要求是- 1)使用BLE蓝牙扫描并将我的android设备与黑匣子连接。 2) 然后