movesense - 确定传感器何时磨损的最省电方法
问题描述
我在 HR+ 传感器上使用 Movesense 2.0.0,我必须在设备未佩戴时将功耗降至最低。
我无法完全关闭它,因为我需要它来保持正确的时间,因此,为了减少电池使用量,当我在一定时间内没有收到 HR 通知时,我取消了所有传感器的订阅。
确定何时再次佩戴设备的最省电方式是什么?我正在考虑订阅加速度计(据我所知,它是功耗最低的传感器),当我检测到运动时,我重新订阅 HR 并检查传入的数据。
这是一种有效的方法吗?
我还注意到,当设备未佩戴但仍连接到表带时,我有时会收到不正确的心率通知,例如表带充当电磁噪声的天线。有没有办法检测设备何时处于该状态,除了查看 HR 数据以查看它们是否有意义?
解决方案
您的问题对于“佩戴传感器”的含义有点含糊(我假设您的意思是胸部的 HR 带)。在这种情况下,如果您查看功耗文档(参见与无唤醒相比的 PowerOff 测量值),您会注意到
- HR 唤醒(/System/States/2 (=Connector))约为 0.2 uA
- 运动唤醒(/System/States/0 (=Movement))约为 4 uA
对于 Acc @ 13 Hz,所有其他测量值从 10 uA 开始要高得多。
因此,最简单和最低的功耗确定是订阅/System/States/2。
如果您的固件基于 >=2.1 版本并且您测量 HR 或 ECG,您还会在连接丢失时在测量期间获得更新(所谓的 Leads-Off 检测),因此这应该有助于过滤掉虚假的 HR 检测。对于固件 2.0 和更早版本,您在测量时会获得连接器状态 2 ( =Unknown )。
注意:检测上的引线(/System/State/2当没有 HR 测量正在进行时)非常敏感,当 HR 带出汗时可以给出“连接”状态。
全面披露:我为 Movesense 团队工作
推荐阅读
- google-apps-script - 我想写一个谷歌表格程序,当我在今天的某个日期范围内时会发送一封电子邮件
- bash - 编写一个脚本,对于作为参数给出的任何名称,打印具有该名称的人的主目录的路径列表
- reactjs - React Js解析错误:严格模式下不允许遗留八进制文字
- python - 改变硬币的方法数
- swift - 在 Swift 中遵循具有相同变量名的协议时如何避免无限循环?
- r - 使用 R Markdown 在文档中交叉引用
- java - 如何获取 Firebase 服务器时间?
- json - 为什么 PySpark 在尝试将字符串从 Kafka 主题加载到字典时会抛出 JSONDecodeError?
- sql - 通过中断蜂巢捕获连续年份范围
- haskell - 如何在 cabal 3.x 中使用 haskell 沙箱?