当前位置: 首页 > 知识库问答 >
问题:

BLE心率传感器价值解读

高吉星
2023-03-14

我有一个Android应用程序,可以从Polar H10设备上获取心率测量值。我完全不知道如何解释心率。蓝牙的各种链接。不幸的是,com站点导致了404个错误。

特征值为[16、59、83、4]

据我所知,第二个字节(59)是BPM中的心率。但这似乎不是十进制的,因为值先升到127,然后再升到-127,-126,-125。。。它也不是十六进制。

我试过(在科特林)

characteristic.value[1].toUInt() 
characteristic.value[1].toInt()
characteristic.value[1].toShort()
characteristic.value[1].toULong()
characteristic.value[1].toDouble()

一旦-127出现,所有值都会崩溃。

我是否必须将59转换为二进制(59=111011)并在那里看到它?请给我一些见解。

###编辑(2021年4月12日)###

为了得到这些值,我做了一个BluetoothDevice.connectGatt()。然后按住GATT。为了得到我寻找的心率值

  • 服务0x180d及其

然后我通过在描述符上设置0x01来启用通知。然后我在GattClientCallback.on特征改变()回调中获取正在进行的事件。我将在下面添加一个包含所有数据的屏幕截图。

据我所知,响应应该是6字节长,而不是4字节长,对吗?我做错了什么?

在图片上,您可以看到最顶部的特征。它链接到服务180d,该特征保存底部有4个字节的值。

共有2个答案

易自珍
2023-03-14

似乎我找到了一种方法,通过如下方式检索值

val hearRateDecimal = characteristic.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 1)

2件事很重要-UINT8的格式(虽然我不知道什么时候使用UINT8和什么时候使用UINT16。实际上我认为我需要使用UINT16,因为第一个字节实际上是16(参见上面的问题)第二-偏移参数1

我现在得到的是一个大于127的整数-

西门安歌
2023-03-14

有关文档的链接,请参见BLE中的心率值。在这个答案中,下面是解码:

位从LSB(0)到MSB(7)进行编号。

  • 位0-心率值格式:0=

所以第一个字节是UInt8格式的心率,接下来的两个字节是RR间隔。

要在Kotlin中阅读此内容:

characteristic.getIntValue(FORMAT_UINT8, 1)

这将返回56 bpm的心率。

并忽略其他两个字节,除非您想要RR。

 类似资料:
  • 佩戴舒适的心率传感器与 A300,从您的每日运动中获得最大益处。您可以在 A300 中实时准确查看您的心率。查看您的训练的主要作用,并关注您希望实现的目标——燃烧脂肪或提高健康水平。或根据您在 Flow 网络服务上规划的训练指导找到心率区。心率传感器在您游泳时也可检测您的心率。 虽然训练时存在许多暗示身体状况的主观迹象(主观体力感觉、呼吸频率和身体感觉),但都不如测量心率可靠。它是内在和外在因素影

  • 问题内容: 我正在尝试使用MainActivity.java上的以下代码访问LG Watch Urbane的心率传感器: 问题是我收到此错误: 发生该错误是因为没有与TYPE_HEART_RATE相关联的传感器。因此,我编写了一些代码以使用.getSensorList(Sensor.TYPE_ALL)方法获取传感器的完整列表,我得到了以下信息: 我在那里没有看到任何心率传感器,所以我不知道为了从中

  • 在Samsung的编程指南(第77-81页)中有关于如何使用S Health Service SDK设置和获取心率信息的参考。不过,我想直接访问Galaxy S5的心率传感器,就像访问加速度计、陀螺仪、光传感器等传感器一样。我为三星gear live找到了这个例子,但我找不到任何Galaxy S5的例子。 是否可以直接访问Galaxy S5的心率传感器?有没有人有一个如何做的代码示例? 谢谢你。

  • 发生该错误的原因是没有与TYPE_HEART_RATE相关联的传感器。因此,我编写了一些代码,以便使用.getSensorList(sensor.type_all)方法获得传感器的完整列表,结果如下: 我没有看到任何心率传感器在那里,所以我不知道我必须使用什么类型的数字,以便从它得到数据。 谁知道我做错了什么?

  • 是否可以在Android Wear中记录来自心率传感器的原始光线数据?我知道以bpm记录计算的心率是可能的,但我想记录原始的光数据。 我正在使用的设备是Polar M600。 这个问题以前已经问过了,但我现在再问一遍,以防此后有任何新的设备或API使访问这些数据成为可能:

  • 如有任何建议将不胜感激。