什么是蓝牙UUID?蓝牙主端模块如何查询和设置uuid?

一、蓝牙UUID:

1、我们将从机具有的数据或者属性特征,称之为从机中添加(profile配置文件),作为profile包含一个或者多个服务,每个服务又包含一个或者多个特征。每个特征值都有自己的属性 Property,属性的取值有:可读 Read,可写 Write以及通知 Notify。每个服务 Service和特征值 Characteristic都有自己的唯一UUID标识。

2、主机可以发现和获取从机的服务和特征,然后与之通信,特征是主从通信的最小单元。

3、可读可写表示该特征值可以被主机读取和写入数据,而通知则表示从机可以主动向主机发送通知数据。

总结:

UUID组成:

1、16位的UUID是精简版的,结合UUID基数就可以凑成128位的标准UUID。

2、0x0000xxxx-0000-1000-8000-00805F9B34FB SIG提供的,配合16位的UUID就可以组成128位;私有UUID可以是OX0000XXXX-0000-1000-8000-00805F9B34FB(16位),也可以是XXXXXXXX-0000-1000-8000-00805F9B34FB(32位),不建议私有的也使用SIG基础UUID。

深圳市安朔科技有限公司

二、以安朔科技ANS-BT102M为例

UUID查询/设置:AT+UUID

深圳市安朔科技有限公司

### ### UUID的概念及其作用 UUID(Universally Unique Identifier)是一种在计算机系统中广泛使用的唯一标识符生成机制,用于确保在全球范围内的唯一性[^1]。它通常是一个128位的数字,通常以36个字符的形式表示,格式为`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`,其中`x`代表十六进制数字,`y`是特定版本的标识。 UUID的核心目标是生成一个在分布式系统中不会重复的标识符,即使多个设备同时生成UUID,也不会发生冲突。这种特性使其广泛应用于数据库键、网络通信中的标识符、软件开发中的对象标识等场景。 在生成方式上,UUID标准定义了多种版本,要包括: - **版本1**:基于时间戳MAC地址生成,结合当前时间(精确到100纳秒)、时钟序列以及全局唯一的IEEE机器识别号(如网卡地址)[^2]。 - **版本4**:完全随机生成,适用于对隐私保护要求较高的场景。 - **版本5**:使用SHA-1算法与命名空间结合生成,保证在相同输入下生成相同的UUIDUUID的唯一性依赖于其生成算法的设计。例如,在版本1中,通过引入时间戳硬件地址,使得不同设备在不同时间点生成的UUID几乎不可能重复。而在版本4中,通过高质量的随机数生成器来降低碰撞概率。 在实际应用中,UUID被广泛用于以下场景: - 数据库键生成,特别是在分布式数据库中,避免键冲突。 - 网络通信中的唯一标识符,如蓝牙通信中的服务标识(Service UUID特征值标识(Characteristic UUID)。 - 软件许可证管理、用户会话跟踪、日志记录等需要唯一标识的场景。 以下是一个使用Python生成UUID的示例代码: ```python import uuid # 生成基于时间戳的UUID(版本1) uuid1 = uuid.uuid1() print(f"UUID Version 1: {uuid1}") # 生成随机UUID(版本4) uuid4 = uuid.uuid4() print(f"UUID Version 4: {uuid4}") ``` 该代码演示了如何使用Python的`uuid`模块生成不同版本的UUID,分别是基于时间戳的`uuid1()`随机生成的`uuid4()`方法[^1]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值