ble uuid 规则
时间: 2025-01-30 08:32:22 浏览: 27
蓝牙低功耗 (BLE) UUID 的生成规则及使用规范
基本概念
UUID(Universally Unique Identifier),即全局唯一标识符,在蓝牙协议栈中用于区分不同的服务和服务中的特性。对于 BLE 设备而言,UUID 是识别特定服务或特性的关键[^1]。
标准 16 位 UUID 和 128 位 UUID
为了简化表示并节省空间,Bluetooth SIG 定义了一组标准的服务和特征,并为其分配了 16 位的短 UUID。这些预定义的 16 位 UUID 实际上是从基础 UUID 0000xxxx-0000-1000-8000-00805F9B34FB
中派生出来的,其中 xxxx 表示具体的 16 位数值部分。当开发者创建自定义服务或特性时,则通常会采用完整的 128 位 UUID 来确保全球范围内的唯一性。
自定义 128 位 UUID 的生成方式
由于存在冲突的风险,建议通过随机数生成器来构建新的 128 位 UUID 或者基于现有命名空间哈希算法计算得出。以下是 Python 示例代码展示如何利用操作系统自带工具生成一个完全随机的 128 位 UUID:
import uuid
def generate_random_uuid():
return str(uuid.uuid4())
print(generate_random_uuid())
此函数每次调用都会返回一个新的伪随机字符串作为有效的 128 位 UUID 使用。
如何注册新服务/特性及其对应的 UUID?
如果打算公开发布自己的 BLE 应用程序并且希望其他应用程序能够发现它所提供的服务或特性,那么应该向 Bluetooth SIG 注册该服务名称连同其关联的标准 16 位 UUID 或者整个 128 位 UUID 字串。这一步骤可以保证所使用的 ID 不与其他已知的服务发生重复从而避免潜在兼容性问题。
相关推荐


















