GATT与服务介绍

点击链接,观看视频课程:

1、GATT基本介绍

GATT角色介绍

  • 定义和管理输入/输出数据交换

GATT Client Server

Commend(命令)和Request(请求)的区别

Notification(通知)和Indication(指示)的区别

协议结构

  • 协议/服务和特性之间的关系

属性

  • 带有标签,可被寻址的数据
  • 句柄:用于寻址
  • 属性类型:可被公开的各种各样的数据类型
  • 属性值:设备公开的状态信息
  • 属性许可:包括使用许可,认证许可,授权许可

服务

  • 主要服务:暴露设备的主要可用功能
  • 次要服务:旨在由主要服务引用
  • 扩展服务:当扩展A服务的时候,来保证其兼容性
  • 结合服务:引用其他服务,融合在一起,成为其他组合的行为

特性characteristic由三个基本要素组成:

  • 声明declaration:声明是一个特征的开始—性质(读取/写入/通知/指示/广播/命令/签名认证;数值句柄—特性值的存储位置;特性UUID)
  • 值value:包含此特性的实际值
  • 描述符descriptors:描述符包含此特性的附加信息或配置。附加信息;任何数量;任何顺序;可以是供应商特定的

GATT发现规程

  • GATT程序定义了服务,特征及其描述符发现然后使用的标准方法

GATT客户端与服务端发起规程

2、心率服务介绍

工程目录

连接方式

  • Heart Rate Server与ST BLE Sensor连接

心率服务特性表

Heart Rate Measuremen特性

  • 用来发送心率结果,包含了标志位、心率值、能量消耗、RR间隔等。
  • 心率测试值(必须存在):UINT8或UINT16
  • 能量消耗域(可能存在):能量消耗表示自上次重置以来以千焦为单位的累计能量消耗。由于能量消耗是UINT16单位,可以表示的最大值是65535KJ。如果达到了最大值,那么字段值应该保持在0xFFFF,以便客户端能够意识到需要重置所消耗的能量字段
  • RR间隔域(可能存在):代表的是心电图中两个R波之间的间隔,最大字节长度可能为7/8/9。心跳的传输间隔有服务端决定,用户不可配置,通常1s/次或10s/次

Characteristic Descriptors特性

  • CCCD:客户特性配置描述符,用来打开或关闭心率通知

Body Sensor Location特性

  • 该特性为可选特性,用于描述该装置的心率测量的预定位置,在连接中该值为静态不变的

Heart Rate Control Point特性

  • 使客户端能够控制服务端行为
  • C.1表示当能量消耗特性支持时,该控制点特性是强制的。该控制点写入0x01时,重启能量消耗统计

3、心率配置文件介绍

心率配置

  • 角色:Heart Rate Sensor-GATT Server;Collector-GATT Client

心率服务的增加要求

  • Service UUIDs AD Type:在广播数据中,心率Sensor应当在服务UUID的AD Type域中包含心率服务的UUID,增强互操作性
  • Local Name AD Type:Heart Rate Sensor应当包括在广播数据或扫描响应数据中,增强用户体验
  • GAP Device Name characteristic:Heart Rate Sensor应当支持Collector写设备名特性的性质

设备信息服务的增加要求

服务发现

  • Collector用过GATT主服务发现规程,来发现心率服务(必须)和设备信息服务(非必须)。
  • Collector通过GATT特性发现规程,来发现特性
  • Collector通过GATT特性描述符发现规程,来发现特性描述符

推荐的广播参数

  • 先进行快速广播
  • 如果30s未连接,将进入慢速广播,以降低功耗

其他原则

  • 广播间隔的设定,需要考虑到用户期待建立连接的时间
  • Heart Rate Sensor应当接受任何合理的设定值,待主机完成服务发现、绑定等操作后,再选择请求改变合适的连接参数
  • 一旦绑定建立,Heart Rate Sensor需要将设备放入白名单,并将广播过滤策略修改为只允许白名单的设备扫描和连接
  • 前10s只允许绑定的设备进行连接,后面再允许其他设备扫描和连接
  • 如果Sensor不再接触皮肤或者停止了心率活动,Sensor应当断开连接,然后重新允许其他collector的连接

4、ST自定义P2P服务

工程服务

连接方式

  • P2P Server与P2P Client连接
  • P2P Server与ST BLE Sensor建立连接

服务特性表

通讯序列

发布于 2020-10-27 10:02