我刚刚弄坏了我的 s3。3年前,它是最好的智能手机之一。
Question如何通过usb获取手机惯性传感器的值?
我想使用设备的加速度计、陀螺仪、磁力计、气压计和 GPS 传感器。
假设我们想要得到:
我连接了USB电缆和RANadb root和adb shell。好的。
root@android:/ # find / -type d -iname "sensors"
/sys/devices/virtual/sensors
/sys/class/sensors
Run Code Online (Sandbox Code Playgroud)
'/sys/class/sensors' 目录包含:
root@android:/ # ls sys/class/sensors
accelerometer_sensor
barometer_sensor
gyro_sensor
light_sensor
magnetic_sensor
proximity_sensor
Run Code Online (Sandbox Code Playgroud)
问题
即使我倾斜手机,原始测量值也不会改变。传感器处于待机模式。它始终显示相同的值。
root@android:/sys/class/sensors/accelerometer_sensor # cat raw_data
-74,121,1016
Run Code Online (Sandbox Code Playgroud)
我注意到控制传感器电源状态的文件夹 power/control。
root@android:/sys/class/sensors/accelerometer_sensor # cat power/control
auto
Run Code Online (Sandbox Code Playgroud)
我试过了,echo on/yes/ok/yeah/wtf > power/control但没有任何改变。
我记得当我让手机屏幕工作时,打开一个具有传感器权限的 Android 应用程序就足够了,比如具有指南针功能的谷歌地图,以启用传感器并以恒定速率刷新值。Java 应用程序可能会在文件中写入一些内容以激活传感器并读取原始值。
如何从外壳激活传感器?