Android: связь с устройством USB, которое выступает в качестве хоста - PullRequest
4 голосов
/ 08 августа 2010

Мы создали устройство, которое может выступать в качестве USB-хоста или подчиненного устройства и обрабатывать получаемые данные. Я хочу использовать телефоны Android для отправки данных на него через USB.

Мои исследования привели меня к выводу, что мы не можем использовать устройства Android в режиме USB Host без изменения аппаратного обеспечения или ОС. Это не вариант, так как это будет коммерчески развернутое устройство.

Однако я не смог найти никакой информации об использовании телефона Android в качестве раба. Это уже технически возможно, потому что он может подключаться к ПК в аналогичной конфигурации. Можем ли мы сделать то же самое через приложение? Если это так, любая информация о том, как этого добиться, будет принята с благодарностью. У меня есть полный доступ к встроенной системе нашего устройства, поэтому с пользовательским кодом проблем не должно быть.

1 Ответ

7 голосов
/ 08 августа 2010

Это уже технически возможно потому что он может подключиться к ПК в аналогичная конфигурация.

Только для вещей, запеченных в прошивке. Приложение SDK не может изобрести новые драйверы устройств Linux и не имеет никакого доступа к стороне устройства Android соединения adb.

Можем ли мы сделать то же самое через приложение?

Поскольку вы еще не сказали, что пытаетесь сделать, невозможно дать однозначный ответ.

Скажем, например, что «устройство, которое может выступать в качестве USB-хоста или подчиненного устройства и обрабатывать получаемые данные», хочет снимки экрана с устройства Android. Это в высшей степени возможно через adb, потому что adb имеет встроенный протокол для этого. Все, что вам нужно сделать, это подключить ваше устройство к устройству Android по протоколу adb и запросить снимки экрана, ничем не отличающиеся от DDMS или hierarchyviewer.

Итак, я бы посмотрел на проблему с другой точки зрения: если вы можете решить ее с помощью DDMS, вы можете сделать это с помощью своего пользовательского устройства. Если вы можете выполнить это с помощью команд adb shell, вы можете сделать это через ваше пользовательское устройство. Однако если вы не можете достичь своих целей с помощью существующих интерфейсов, поскольку у вас нет возможности изобретать новые через USB, вы застрянете.

Вероятно, вы можете подключить свое пользовательское устройство к Bluetooth или WiFi-ключу, а затем использовать их на Android для связи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...