问题标签 [devicemotion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
150 浏览

machine-learning - 在 CreateML 中使用序列记录设备运动

所以我想训练一个 MLClassifier 来识别特定的设备运动。所以我所做的就是记录运动数据和我相应标记的非常记录的数据。当这并没有像我希望的那样奏效时,我开始意识到我必须记录“动作”本身,而不仅仅是暂时的。

所以我连续打包了 5 个数据集(字典),这是我的新训练功能。所以我想,但是在尝试训练我的新数据时,我看到了这个错误,试图创建我的分类器:

在“s”列中遇到的值属于“字典”类型,无法映射到分类值。分类值必须是整数、字符串或无。

现在我正在慢慢放弃......你们有没有人建议或知道为什么我不能使用序列(数组)作为特征?

...

顺便说一句,这是我的 JSON 的一些示例数据:

[{"s":[{"rZ":-1.0,"p":0.2,"aY":-0.0,"rX":1.5,"y":0.1,"r":-1.3,"aZ":0.2,"rY":-2.8,"aX":0.6},{"rZ":-1.9,"p":0.2,"aY":0.0,"rX":2.0,"y":0.2,"r":-1.4,"aZ":0.0,"rY":-3.2,"aX":0.5},{"rZ":-1.8,"p":0.3,"aY":0.0,"rX":2.4,"y":0.2,"r":-1.5,"aZ":0.9,"rY":-4.8,"aX":0.5},{"rZ":-1.6,"p":0.3,"aY":0.0,"rX":2.5,"y":0.3,"r":-1.6,"aZ":0.9,"rY":-3.8,"aX":0.6},{"rZ":-1.8,"p":0.3,"aY":0.1,"rX":2.2,"y":0.3,"r":-1.7,"aZ":0.1,"rY":-3.0,"aX":0.6}],"v":0}]

我用来创建模型的代码:

0 投票
0 回答
97 浏览

javascript - 如何在 JS 上正确使用 devicemotion

我试图像这样使用“devicemotion”:function fun(){ alert("Work!"); } window.addEventListener('devicemotion', fun); 我做错了什么?

0 投票
0 回答
120 浏览

swift - CoreMotion - 识别跳跃 (Swift)

我对 CoreMotion 很陌生,但我正在尝试构建一个使用 CoreMotion 来查看用户是否在上下跳动的应用程序(想想跳绳)。它还需要让用户能够以他们想要的方式(横向、纵向、奇怪的倾斜方式等)握住他们的手机(没有 iWatch),并且仍然能够判断他们是否在上下移动。我想这有点像“扔手机”应用程序,但没有测量距离。

所以我使用 userAcceleration 和重力通过检查不同重力轴的值来查看哪个方向是“向下”的,它工作正常,但感觉像是一种笨拙的方式。

有没有更好的方法来做我正在做的事情?基本上,当前应用程序需要能够判断是否存在垂直于地面的加速度(无论您如何握住手机)。

0 投票
1 回答
217 浏览

javascript - Javascript - 将设备加速度转换为地球坐标

我在使用纯 JavaScript 的网络应用程序中将设备加速度值转换为地球坐标系时遇到问题(解决方案的大多数问题都是 Android 或 iOS 特定的)。

我正在使用 gl-matrix 库来执行计算,并且到目前为止,我的解决方案主要基于我为 Android 本机应用程序找到的答案。到目前为止,我对方向和运动的事件处理程序有什么:

如果我将手机平放在桌子上(纵向模式),顶部指向远离我,并执行“resetOrientation”,这适用于左/右和向前/向后移动。也就是说,如果我将手机绕 z 轴旋转 180 度(意味着仍然平放在桌子上),所以我的顶部指向我,L/R 和 F/B 运动的加速度(代码中的 earthAcc 矩阵)是仍然正确。但是向上/向下不正确,一旦我开始围绕其他轴旋转手机,我就会得到不一致的结果。

可能只是缺少一行或类似的东西,希望矩阵代数大师能发现问题:)

更新:通过将我在 handleMotion 中创建 accMatrix 的方式更改为:

...我也有 UP/DOWN 工作,但如果我在 Z 轴以外的任何其他轴上旋转手机,它不再给出正确的值。

