分析心率监测器返回的数据

2024-04-09

我正在尝试通过蓝牙读取心率监视器传输的数据,但我真的不知道如何读取心率监视器返回的字节。

每个供应商可能都有自己的将数据包装成字节的方法。但是如何将这些字节转换为某种可读格式,以便我可以分析其中的变化?
例如 ASCII 值或某些十六进制值。

我尝试了 My Track 应用程序的代码,但这对我不起作用。

MyTrack 解析心率数据 http://code.google.com/p/mytracks/source/browse/MyTracks/src/com/google/android/apps/mytracks/services/sensors/PolarMessageParser.java

我正在尝试读取 Android 中的字节,到目前为止我正在获取这些数据,但不知道哪个字段代表什么。

55 04 00 38 00 15 af    

14 b0 00 38 00 13 b1    

55 04 00 38 00 13 b1

55 04 00 38 00 12 b2 

希望您的心率监测器遵循此处定义的数据规范:

Bluetooth.org 上的心率测量 https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.heart_rate_measurement.xml

据我所知,以下是如何应用该文档中的信息:

  1. 获取第一个十六进制字节 55,并将其转换为二进制:01010101。
  2. 由于蓝牙数据是小尾数,因此将该序列的右端视为位 0,左端视为位 7。
  3. 现在您可以查看蓝牙消息的 Flags 字段的文档。标志字段的位 0 告诉您心率数据是 8 位还是 16 位。在你的例子中,位 0 是 1,所以你有 16 位数据。
  4. 查看第一个示例中接下来的两个十六进制字节:04 00。
  5. 将其转换为十进制。现在这部分我不确定。如果我将 04 00 转换为十进制,我会得到 1024,所以我一定做错了什么。也许巧合的是,如果我反转这些数字并将 00 40 转换为十进制,我会得到 64,这可能是坐在电脑前的人的心率值(我现在是 62)。也许有人可以评论如何解释这部分。

就我而言,使用 Wahoo Blue HR,返回的数据如下:

14 46 59 03 58 03

将 14 转换为二进制 (00010100) 并查看位 0 (0) 告诉我心率是 8 位,因此我只需要第二个十六进制字节 (46)。将其转换为十进制得到 70。

不幸的是,我不知道如何解释你的第二个样本。第一个十六进制字节 14 表示一个 8 位值,但这将使心率值 B0 或 176——对于坐在计算机前的人来说这不是一个可能的值。我也不希望单个设备在传输 8 位和 16 位值之间切换,但我认为这是可能的。

