Microsoft Band 2 Data 停止流式传输加速度计和陀螺仪
Microsoft Band 2 Data stops streaming for accelerometer and gyroscope
我一直在开发一个 Android 应用程序来跟踪全天的饮食情况。我们还没有决定使用哪些传感器,所以该应用程序能够连接到服务中的所有传感器,并无限期地传输它们,具体取决于 phone 何时决定清理应用程序的资源。我在可靠性测试期间注意到的是,当加速度计和陀螺仪都以中频或高频流式传输时,它们会在两到三分钟后切断。我已经实现了一个超时线程来检查最后接收到的加速器或陀螺仪数据(取决于它们是否应该流式传输)并在它们停止流式传输时重新注册新的侦听器。有没有其他人遇到这个问题 and/or 有没有人推荐一种电池密集度较低的可靠流式传输方式 acc/gyro?
总结一下:
- 注册的加速度计和陀螺仪侦听器在 2-3 分钟后停止接收数据
- 只有在中频和高频设置下流式传输 accel/gyro 并且仅当加速器和陀螺仪都在流式传输时才会发生这种情况
- 无论其他传感器是否正在流式传输,都会发生这种情况
- 发生这种情况时不会抛出异常
- Subscription/unsubscription 以及传入数据都在新线程上处理
- 我有一个 hacky 超时线程,如果 accel/gyro 停止流式传输
,它会注销和注册新的侦听器
问题:
- 还有其他人运行关注这个问题吗?
- 使用新线程处理会导致侦听器取消注册的数据是否存在问题(不太可能,因为其他数据以这种方式实现)?
- 是否有比让线程检查超时更好(更省电)的方法来检测未发生的事件并对其做出响应?
提前致谢!
四件事。
1) SDK 上的 Microsoft Band 陀螺仪传感器数据包括加速度计数据,因此您永远不需要同时订阅两者。
2) 长时间订阅任何一个都会大大耗尽正在连接的任何频段的电池寿命,因此不建议这样做。
3) 流式传输要求与 Microsoft Health 的 BandService 的连接保持活动状态。如果该连接丢失,您将无法再获取数据。 (这可能就是你的情况)
4) Microsoft 有一个云 API,它可能对您想要做的事情更有用。 http://developer.microsoftband.com/cloudAPI
您是否有任何其他设备通过蓝牙连接到您的 phone?如果是这样,请尝试断开除 Band 以外的所有连接。
根据我的经验,将另一台设备配对并与 phone 通信会导致收听者在没有通知的情况下关闭,通常需要重新启动应用程序或 phone。我的 phone 同时从平板电脑和传感器收集数据,我发现如果我根本不连接到平板电脑,传感器将持续超过 2-3 分钟。
希望对您有所帮助!
我一直在开发一个 Android 应用程序来跟踪全天的饮食情况。我们还没有决定使用哪些传感器,所以该应用程序能够连接到服务中的所有传感器,并无限期地传输它们,具体取决于 phone 何时决定清理应用程序的资源。我在可靠性测试期间注意到的是,当加速度计和陀螺仪都以中频或高频流式传输时,它们会在两到三分钟后切断。我已经实现了一个超时线程来检查最后接收到的加速器或陀螺仪数据(取决于它们是否应该流式传输)并在它们停止流式传输时重新注册新的侦听器。有没有其他人遇到这个问题 and/or 有没有人推荐一种电池密集度较低的可靠流式传输方式 acc/gyro?
总结一下:
- 注册的加速度计和陀螺仪侦听器在 2-3 分钟后停止接收数据
- 只有在中频和高频设置下流式传输 accel/gyro 并且仅当加速器和陀螺仪都在流式传输时才会发生这种情况
- 无论其他传感器是否正在流式传输,都会发生这种情况
- 发生这种情况时不会抛出异常
- Subscription/unsubscription 以及传入数据都在新线程上处理
- 我有一个 hacky 超时线程,如果 accel/gyro 停止流式传输 ,它会注销和注册新的侦听器
问题:
- 还有其他人运行关注这个问题吗?
- 使用新线程处理会导致侦听器取消注册的数据是否存在问题(不太可能,因为其他数据以这种方式实现)?
- 是否有比让线程检查超时更好(更省电)的方法来检测未发生的事件并对其做出响应?
提前致谢!
四件事。
1) SDK 上的 Microsoft Band 陀螺仪传感器数据包括加速度计数据,因此您永远不需要同时订阅两者。
2) 长时间订阅任何一个都会大大耗尽正在连接的任何频段的电池寿命,因此不建议这样做。
3) 流式传输要求与 Microsoft Health 的 BandService 的连接保持活动状态。如果该连接丢失,您将无法再获取数据。 (这可能就是你的情况)
4) Microsoft 有一个云 API,它可能对您想要做的事情更有用。 http://developer.microsoftband.com/cloudAPI
您是否有任何其他设备通过蓝牙连接到您的 phone?如果是这样,请尝试断开除 Band 以外的所有连接。
根据我的经验,将另一台设备配对并与 phone 通信会导致收听者在没有通知的情况下关闭,通常需要重新启动应用程序或 phone。我的 phone 同时从平板电脑和传感器收集数据,我发现如果我根本不连接到平板电脑,传感器将持续超过 2-3 分钟。
希望对您有所帮助!