FiRa标准——蓝牙OOB规范(三)

在上一节介绍了基于Advertiser与Scanner的发现,对于FiRa的蓝牙OOB中,设备分为主连接器(Connector Primary,CP)与辅助连接器(Connector Secondary,CS),本节介绍基于蓝牙GATT服务的发现实现。

8、蓝牙GATT服务发现

        基于蓝牙GATT的服务发现流程,以及FiRa设备的蓝牙应用层,该应用实现设备发现并建立蓝牙连接。

FiRa标准——蓝牙OOB规范(三)_第1张图片

8.1 辅助连接器(Connector Secondary,CS)

本节描述蓝牙GATT层实现CS的结构和方法。

8.1.1 CS的GATT server定义

在GATT服务器端实现CS的设备被要求公开一个GATT Primary Service,UUID : 0xFFF4。

以下GATT特征公开在CS GATT Primary Service。此服务中,每个特征仅允许存在一个实例。

FiRa标准——蓝牙OOB规范(三)_第2张图片

可以看到,对于CS端服务的几个Characteristic的UUID依次为:0x2A03、0x2A04、0x2A05。

在OOB实现数据交换,均通过通过“IN”和“OUT”控制点特征,需要遵守第9.1节中描述的数据交换协议。

8.1.2 实现CS的GATT Server的行为

GATT服务器简单等待来自客户端的发现。直到一个客户端使能“OUT”控制点特征的值通知方法(通过客户端特征配置描述符,CCCD),服务器端都应该忽略各种通过“IN”控制点特征写入方法发送的命令。

一旦在“OUT”控制点特征上启用句柄值通知方法,GATT服务器将执行FiRA连接器数据包和FiRa连接器消息的处理,具体如下:

  • 它对FiRa连接器数据包中接收到的具有给定SECID,通过“IN”控制点特性的分段FiRa连接器命令消息(FiRa Connector command Message)进行重组。
  • 它将FiRa连接器响应消息拆分为一个

你可能感兴趣的:(UWB技术,智能硬件,物联网,信息与通信,c++)