首页所有工具设备传感器

手机传感器检测 - 陀螺仪与加速度计

全面检测手机与平板的内置传感器,实时读取陀螺仪、加速度计与方向传感器数据,验证设备运动感应功能是否灵敏。

可用性与权限

安全上下文(HTTPS)
否(可能导致传感器不可用)
DeviceMotionEvent
不可用
权限:未知
DeviceOrientationEvent
不可用
权限:未知
deviceorientationabsolute
不确定/不可用(常见)
多数浏览器不提供该事件。
你现在不是安全上下文。移动端浏览器可能会限制运动/方向事件;

控制与采样

未采集
事件频率:Motion 0/s,Orientation 0/s

实时读数

加速度(不含重力)m/s²更新:-
x
-
y
-
z
-
|a|:-
加速度(含重力)m/s²interval:-
x
-
y
-
z
-
|a|:- (约 - g)
陀螺仪 rotationRate(°/s)更新:-
alpha
-
beta
-
gamma
-
方向(alpha/beta/gamma, °)更新:-
alpha
-
beta
-
gamma
-
absolute:falseheading:-accuracy:-
提示:如果数值一直是“ - ”,通常是未授权、设备无对应传感器、或浏览器/系统禁用了“运动与方向”访问。

事件日志

暂无日志

快速排查

尽量用手机浏览器打开;桌面浏览器通常没有传感器事件
先看“可用性与权限”:如果不是 HTTPS 或权限未授予,读数很可能一直是 “-”。
iOS Safari 常见需要显式授权:先点“请求授权”,再点“开始采集”。如果系统关闭了“运动与方向访问”,也会一直无数据。
读数异常时,先看事件频率(Motion/Orientation 每秒次数)与“更新”时间;频率为 0 往往是监听没生效或被系统拦截。

设备传感器测试指南

快速检查 DeviceMotion / DeviceOrientation:权限、事件频率与实时读数是否正常。

步骤 1

确认环境与权限

约 10 秒

先确保在手机浏览器与安全上下文中运行,并授予运动/方向权限。

尽量使用手机浏览器打开(桌面浏览器通常无传感器事件)
确认处于 HTTPS(非安全上下文可能被限制)
如提示需要授权:点击“请求授权”,并在系统弹窗选择允许
若仍无数据:检查系统设置是否关闭“运动与方向访问”(iOS 常见)
提示:iOS Safari 需要“用户手势”触发授权,所以请在同一次点击中完成授权操作。
步骤 2

开始采集并观察频率

约 10 秒

开始采集后,先看事件频率与更新时间,确认事件是否真的在上报。

点击“开始采集”
观察“事件频率:Motion/Orientation 每秒次数”是否大于 0
观察“更新:xxms/xxs”是否持续刷新(越小越新)
若频率为 0:通常是未授权/不支持/监听未生效
步骤 3

做一个简单动作验证读数

约 15 秒

通过轻微晃动/旋转设备,验证加速度、陀螺仪与方向值是否合理变化。

轻微晃动设备:观察“加速度(不含重力)”是否有明显变化
缓慢转动设备:观察 rotationRate(°/s)是否变化
改变设备朝向:观察 alpha/beta/gamma 是否变化(不同设备坐标系会有差异)
如方向相关数据异常:尝试远离强磁干扰,或切换浏览器再测一次

常见问题解答

关于设备传感器(加速度/陀螺仪/方向)测试的常见疑问与排查建议。

1.

这个页面能测到什么?

它会监听 DeviceMotion(加速度/角速度)与 DeviceOrientation(alpha/beta/gamma 等)事件,并展示权限状态、事件频率与实时读数,帮助你快速判断设备传感器是否正常上报。

2.

为什么数值一直是 “-”?

最常见原因是:未授权、非安全上下文(不是 HTTPS)、桌面浏览器无传感器、或系统/浏览器禁用了“运动与方向访问”。建议先点“刷新状态”,再点“请求授权”,并确认系统设置允许。

3.

为什么 iOS Safari 需要点“请求授权”?

iOS 13+ 的 Safari 对运动/方向事件采用 requestPermission() 授权模型,必须由用户手势触发授权弹窗,否则事件不会上报或会返回空数据。

4.

为什么事件频率是 0/s?

通常代表监听没有生效或被系统拦截:权限未授予、浏览器不支持、页面非安全上下文、或系统开关关闭。也可能是设备没有对应传感器(少见)。

5.

alpha/beta/gamma 的含义是什么?

它们表示设备在 3 个轴上的朝向角度(单位 °),但不同浏览器/设备对坐标系与参考方向实现存在差异,因此更适合用于“是否在变化/是否连续”的验证,而不是严格的工程测量。

6.

这会上传传感器数据吗?

不会。页面只在本地浏览器读取并展示传感器事件,不会把数据上传到服务器。