[BLE] Heart Rate Protocol - Sensor

本文详细介绍了BLE心率协议,包括其角色定义、服务配置(如HeartRateMeasurement、BodySensorLocation和HeartRateControlPoint)以及相关的UUID。目标是帮助开发者快速理解和实现基于GATT的心率服务应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

目前我从网上找到的有关BLE心率协议的博文内容良莠不齐,很难让人根据文章内容来全面理解心率服务;此外SIG网站上有关心率服务的文档比较多,内容比较碎,需要读者从多个文档中将需要的内容拼接起来,因此写下这篇博文,相对全面地整理和总结BLE心率协议的相关内容,目的是让读者通过一篇博文就能够基于GATT写出一个心率服务的应用程序。


一、简介

Heart Rate Protocol(心率协议)是一种基于GATT的标准协议,心率收集设备可以通过心率协议从心率传感器收集设备。
在心率协议中,设备有两种角色:Collector和Sensor。Sensor可以测量心率并将数据发送给Collector;Collector可以从Sensor获取心率数据和其它数据。举例说明就是,通常在心率协议中,你的运动手环是Sensor,而你的手机是Collector。
如果要在Sensor设备上使用心率服务(Heart Rate Service),那设备还要同时支持Device Information Service,DIS中必须包含Manufacturer Name String这个characteristic。如果在Collector上使用心率服务,设备只需要支持Heart Rate Service即可。

二、服务配置

HRS

HRS包含以下characteristics:

Characteristics of Heart Rate Service

Heart Rate Measurement

Heart Rate Measurement characteristic被用于发送心率测量数据。它由4个字段组成:
Payload of Heart Rate Measurement

  • Flag:顾名思义,是一个标志位,占8个bits。其中每个bit都有自己的含义。
    • Heart Rate Value Format bit:这个bit用于声明发送的心率值的数据类型。虽然大部分人的心率都在255 BPM以下,但是心率服务具备支持更高心率值的能力;)。这个bit为0时,Heart Rate Value Format为uint8;为1时,Heart Rate Value Format为uint16;
    • Sensor Contact Detected bit:这个bit用于表示传感器是否探测到了接触,即用来表示传感器的佩戴状态。0表示未佩戴,1表示已佩戴;
    • Sensor Contact Supported bit:这个bit表示传感器是否支持接触探测功能,或者说是佩戴检测功能。0表示不支持,1表示支持;
    • Energy Expended Present bit:这个bit用于表示是否支持能量消耗数据,也就是日常消耗的热量数据。0表示不支持,1表示支持;
    • RR-Intervals Present bit:这个bit用于表示是否支持RR-Interval数据。RR-Interval是指心电数据中两个R峰之间的时间间隔。

Definition of RR-Intervals
Bit field of Flag

  • Heart Rate Measurement Value:心率测量值,单位为BPM;
  • Energy Expended:单位为kilo Joules,千焦耳。由于这个字段的最大值为65535,因此当值超过65535时,应当上传65535给Collector,这样Collector就知道数值已溢出,会重置数据;
  • RR-Interval:这个字段是个uint16数组,单位为1/1024秒。旧数据在前,新数据在后。

Body Sensor Location

顾名思义,这个characteristic表示传感器在身体上的佩戴位置,payload为8个bit,在一次连接中,这个characteristic的值应保持不变。
在这里插入图片描述

Heart Rate Control Point

这个characteristic用来重置上文提到的Energy Expended字段的值。Collector发送0x01时,可以重置。

三、UUID

  • Heart Rate Service:0x180D
  • Heart Rate Measurement Characteristic: 0x2A37
  • Body Sensor Location:0x2A38
  • Heart Rate Control Point:0x2A39

参考资料

Heart Rate Profile 1.0
Heart Rate Service 1.0
Assign Numbers
GATT Specification Supplement

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值