Android ADK - USB OTG (режим хоста) - PullRequest
       28

Android ADK - USB OTG (режим хоста)

2 голосов
/ 03 августа 2011

Я только начинаю изучать Android Soft Dev и буду разрабатывать вспомогательное оборудование для взаимодействия с устройством Android. Похоже, есть некоторые ограничения в том, какие режимы USB могут использоваться на устройстве, в зависимости от прошивки. Основано на документации по USB с сайта developer.android.com. Режим USB-хоста поддерживается только в версиях прошивки 3.1 и выше. Однако, похоже, что Samsung Galaxy 2 поддерживает OTG (режим хоста), по крайней мере изначально, как показано в этом видео на YouTube: SGS2 OTG demo . Чрезвычайно важно, чтобы телефон был хостом для подачи небольшого количества энергии на мое внешне подключенное оборудование.

  1. Может ли кто-нибудь проверить, есть ли какой-либо доступ API к режиму хоста USB на мобильных устройствах Android? Причина, по которой я подвергаю сомнению приведенную выше цитату из android dev, заключается в том, что на телефоне SGS2 явно демонстрируется функциональность режима хоста.

  2. Если я не могу получить доступ к какой-либо из функций API хоста USB, есть ли способ разработки оборудования периферийного устройства USB, которое может взаимодействовать с телефоном? Похоже, что я мог бы спроектировать аппаратное обеспечение, использующее классы MSD, что, как представляется, изначально поддерживается в приведенной выше демонстрационной версии?

  3. Если в настоящее время отсутствует доступ через USB-хост к API-интерфейсу, планируется ли в будущем добавить его к оборудованию мобильного телефона?

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Довольно широкий спектр аппаратного обеспечения устройства поддерживает USB-хост (иногда только частично, без подачи питания), но только с альтернативными прошивками или специфическими расширениями производителя - пока вы не доберетесь до версий API, где это является официальной частью Android.

Многие видео и веб-страницы, которые вы видите, - это люди, демонстрирующие свои пользовательские модификации прошивки, которые могут быть путём, но ограничивающим ваш рынок пользователями, желающими модовать, списком устройств, которые вы сертифицируете как совместимые, или специальными Android-устройства, которые вы продаете в комплекте с вашим аксессуаром.

0 голосов
/ 02 сентября 2011

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

Во-первых, в ядре SGS2 реализован белый список, который позволяет подключать только определенные типы устройств (HID, запоминающее устройство, принтеры, PTP), что означает, что любое пользовательское USB-оборудование, специфичное для конкретного поставщика, не будет разрешено.Если вы хотите собрать собственное ядро ​​или можете убедить разработчиков ядра внести изменения, белый список можно изменить соответствующим образом.

Во-вторых, классы USB-хостов в Android SDK доступны только в версии 3.1, ноSGS2 работает под управлением 2.3.x, однако он позволит вам выполнять сборку с соответствующим уровнем API и по-прежнему ориентироваться на SGS2.

Я написал о том, как модифицировать ядро ​​и начать разработку приложения в моем блоге .

...