Утилизация датчиков от сломанного устройства Android с помощью ADB
Я только что сломал свой s3. 3 года назад это был один из лучших смартфонов.
Вопрос Как узнать значения инерционных датчиков телефона через usb?
Я хотел бы использовать акселерометр, гироскоп, магнитометр, барометр и GPS-датчики устройства.
Допустим, мы хотим получить:
- необработанные данные ускорения по трем осям.
Я подключил USB-кабель и побежал adb root
а также adb shell
, Хорошо.
root@android:/ # find / -type d -iname "sensors"
/sys/devices/virtual/sensors
/sys/class/sensors
Каталог '/sys/class/sensor' содержит:
root@android:/ # ls sys/class/sensors
accelerometer_sensor
barometer_sensor
gyro_sensor
light_sensor
magnetic_sensor
proximity_sensor
Эта проблема
Необработанные измерения не меняются, даже если я наклоняю телефон. Датчик находится в режиме ожидания. Он всегда отображает одинаковые значения.
root@android:/sys/class/sensors/accelerometer_sensor # cat raw_data
-74,121,1016
Я заметил папку power / control, которая управляет состоянием питания датчика.
root@android:/sys/class/sensors/accelerometer_sensor # cat power/control
auto
Я пробовал с echo on/yes/ok/yeah/wtf > power/control
но ничего не изменилось.
Я помню, что когда у меня работал экран телефона, было достаточно открыть приложение Android с разрешениями датчиков, например, Google Maps с функцией компаса, чтобы включить датчики и получать значения с постоянной скоростью. Приложение Java, вероятно, записывает что-то в файл для активации датчиков и считывает необработанные значения.
Как активировать датчики из оболочки?
2 ответа
С помощью
root@:/ # getevent -S
Вы можете получить список всех датчиков. Найдите один из них, называемый "бесконтактный датчик", и получите имя устройства. Ex.
root@:/ # getevent -S
add device 1: /dev/input/event11
name: "compass_sensor"
add device 2: /dev/input/event8
name: "barometer_sensor"
add device 3: /dev/input/event7
name: "light_sensor"
add device 4: /dev/input/event6
name: "proximity_sensor"
Как вы видите, ваше устройство имеет псевдоним "event6"
Теперь перейдите в каталог / sys / class / input /input6
cd /sys/class/input/input6
echo 1 > enable # TO ACTIVATE THE SENSOR
echo 0 > enable # TO TURN IT OFF AGAIN
здорово, сработало
cd /sys/class/input/input6
echo 1 > enable # TO ACTIVATE THE SENSOR
echo 0 > enable # TO TURN IT OFF AGAIN