Я просто сломал свой s3. 3 года назад это был один из лучших смартфонов.Утилизация датчиков из сломанного устройства Android с помощью adb
Вопрос Как я могу получить значения инерционных датчиков телефона через usb?
Я хотел бы использовать акселерометр, гироскоп, магнитометр, барометр и GPS-датчики устройства.
Давайте предположим, что мы хотим получить:
- данные необработанного по временам ускорения по трем осям.
Я подключил кабель USB и запустил adb root
и adb shell
. ОК.
[email protected]:/ # find/-type d -iname "sensors"
/sys/devices/virtual/sensors
/sys/class/sensors
'/ SYS/класс/сенсоров каталог содержит:
[email protected]:/ # ls sys/class/sensors
accelerometer_sensor
barometer_sensor
gyro_sensor
light_sensor
magnetic_sensor
proximity_sensor
Проблема
В сырые измерения не меняют даже если наклонить телефон. Датчик находится в в режиме ожидания. Он всегда отображает те же значения.
[email protected]:/sys/class/sensors/accelerometer_sensor # cat raw_data
-74,121,1016
Я заметил систему питания/управления папкой, которая контролирует состояние питания датчика.
[email protected]:/sys/class/sensors/accelerometer_sensor # cat power/control
auto
Я попытался с echo on/yes/ok/yeah/wtf > power/control
, но ничего не изменилось.
Я помню, что когда у меня был экран телефона, достаточно было открыть приложение Android с разрешениями датчиков, такими как Google Maps, с функцией компаса, чтобы включить датчики и получить значения, обновленные с постоянной ставка. Приложение Java, вероятно, пишет что-то в файле, чтобы активировать датчики и считывать необработанные значения.
Как активировать датчики из корпуса?
Не уверен, что если вы можете сделать это, но все же вы можете запустить приложение, которое использует его даже с сломанным экраном, чтобы обновить необработанные значения или я ошибаюсь? – Nanoc
К сожалению, экран сломан, единственное возможное взаимодействие - через USB-кабель. – UserK
В чем проблема с запуском приложения через adb? вы даже можете установить новый. – Nanoc