attribute handle
时间: 2023-08-17 10:04:53 浏览: 51
在BLE协议中,attribute handle是一个16位的标识符,用于唯一标识一个GATT服务或特征值。它是在GATT服务器启动时由服务器定义的,并且在整个连接期间都不会更改。GATT客户端可以使用attribute handle来读取或写入GATT服务的值或特征值,或者执行其他操作。在GATT协议中,每个GATT服务和特征值都有一个唯一的attribute handle。因此,attribute handle在BLE连接中起着非常重要的作用,它可以让GATT客户端准确地访问GATT服务器中的每个服务和特征值。
相关问题
) Attribute Handle
Attribute Handle(属性句柄)是指 BLE 设备在其 Attribute Table 中为每个 Attribute 分配的唯一标识符,它用来标识 Attribute 在 Attribute Table 中的位置和索引。Attribute Handle 是一个 16 位的整数,它在 BLE 设备启动时被分配,并在设备的整个生命周期中保持不变。在 BLE 设备之间的数据交互和通信中,Attribute Handle 被用来标识和访问 Attribute,Client 可以通过 Attribute Handle 来读取、写入、订阅和取消订阅 Attribute 的值和属性。Attribute Handle 可以看作是一个 Attribute 在 Attribute Table 中的地址,它使得 Client 可以快速、准确地访问 BLE 设备的属性和功能。在 BLE 应用程序中,开发者需要熟悉 Attribute Handle 的概念和使用方法,以便实现 BLE 设备之间的数据交互和通信。
在 BLE ⾥,Attribute Handle 值从 0x0001 开始,往后加⼀递增,⽽数组的下标从 0 开始,在 Attribute Table ⾥ 加上上⾯这个虚拟的 Attribute,正好使得后⾯每个 Attribute 在数据⾥的下标号等于其 Attribute Handle 的值。 当定义好了 Attribute Table 后,数 Attribute 在当前 Attribute Table 数组中的下标号,就能知道该 Attribute 当 前的 Attribute Handle 值。
没错,在 BLE 中,Attribute Handle 值从 0x0001 开始,依次往后递增。在 Attribute Table 中,每个 Attribute 的下标从 0 开始,而不是从 1 开始。为了方便起见,在 Attribute Table 数组的第 0 项中添加了一个无效的 Attribute,使第一个有效的 Attribute 的下标为 1,即对应 Attribute Handle 为 0x0001。这样定义 Attribute Table 后,每个 Attribute 在该数组中的下标即为其 Attribute Handle 值减 1。因此,通过 Attribute 在 Attribute Table 中的下标号,就能计算出该 Attribute 的 Attribute Handle 值。