Bluetooth core 5.0 ---------- 通用属性 profile (GATT generic attribute profile)

      Generic Attribute Profile (GATT)建立在 Attribute Protocol(属性协议(ATT))的基础上,为 Attribute Protocol(属性协议)传输和存储的数据建立 common operations and a framework(通用操作和框架)。GATT 定义了两个角色:Server(服务器)和 Client(客户端)。GATT 的角色不一定要绑定到特定的GAP角色,但可以由 higher layer profiles(更高层次的概要文件)指定。GATT 和 ATT 不是特定于 transport(运输)的,可以在 BR/EDR 和 LE 中使用。但是,GATT 和 ATT 必须在 LE 中实现,因为它用于 discovering services(发现服务)。

      GATT server(服务器)存储通过 Attribute Protocol(属性协议)传输的数据,并接受来自 GATT client(客户端)的 Attribute Protocol(属性协议)的 requests(请求)、commands(命令)和 confirmations(确认)。GATT server(服务器)向请求发送responses(响应),当配置好后,当指定的事件在 GATT server 上发生时,它 asynchronously(异步)地向 GATT client 发送 indication(指示)和 notifications(通知)。

      GATT 还指定了包含在 GATT server 上的数据格式。Attribute Protocol(属性协议)传输的 Attributes(属性)被格式化为 Services(服务)和 Characteristics(特征)。Services 可能包含一组 characteristics(特征)。characteristics(特征)包含一个值和描述特征值的任意数量的 descriptors(描述符)。

      使用定义的 services(服务结构)、characteristics(特征)和 characteristic descriptors(特征描述符),一个不特定于 profile 的 GATT client 仍然可以遍历 GATT server 并向用户显示 characteristic values(特征值)。characteristic descriptors(特征描述符)可用于显示 characteristic values(特征值)的描述,让用户更能理解这些 characteristic values(特征值)。

你可能感兴趣的:(蓝牙5.0,stack)