首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft波段心脏传感器采样率与事件控制

Microsoft波段心脏传感器采样率与事件控制
EN

Stack Overflow用户
提问于 2015-09-30 06:56:01
回答 1查看 703关注 0票数 1

我已成功地从心率传感器及心率质素传感器取得以下资料:

代码语言:javascript
复制
 IEnumerable<TimeSpan> supportedHeartBeatReportingIntervals = bandClient.SensorManager.HeartRate.SupportedReportingIntervals;
 bandClient.SensorManager.HeartRate.ReportingInterval = supportedHeartBeatReportingIntervals.First<TimeSpan>();
..... [other not relevant code excluded]

bandClient.SensorManager.HeartRate.ReadingChanged += (s, args) => { hrdt = args.SensorReading.HeartRate; };
{
    await bandClient.SensorManager.HeartRate.StartReadingsAsync();
    await Task.Delay(TimeSpan.FromSeconds(5));
    await bandClient.SensorManager.HeartRate.StopReadingsAsync();
    dsphr = hrdt.ToString();
}
bandClient.SensorManager.HeartRate.ReadingChanged += (s, args) =>  qltyhr = string.Format("{0}",args.SensorReading.Quality);

这段代码运行良好,下面是我正在编写的输出文件中的一些示例

理查德;;上午8:48:04;64 理查德;获取;上午8:48:19;64 理查德;获取;上午8:48:35;64 理查德;获取;上午8:48:50;64 理查德;获取;上午8:49:05;64

等-所有记录显示获取- 70的心率变化时,该设备是获取心率,而不是从读数。

理查;获取;上午8:52:08;70

记录格式是我的名字,传感器质量,时间,然后心率。";“用作平面文件中的字段分隔符。

然后,我重复了测试,但这次在“运行”锻炼模式下使用带,数据结果如下:

理查德;锁定;上午9:15:32;57 理查德;获取;上午9:15:47;67 理查德;锁定;上午9:16:03;64 理查德;获取;上午9:16:18;62 理查德;锁定;上午9:16:33;72

等等,同样的故事

理查德;锁定;上午9:24:40;73 理查德;锁定;上午9:24:55;72

救命!!以下是几个问题:

  • 理解由不同模式管理的“电池寿命”问题--在一个理想的世界里,我想要做的是设定自己的采样率,将传感器唤醒并锁定读数,然后让它再次进入睡眠状态,以节省电池。我猜这是不可能的,因为这是一个想象固件的问题。我说的对吗?如果不是,我该怎么做?
  • 如果我没有理想的-我想做的是能够从一个程序切换采样模式,而不是通过按一个按钮的波段。因此,我可以进行一个“突发样本”,就像在一个锻炼事件的时间和背景检查继续在剩余的时间,以节省电池。我可以这样做吗?如果是的话,怎么做?
  • 设置波段报告间隔的相关性--这里有什么我应该改变的,可以帮助控制传感器何时开启和锁定(运动模式与关闭和获取模式(正常模式))。如果是这样的话,我应该如何编码呢?从我自己的测试来看,传感器的模式似乎与报告间隔无关--但我错了吗?
  • 如果没有,是否有任何文件可以解释这种抽样是如何在最详细的情况下工作的?我花了相当长的时间在网上搜索,发现了以下内容:
  • 正常模式似乎采样3或4次和小时。
  • 如果乐队检测到明显的运动,正常模式就会苏醒过来--例如,今天早上,我和乐队一起跑了一段正常模式,一旦我的动作成功了,它就会进入锻炼模式--聪明,而且我越觉得它有用。
  • 即使是运动模式也有一些“获取”事件--但这些似乎是预测值,而且只是过去的值--如果我不能在密集的基础上进行测量--我想知道心脏预测中有什么是有效的,这样我就可以知道它是否有意义。

SDK文档没有给出这个级别的细节,我真的找不到另一种方法来找出.所以救救我!

我希望代码和数据格式在这篇文章中是可读的,因为这是我第一次在这个论坛上发布-所以请原谅我,如果我已经“按错了按钮”,包括文本!

谢谢你能给我的帮助或洞察力。

EN

回答 1

Stack Overflow用户

发布于 2016-02-02 19:07:50

好的。下面是心率订阅在Microsoft的所有版本中的工作方式。

1)订阅时,启动心率收集,除非由于某项活动或该波段固件的被动心率监视已经启动。

2)取消订阅时,关闭心率收集,除非固件也由于上述相同的原因而收集心率数据。

3)心率订阅率为1Hz,不能改变。

4)从订阅中返回的数据是由波段计算的心率,而不是直接读数。因此,询问vs Locked代表了Band认为它的读数有多精确,并且将更多地受用户戴带的方式的影响(更紧一点对此更好),而不是用户对波段所做的活动。

因此,为了节省电池寿命并以突发方式获取数据,您所要做的就是订阅,获取尽可能多的事件,然后取消订阅。

您从文档中获得的其他数据指的是内部如何使用心率,而不是SDK如何公开心率。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32859720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档