这个问题 https://stackoverflow.com/questions/14038906/apples-heart-rate-monitoring-example-and-byte-order-of-bluetooth-heart-rate-mea包含进行这些转换的代码,它对我有用。我只是想在实施之前尝试理解文档。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分析心率监测器返回的数据 的相关文章

  • 如何修复maven错误JAVA_HOME环境变量未正确定义

    当我在虚拟环境中检查maven的版本时 出现以下错误 The JAVA HOME environment variable is not defined correctly This environment variable is need
  • java 中的 Try-with-resources 和 return 语句

    我想知道是否放一个return里面的声明尝试资源block 防止资源自动关闭 try Connection conn return conn createStatement execute 如果我写这样的东西将会联系被关闭 Oracle 文
  • 使用 equals 方法比较两个对象,Java

    我有一个对象数组 我想将它们与目标对象进行比较 我想返回与目标对象完全匹配的对象的数量 这是我的计数方法 public int countMatchingGhosts Ghost target int count 0 for int i 0
  • Android httpclient文件上传数据损坏和超时问题

    我在 Android 中上传图像时遇到问题 我正在使用 apache httpmime 4 1 lib 代码是这样的 MultipartEntity reqEntity new MultipartEntity HttpMultipartMo
  • Java:不使用 Arrays.sort() 对整数数组进行排序

    这是我们 Java 课程的练习之一中的说明 首先 我想说我 做了我的功课 我不仅仅是懒惰地请 Stack Overflow 上的人帮我回答这个问题 在所有其他练习中 这个特定项目一直是我的问题 因为我一直在努力寻找 完美的算法 编写JAVA
  • Hazelcast:连接到远程集群

    我们有一组 Hazelcast 节点 全部运行在一个远程系统 具有许多节点的单个物理系统 上 我们希望从外部客户端连接到该集群 一个 Java 应用程序 它使用如下代码连接到 Hazelcast ClientConfig clientCon
  • Java:java.util.Preferences 失败

    我的程序将加密的产品密钥数据保存到计算机上java util Preferences类 系统首选项 而不是用户 问题是 在 Windows 和 Linux 上 尚未在 OSX 上测试过 但可能是相同的 如果我不运行该程序sudo或者具有管理
  • 无法登录 Google Play 游戏服务

    我在开发者控制台上使用包名称和正确的签名证书设置了我的游戏 并为其创建了排行榜 但没有创建任何成就 然后 我从以下位置下载了示例 Type A Number Challenge 和 BaseGameUtils https developer
  • 在片段之间切换时底部导航栏会向下推

    在我的活动中 我有一个底部导航栏和框架布局来显示片段 一切正常 但问题是当我开始按顺序从 1 4 移动时 底部导航栏保持在其位置 但当我突然从 4 跳到2 然后底部导航栏就会超出屏幕 当再次单击同一项目时 它就会回到正常位置 该视频将清楚地
  • 如何在 onDraw() 方法中定义与像素无关的高度

    我扩展了 View 来构建自定义小部件 我想用独立的像素单位定义小部件的高度 我认为可以通过将像素密度乘以所需的高度来完成 但我不知道该怎么做 到目前为止我所拥有的 最小化 public class Timeline extends Vie
  • 如何在启用嵌入时间戳和 LTV 的情况下签署 PDF?

    我正在尝试签署启用了时间戳和 LTV 的 pdf 以便它在 Adob e Reader 中显示如下 在英语中 这意味着 签名包含嵌入的时间戳 和 签名启用了 LTV 这是我正在使用的代码 PrivateKey pk get pk from
  • Android 4.2 - Environment.getExternalStorageDirectory().getPath() 行为

    我一直在开发一个android应用程序 在上次更新到4 2之前 我使用 Environment getExternalStorageDirectory getPath 它返回了我 storage sdcard0 但自从更新后我现在得到了 s
  • 应用程序中空指针异常[重复]

    这个问题在这里已经有答案了 我正在尝试在我的应用程序中实施应用程序内计费 我写了这段代码 public class Settings extends PreferenceFragment ServiceConnection mService
  • 如何在 Java 中创建一个带有连字符的值的静态枚举?

    如何创建如下所示的静态枚举 static enum Test employee id employeeCode 截至目前 我遇到了错误 这对于 Java 来说是不可能的 因为每个项目都必须是有效的标识符 并且有效的 Java 标识符可能不包
  • Android复杂布局线性和相对

    I have to implement a layout like shown in the diagram and I do not know the best combination to achieve the required de
  • Java给定长度的随机数

    我需要在 Java 中生成一个恰好 6 位数字的随机数 我知道我可以在随机发生器上循环 6 次 但是在标准 Java SE 中还有其他方法可以做到这一点吗 要生成 6 位数字 Use Random http download oracle
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 接口中“不能降低继承方法的可见性”的含义

    我有两个文件 public interface PrintService void print PrintDetails details class PrintDetails private String printTemplate pub
  • AES 密钥是随机的吗?

    AES 密钥可以通过此代码生成 KeyGenerator kgen KeyGenerator getInstance AES kgen init 128 but 如果我有一个 非常可靠 的生成随机数的方法 我可以这样使用它吗 SecureR
  • Android Espresso - 如果未选中,请单击复选框

    I have onView withId R id check box perform click 但我只想在尚未选中该复选框时执行此操作 我怎样才能在浓缩咖啡中做到这一点 我还想根据其之前的状态来切换复选框 开关 起初 我尝试用此方法打开

