Модераторы Varset 218 Опубликовано 1 марта Модераторы Поделиться #1 Опубликовано 1 марта Как подключить шлем по ADB к ПК через Wi-Fi - знают достаточно многие. Но здесь мы расскажем о том, как организовать такое подключение в любой момент, не используя кабель вообще. Точнее, только один самый первый раз, при открытии порта. Зачем это может быть нужно? Ну, например, для владельцев VR-клубов удаленно считывать статус шлема, скажем, чтоб не высаживать аккумулятор в ноль, можно сделать опрос шлема каждые пять минут и смотреть уровень заряда. Как только он станет ниже определенного уровня, отправить на шлем сообщение с предупреждением или вообще его выключить. Или, скажем, управлять шлемом из шлема же, без ПК вообще - установить нативное разрешение или частоту и т.д. Но об этом в следующей статье. Ссылка на комментарий Поделиться на другие сайты Поделиться
Модераторы Varset 218 Опубликовано 1 марта Автор Модераторы Поделиться #2 Опубликовано 1 марта Вачале для особо дотошных немного теории о том, как работает ADB, по каким портам подключается и так далее: :https://developer.android.com/tools/adb Для остальных сразу перейдем к практике. Режим разработчика на шлеме должен быть включен Пакет ADB программ должен быть скачан и установлен в системе или в каталоге со всеми запускаемыми командами. Прежде всего нам понадобится несколько приложений: (в конце поста можно будет сразу скачать эти приложения) Oculus Wireless ADB: https://github.com/thedroidgeek/oculus-wireless-adb/releases AndroidMdnsDiscover2.exe: Рукописная программа, написанная на C на основе питоновского скрипта, который использует протокол mDNS и все такое прочее. Аналог nmap, находит адрес и порт шлема, но работает раз в десять быстрее. Батник с двумя командами в нем: adb shell pm grant tdg.oculuswirelessadb android.permission.WRITE_SECURE_SETTINGS adb shell pm grant tdg.oculuswirelessadb android.permission.READ_LOGS Далее еще несколько батников и команд. Начнем. 1. Скачиваем и устанавливаем на шлем программу Oculus Wireless ADB. 2. Создаем bat или cmd файл с двумя командами: adb shell pm grant tdg.oculuswirelessadb android.permission.WRITE_SECURE_SETTINGS adb shell pm grant tdg.oculuswirelessadb android.permission.READ_LOGS 3. Поключаем шлем USB кабелем к ПК, выполняем (запускаем) этот батник. 4. Открываем консоль cmd и выполняем в ней такую команду: adb tcpip 5555 5. Запускаем на шлеме только что установленную программу Oculus Wireless ADB. 6. В окне программы ставим квадратик на поле 5555 и в следующем окне нажать Ok. Затем включить тумблер ADB Wireless Connect. 7. Во всплывших окнах "Эта (ваш Wi-Fi) сеть будет использоваться для подключения и бла-ба-бла" нажать "Разрешать всегда подключение к этой сети" 8. Во всплывшем окне "Разрешить отладку по USB?" нажать "Разрешать всегда" (дважды). Все, можнонажать крестик и закрыть программу, она свернется. 9. Далее на ПК создаем и выполняем такой батник: For /f "tokens=*" %%a in ('AndroidMdnsDiscover2.exe') do set check=%%a adb connect %check% adb devices pause В консольном окне мы должны увидеть примерно такое: connected to 10.0.0.64:34917 List of devices attached 10.0.0.64:34917 device Это означает что мы успешно подключились к шлему с ПК по беспроводному ADB. Подключение будет сохраняться до тех пор, пока вы не перезагрузите шлем или ПК, или не прибьете процесс adb.exe на ПК или после игр, нативных или на ПК, или после отключения Wi-Fi при уходе в спящий режим. В этом случае шлем может остановить неактивный фоновый процесс - демон adb. Как только решите снова использовать беспроводное подключение, просто переподключите шлем: Зайти в шлем, запустить программу Oculus Wireless ADB и щелкнуть тумблером ADB Wireless Connect (пункт 6). Затем на ПК выполнить вышеописанный батник (пункт 9) Кабель подключать не нужно. Иногда случается так, что при попытке подключения показывает, что устройство offline. Попробуйте в батник в пункте 9 первой строчкой добавить такую: adb disconnect А после нее уже все остальное. На случай, если вдруг окажется, что подключение не единственное или устройство в offline. Если эта команда не помогает и устройство все равно остается offline, следует перезапустить сервер adb на ПК, вот так: adb kill-server adb start-server И снова запустить батник подключения. Словом, экспериментируйте. Бонус. Вот так, например, может выглядеть код с опросом уровня заряда аккумулятора, и если он меньше 10%, батник выдаст предупреждение: @echo off @FOR /F "tokens=2" %%G IN ('adb shell dumpsys battery ^| findstr "level:"') DO set batlevel=%%G @echo %batlevel% @if %batlevel% LSS 10 goto _qcharge @echo Ok @pause exit :_qcharge @echo Шлем разрядился! rem Чтобы выключит его, раскомментируйте строку ниже rem adb shell reboot -p @pause exit Скачать: Oculus Wireless ADB v1.2: tdg.oculuswirelessadb-1.2.apk AndroidMdnsDiscover2.exe: AndroidMdnsDiscover2.7z Продолжение следует... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти