Утилизация датчиков от сломанного устройства 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
Другие вопросы по тегам