蓝牙规范 Core v5.2 GAP 文档解读第12章 GATT服务器的GAP服务和特性
12 GATT服务器的GAP服务和特性
GATT服务器应包含GAP服务。一个设备的GATT服务器只能有一个GAP服务实例。
GAP服务是一个基于GATT的服务,服务UUID是«GAP服务»参见https://www.bluetooth.com/specifications/gatt/services/
BR/EDR GAP角色 |
LE 广播者 |
LE 观察者 |
LE 外围设备 |
LE 中心设备 |
|
GAP服务 | C1 | E | E | M | M |
C1: 对于BR/EDR/LE类型的双模设备为M,否则为O。 |
特性 | BR/EDR GAP角色 |
LE 广播者 |
LE 观察者 |
LE 外围设备 |
LE 中心设备 |
设备名称 | C1 | E | E | M | M |
外观 | C1 | E | E | M | M |
外围设备首选连接参数(PPCP) | O | E | E | O | E |
中心设备地址解析 | O | E | E | C3 | C2 |
只有可解析私有地址 | O | E | E | C3 | C3 |
C1:对于BR/EDR/LE类型的双模设备为M,否则为O。 | |||||
C2:如果支持链接层隐私,则为M,否则为E。 | |||||
C3:如果支持链接层隐私,则为O,否则为E。 |
一个设备如果支持多种角色,那么支持的各角色的特性都要满足。
即使设备当前运行在某种角色,其它角色的特性是无效的,设备也必须继续暴露这些特性。
特性 | 属性句柄 | 属性类型 | 属性值 | 属性权限 | 补充说明 |
设备名称 | 0xMMMM | 0x2A00-UUID«Device Name» |
Device Name |
设备是可发现的:设备名称特性值是可读的,无需认证或授权。 设备是不可发现的:没有认证或授权的情况下设备名称特性值是不可读的。 设备名称特性值可能是可写的,如果可写,则认证和授权可能由更高层规范来定义或特定实现。 |
设备名称特性值长度0-248 octets。一个设备只有一个设备名称特性的实例。 |
外观 | 0xMMMM | 0x2A01- UUID«Appearance» |
Appearance | 是可读的,无需认证或授权。 可能是可写的,如果可写,则认证和授权可能由更高层规范来定义或特定实现。 |
外观特性值为Assigned Numbers中定义的枚举值。外观特性值长度为2 octets。一个设备只有一个外观特性的实例。 |
外围设备首选连接参数(PPCP) | 0xMMMM | 0x2A04- UUID«Peripheral Preferred Connection Parameters» |
Peripheral Preferred Connection Parameters |
是可读的。认证和授权可能由更高层规范来定义或特定实现。 是不可写的。 |
PPCP特性值长度为8 octets。一个设备只有一个PPCP特性的实例。值的格式见表12.6,包含最小连接间隔、最大连接间隔、slave延迟、连接监控超时倍数 |
中心设备地址解析 | 0xMMMM | 0x2AA6-UUID«Central Address Resolution» |
Central Address Resolution Support |
是可读的,无需认证或授权。 是不可写的。 |
外围设备在使用定向广播(如果发起者地址被设置为可解析私有地址(RPA))之前,应该通过读取中心设备地址解析特性来检查对等设备是否支持地址解析。 0=不支持地址解析 1=支持地址解析 一个设备只有一个该特性的实例。如果该特性不存在,应假设不支持地址解析。 |
只有可解析私有地址 | 0xMMMM | 0x2AC9-UUID«Resolvable Private Address Only» |
Resolvable Private Address Only |
是可读的,无需认证或授权。 是不可写的。 |
设备应该通过读取该特性来检查对等设备在绑定后是否只使用可解析的私有地址(RPAs),以确定是否满足隐私模式。 0=绑定后只使用可解析私有地址作为本地地址 一个设备只有一个该特性的实例。如果该特性不存在,不应假设播送中只使用可解析私有地址。 |