Как с Android устройства отправить HTTP запрос на компьютер по USB (без сети)?
Есть андроид планшет, который подключен к компьютеру (в режиме отладки). На компьютере установлен ADB (Android Debug Bridge) драйвер, с компьютера по CLI ADB я могу выполнять всякие команды на планшете, но мне нужно именно с планшета отправлять данные на компьютер.
Например, после того как на планшете будет нарисована подпись, планшет должен отправить рисунок подписи на компьютер, нужно сделать это по USB.
Это можно реализовать по HTTP, на компьютере будет локальный HTTP-сервер, на 8000 порту например, который ожидает сигнала о том, что подпись поставлена.
Я никак не могу понять как с андроид устройства отправить сигнал на компьютер?
ЧатГПТ советует запустить adb forward на локальный сервер, но я не могу его запустить, т.к. получаю ошибку, мол порт занят моим локальным сервером. Я так понял, форвард используется в обратную сторону (с компа на телефон, а не обратно), далее чатГПТ теряется и несет одну и ту же чушь.
Какие есть варианты инициировать (оповестить) компьютер ИМЕННО С УСТРОЙСТВА?
Работа с юсб в Андроиде это сложно.
Если в вашу схему добавить вайфай роутер, то задача упрощается . Просто сервер не в интернете, а локально. Если внешнее третье устройство нельзя добавить в схему, то роутер придется делать из планшета или ПК. Тартенинг. Или раздача интернета. Бывает и usb :)
Вы не можете по USB отправить HTTP запрос на компьютер, потому что HTTP это сетевой протокол.
По USB вы можете передавать данные в соответствии с протоколом USB.
Соответственно, на планшете и на компьютере должны быть запущены программы которые через этот протокол обмениваются нужными вам данными.
Костылями, из ADB и каких-то скриптов вы можете приблизиться к решению вашей задачи, но работать оно будет крайне нестабильно, и давать такое конечным пользователям нельзя.
P.S. ChatGPT помогает, когда вы понимаете что делаете, и вам нужна небольшая подсказка. Иначе вы не сможете разобраться где он вам врет, а врет эта шайтан-машина на каждом шагу.
А как запустить сервер который бы слушал USB протокол?
Я так понял adb этим и занимается?
Может есть какие-нибудь идеи просто оповестить компьютер с устройства?
А далее, на пк я уже разберусь как обрабатывать сигнал
Как работать с USB на андроиде, описано здесь: https://developer.android.com/guide/topics/connect...
Как работать на PC зависит от того, на чем вы пишете софт для PC
Если вы используете готовый драйвер, у вас должна быть к нему документация, в которой описано, какие данные от USB он готов обрабатывать.
В подобного рода задачах интеграции обычно нету готового коробочного способа. Типа установил приложение и все полетело. Скорее всего есть сценарий который надо выполнить шаг за шагом (проверяя успех на каждом).
Вобщем предлагаю следующее
1) Эмулировать Ethernet сеть через USB.
2) Поднять на десктопе http-сервер.
3) Поднять на адродите http-клиент
4) Отправить http-запрос.