来自 API 文档
有趣的是,地球的重力并未从传感值中移除。如果您对原始值感兴趣,则需要根据手机的位置从值中减去它。
我正在尝试将 react-native-sensors 与 MaximilianBuegler/node-pedometer 结合使用,但看起来给出的数据对于节点计步器库不正确,并且不确定如何调整它。只是想知道输出中包含的重力值是否是原因。
来自 API 文档
有趣的是,地球的重力并未从传感值中移除。如果您对原始值感兴趣,则需要根据手机的位置从值中减去它。
我正在尝试将 react-native-sensors 与 MaximilianBuegler/node-pedometer 结合使用,但看起来给出的数据对于节点计步器库不正确,并且不确定如何调整它。只是想知道输出中包含的重力值是否是原因。
您需要实现Android API文档中描述的方法。
这意味着对于 React Native Sensors,您应该能够执行以下操作:
new Accelerometer.pipe(scan((acc, curr) => {
// alpha is calculated as t / (t + dT)
// with t, the low-pass filter's time-constant
// and dT, the event delivery rate
final float alpha = 0.8;
const x = alpha * acc.x + (1 - alpha) * curr.x;
const y = alpha * acc.y + (1 - alpha) * curr.y;
const z = alpha * acc.z + (1 - alpha) * curr.z;
return {x,y,z};
}, {x:0,y:0,z:0})