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

蓝牙心率监视器字节解码

徐焱
2023-03-14

我无法理解BLE心率特性的返回数据(service180d,Characteristic2a37)。

根据规范,将有6或7字节的数据(当base64解码时),我完全理解在这种情况下如何处理它。

但有时它不会返回6或7个字节,而是8个字节,更罕见的是4个字节,我不知道为什么会有更多/更少的字节,以及添加的字节是什么意思,或者哪些字节被遗漏了。

我可以跳过所有没有6或7字节的情况,但我想完全理解这一点。

我确信base64编码到字节数组的转换是正确的,我为它制作了一个函数,并使用手动base64解码与charCodeAt(索引)相结合的方法进行了检查,并使用好的铅笔、纸和大脑(不一定按此顺序)进行了真正的手动检查。

BLE心率(180d2a37)有时不会返回预期的字节量(当它应该是6或7字节时为4和8)。到底发生了什么,为什么?

// Example results in byte-array's
["00010110", "01110111", "00000100", "00000010"] // unexpected 4 byte
["00010110", "01111000", "11111111", "00000001", "11111111", "00000001", "00001100", "00000001"] // unexpected 8 byte
["00010110", "01110111", "00001000", "00000010", "00001000", "00000010"] // normal 6 byte

// Example results in hex-array's (easier to read on small screens)
["0x16","0x77","0x04","0x02"] // unexpected 4 byte
["0x16","0x78","0xFF","0x01","0xFF","0x01","0x0C","0x01"] // unexpected 8 byte
["0x16","0x77","0x08","0x02","0x08","0x02"] // normal 6 byte
  1. 标志。如果心率为16位格式(我只有8位),则第一位(最右边)打开。
  2. 心率,如果心率是16位格式,这里将有2个字节
  3. 消耗的能量
  4. 消耗的能量
  5. rr间隔
  6. rr间隔

共有1个答案

司马钱明
2023-03-14

能量消耗是可选的检查示例数据案例中标志的第3位它不存在。rr间隔的数量可变。4个字节只有1个,6个字节有2个,8个字节有3个,理论上可以得到10和4。

您应该使用标志解码字节,然后如果存在rr,则剩余字节数/2是您拥有的rr数。

有关详细信息,请参阅XML定义文件。

 类似资料:
  • 蓝牙遥控器可以和 Makeblock 各类机器人,主控板,蓝牙模组,蓝牙适配器进行配对,从而实现对机器人、舞台、主控板、项目作品的远程遥控。 该遥控器主要被用于 MakeX 赛事中手动环节的机器人控制上。 参数 材质:ABS 蓝牙版本:4.0 传输距离:20m 抗干扰能力:支持80个同时工作 供电方式:2节 5号电池

  • 蓝牙遥控器可以和 Makeblock 各类机器人,主控板,蓝牙模组,蓝牙适配器进行配对,从而实现对机器人、舞台、主控板、项目作品的远程遥控。 该遥控器主要被用于 MakeX 赛事中手动环节的机器人控制上。 参数 材质:ABS 蓝牙版本:4.0 传输距离:20m 抗干扰能力:支持80个同时工作 供电方式:2节 5号电池

  • jd.closeBluetoothAdapter(Object object) 关闭蓝牙模块。调用该方法将断开所有已建立的连接并释放系统资源。建议在使用蓝牙流程后,与 jd.openBluetoothAdapter 成对调用。 参数 Object object 属性 类型 默认值 必填 说明 success function 否 接口调用成功的回调函数 fail function 否 接口调用失败

  • 蓝牙模块能够使你的作品与 Makeblock 蓝牙适配器 或支持蓝牙4.0的设备建立无线连接,使你能够无线地控制你的作品。 蓝牙的连接设置参看:通过蓝牙连接设备 蓝牙的灯效及含义 闪烁:蓝牙未被连接 常亮:蓝牙已连接,工作正常 灭:断电或故障 参数 尺寸:24×24mm 推荐使用距离:10m以内 蓝牙版本:BT4.0 频带范围:2402~2480MHz 天线增益:1.5dBi 能耗等级:≤4dBm

  • 蓝牙模块能够使你的作品与 Makeblock 蓝牙适配器 或支持蓝牙4.0的设备建立无线连接,使你能够无线地控制你的作品。 蓝牙的连接设置参看:通过蓝牙连接设备 蓝牙的灯效及含义 闪烁:蓝牙未被连接 常亮:蓝牙已连接,工作正常 灭:断电或故障 参数 尺寸:24×24mm 推荐使用距离:10m以内 蓝牙版本:BT4.0 频带范围:2402~2480MHz 天线增益:1.5dBi 能耗等级:≤4dBm

  • 1.1.1. btflinger 1.1.2. 以下为相关的接口: 1.1.1. btflinger btflinger是RokidOS提供的蓝牙服务 1.1.2. 以下为相关的接口: int bluetooth_rokid_open(char *name);//打开蓝牙 int bluetooth_rokid_close(void);//关闭蓝牙 int bluetooth_rokid_us