随机推荐

  • Thread.Sleep(300) 无法正常工作

    我希望它执行代码的第一部分 然后使图片框可见 暂停 3 秒 隐藏图片框并执行其余代码 first part of the code here pb elvisSherlock Visible true Thread Sleep 300 pb
  • 用于解析包含逗号分隔值的命令行输入的批处理文件

    我正在开发一个命令行实用程序 它将一组输入参数作为命令 然后根据预定义名称验证这些输入参数 该实用程序以这种方式调用 运行实用程序 cmd A B x y z C w 这里的参数是 A B 和 C 以 开头的参数 现在验证规则如下 参数的名
  • 使用rest-client 将文件下载到磁盘,而不先将其全部加载到内存中

    我正在使用 Rest client 下载大页面 大小约为 1 5 GB 检索到的值存储在内存中 而不是保存到文件中 结果我的程序崩溃了failed to allocate memory NoMemoryError 但没有必要将这些数据保存在
  • R:如何从 R 包中的 inst/extdata 延迟加载变量

    我的 inst extdata 中有一个文件 helper RData 文件 其中包含 我的包中的函数要使用的变量和数据集 但不意味着用户可以访问 我使用以下方法将其加载到包的开头 load system file extdata help
  • 在实现特征时如何明确指定生命周期?

    鉴于下面的实现 基本上我有一些可以通过 i32 id 字段或字符串字段查找的项目集合 为了能够互换使用 使用了特征 IntoKey 并且match分派到适当的查找映射 这一切都适合我的定义get内MapCollection impl use
  • React 16.8.6 对应的测试库/react 版本是什么?

    我正在尝试制作一个打字稿前端 但我无法使用react dom client导入是因为我已经缩小到我的测试库 反应版本与我的反应版本不对应的问题 我已经尝试了多个降级版本 但似乎无法让它工作 有什么解决办法吗 我会附上我的package js
  • 将请求传递给特定的分叉节点实例

    如果我错了 请纠正我 但不可能在同一端口上启动多个 http 服务器 基于此 有趣的是 NodeJS 集群可能会分叉 因为我知道有一个主人正在将请求传递给其中一个分叉工人 什么worker是由操作系统管理的或者cluster schedul
  • Amazon SES 停止工作

    我设置了 Amazon SES 它最初运行了几个小时 然后突然停止了 我发送的所有电子邮件以及我们的域都已经过验证 我们不会发送大量电子邮件 每天只发送几百封 每当我对 web config 进行更改时 它似乎又可以再工作 2 3 小时 例
  • Rails 3 link_to (:method => :delete) 不起作用

    我有Rails 中的动词有问题 查看资源 狗 的页面 该资源有很多 跳蚤 嵌入狗体内show html haml是一个电话render dog fleas它会自动 找到并使用 fleas flea html haml 中的模板来列出与所述狗
  • 单遍读取和验证 XML 与 C# 中引用的 XSD

    我正在尝试从 XML 文件中读取数据 并根据它建议的 XSD 对其进行验证 将其转换为单个数据结构 例如 XmlDocument 我有一个解决方案 但它需要两次通过文件 我想知道是否有单次解决方案 MyBooks xml
  • 如何在 PHP 中将数字格式化为美元金额

    如何将数字转换为显示美元和美分的字符串 eg 123 45 gt 123 45 123 456 gt 123 46 123 gt 123 00 13 gt 0 13 1 gt 0 10 0 gt 0 00 如果你只想要简单的东西 numbe
  • 如何在 Windows 命令行上以合适的格式获取当前日期/时间以在文件/文件夹名称中使用?

    更新 现在已经是 2016 年了 我会使用 PowerShell 来实现此目的 除非有真正令人信服的向后兼容的原因 特别是因为使用的区域设置问题date 请参阅 npocmaka 的https stackoverflow com a 197
  • Android 上的 pthread_create 警告

    打电话后pthread create函数我收到下一条消息 W libc 26409 pthread create sched setscheduler 调用失败 不允许操作 用于创建线程的代码是 pthread attr t threadA
  • 防止单个单词在 css/html 中环绕浮动

    有没有什么方法可以防止一个或两个单词环绕浮动 但如果有更多文本则允许它 这是一个示例 其中第一个文本有问题 但第二个文本很好 http jsfiddle net wdPCp http jsfiddle net wdPCp div class
  • AllowAnonymous 不适用于 Azure 广告身份验证

    我有一个 Asp net MVC 应用程序 在其中使用 Azure AD 身份验证来对用户进行身份验证 我想允许用户无需登录即可访问某些 api 控制器 我尝试将 AllowAnonymous 属性放在控制器顶部以跳过这些控制器进行身份验证
  • 无法杀死的控制台窗口

    我正在 Visual C 2008 下使用 GLUT 开发基于 OpenGL 的 2d 模拟 有时当我遇到断言 或未处理的异常并闯入调试器时 GLUT 显示窗口关闭 但控制台窗口保持打开状态 它们只是不能杀了 它们不会出现在任务管理器 进程
  • 计算的属性不会在 Powershell 中引发异常。有哪些解决办法?

    显然有一个通过设计怪癖 https connect microsoft com PowerShell feedback details 782806 calculated properties do not throw exceptions
  • 使用 Firefox 打开确认对话框时显示“$apply already in Progress”

    我 有时 变得很奇怪 申请已在进行中在以下看似无辜的情况下打开确认对话框时出错 var mod angular module app mod controller ctrl function scope interval http scop
  • 如何知道ngOnChanges中哪些@Input发生了变化?

    我正在使用 Angular 2 现在我有两个 inputaa and bb 我想要做 If aa改变 做某事 If bb改变 做其他事情 如何知道哪些 Input发生了变化ngOnChanges Thanks Input aa Input
  • 分析心率监测器返回的数据

    我正在尝试通过蓝牙读取心率监视器传输的数据 但我真的不知道如何读取心率监视器返回的字节 每个供应商可能都有自己的将数据包装成字节的方法 但是如何将这些字节转换为某种可读格式 以便我可以分析其中的变化 例如 ASCII 值或某些十六进制值 我