更新 2:我正在 iOS Safari (Iphone) 上对此进行测试,所以我不知道这是否可能是特定于设备类型的问题,但我正在使用应该返回标准化值的 Gyronorm 库。

0 投票
0 回答
155 浏览

ionic-framework - 在应用程序在后台运行时读取加速度计数据

我想构建一个 Ionic 应用程序,在应用程序最小化(在后台运行)时仍然可以使用加速度计数据。

我试过使用:

前两个在前台工作,但在应用程序在后台时不会工作(加速度计读数暂停并在前台再次恢复)。通用传感器 API 根本不起作用,即使我使用这个 polyfill:https ://github.com/kenchris/sensor-polyfills

我也尝试过 Ionic Background Mode 插件,但是,加速度计读数仍在后台暂停。 https://ionicframework.com/docs/native/background-mode

Ionic 应用程序如何在后台使用加速度计?任何我不知道它存在的插件(例如,Ionic Background Geolocation 让应用程序在后台接收位置)?还有什么办法吗?

0 投票
1 回答
566 浏览

android - Roll Pitch 和 Yaw 相互依赖

我正在使用这个库,希望从给定的参考框架中找到以度数为单位的偏航旋转。

然而,当开始测试它时,我注意到当以滚动和俯仰方式稍微移动设备时,偏航会发生巨大变化。当将设备放在桌子上并在其中旋转时,它似乎给出了正确的值。

在查看滚动时,我也注意到 - 当以滚动方式旋转它时,它似乎给出了正确的值 - 在俯仰中稍微移动它会突然剧烈地改变值。

给定的值是否相互隔离 - 从给定的参考系旋转?


请注意,该库使用四元数 - 所以不应该存在万向节锁定问题 - 或者它是否源于简单地以度数表示旋转(使用欧拉角)?

是源代码


编辑:我修改了react-native-sensors以在 iOS 上给我 CMDeviceMotions 态度(滚动、俯仰、偏航)。他们彼此独立地给了我轮换 - 这解决了问题。

0 投票
5 回答
15738 浏览

javascript - 如何让 DeviceOrientationEvent 和 DeviceMotionEvent 在 Safari 上工作?

我正在尝试在我的网站上实现 DeviceOrientationEvent 和 DeviceMotionEvent 以获得 3D 效果。但是,控制台不记录任何信息,显然 iOS 13 需要用户设置权限才能开始执行此操作。我似乎无法弄清楚如何正确设置它。

我做了一些研究,这就是我发现的:https ://github.com/w3c/deviceorientation/issues/57#issuecomment-498417027

遗憾的是,在线提供的所有其他方法都不再可用。

我收到以下错误消息:

[警告] 在请求并授予权限之前,不会触发任何设备运动或方向事件。

0 投票
1 回答
170 浏览

android - Cordova (Android) 设备运动和设备方向 (W3C) 不可用

我正在尝试在 Cordova 应用程序中使用W3C 设备方向和设备运动,因为现在不推荐使用插件。但是添加此代码段时没有DeviceOrientationEvent定义window或触发事件:

以下是我的 Android 设备的一些规格:

0 投票
1 回答
375 浏览

javascript - DeviceMotionEvent 的 IOS safari 13.1 权限

DeviceMotionEvent.requestPermission 适合第一次使用。如果用户在第一次对话窗口中取消对运动传感器的访问,则以后调用 requestPermission 函数时不会出现。并且承诺总是通过响应==='拒绝'来实现。

如何再次提示用户?

0 投票
1 回答
76 浏览

javascript - 关于画布动画和设备运动的问题

我想在我的画布上实现设备运动,当我移动手机时,画布也将沿 x 和 y 轴移动,以便画布可以显示更多图像。但我无法弄清楚如何通过javascript来做到这一点。我是否需要先创建画布动画并向其中添加设备运动事件侦听器?如果是这样,我如何将动画代码与我的设备运动代码(所有加速的东西)结合起来。或者我只是将设备运动事件侦听器添加到我的画布以便它移动?我的感觉是我需要先写一个动画,但不确定我是否正确。

希望我的解释是有道理的。谢谢!