Нужно ли устройствам Android подавать питание через USB для поддержки пользовательских USB-аксессуаров?

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

В моем тестировании оказалось, что для того, чтобы телефон поддерживал режим хоста USB, он должен не только работать под управлением > Android 3.1, но также должен подавать питание по кабелю USB. Кто-нибудь может подтвердить или опровергнуть это?

Похоже, что большинство планшетов подают питание через USB, но многие телефоны этого не делают. Я не могу найти ни одного места, в котором бы прямо говорилось, что телефон должен подавать питание через USB, чтобы иметь возможность запускать аксессуар, поскольку все они, кажется, в общих чертах заявляют, что все, что работает> 3.1, будет работать (пока, по крайней мере, устройство, которое вы подключаете к телефону, подает питание). Однако во всех USB-библиотеках, которые я тестировал, я могу просто подключиться к моему USB-устройству с моего планшета (который ДЕЙСТВИТЕЛЬНО подает питание через USB), но я не могу заставить ни одну из них работать с моим телефоном ( который НЕ подает питание через USB). Оба работают под управлением > Android 3.1.

Обратите внимание, что я не пытаюсь запитать свой аксессуар через USB. Мой аксессуар имеет собственный источник питания 5 В и может даже подавать питание через USB. Я просто хочу создать приложение, которое позволит моему телефону подключаться к нему, изменять его настройки, получать данные и т. д., но я не могу заставить свой телефон распознавать, подключено ли/когда устройство. Я не знаю, связано ли это с отсутствием питания на моем телефоне через USB или с другой проблемой, связанной с моим телефоном и/или программным обеспечением. К сожалению, у меня нет другого телефона >3.1 для тестирования.

В качестве примечания: устройство, к которому я подключаюсь, представляет собой плату FTDI/Arduino, над которой я работаю и которая, опять же, прекрасно подключается к планшету (с питанием), но телефон (без питания) утверждает, что никакие USB-устройства не подключены. подключен (даже несмотря на то, что плата FTDI обеспечивает собственное питание).


person Troy    schedule 05.03.2014    source источник
comment
USB-устройство должно распознаваться, даже если хост не питается от него. Тот факт, что а) ваш телефон не подает питание через USB и б) он не перечисляет подключенное устройство, по-видимому, указывает на то, что его хост-режим USB не включен/настроен должным образом. Есть ли у вас под рукой другие устройства USB OTG, которые работают с вашим телефоном?   -  person JimmyB    schedule 05.03.2014
comment
Да, многие устройства физически не могут питать подключенный USB-адаптер и нуждаются в альтернативном источнике питания для фактической работы. Например, посмотрите этот адаптер HDMI на Amazon и обратите внимание, что сам адаптер имеет компонент ввода питания: amazon.com/Adapter-HDMI-3FHU-Samsung-Galaxy/dp/B0080CXSOU, который, как вы упомянули, есть на вашем устройстве. Если это тот случай, когда у него есть питание, но он все еще не работает с ними, они могут быть несовместимы (например, некоторые устройства не могут использовать этот кабель HDMI, потому что они не совместимы с MHL)   -  person Cruceo    schedule 05.03.2014
comment
@HannoBinder - К сожалению, на данный момент у меня нет других устройств OTG для тестирования с моим телефоном. Знаете ли вы что-то еще, что нужно сделать, чтобы правильно включить/настроить режим хоста USB на телефоне (помимо наличия устройства 3.1 и наличия библиотеки USB, поддерживающей необходимые протоколы)?   -  person Troy    schedule 05.03.2014


Ответы (2)


Ваше Android-устройство должно иметь встроенное оборудование OTG, вы не можете добавить его на свой телефон, большинство смартфонов высокого класса имеют встроенный OTG, серия Samsung Galaxy имеет, это позволяет подключаться к внешним USB-ведомым устройствам, вам нужен USB-кабель, который это OTG, который соединяет контакт 5 с GND, это включает OTG, а затем подает питание на устройство. Как и USB-флэш-память, если вы хотите подключить Arduino, вам понадобится внешний источник питания.

В качестве примечания: устройство, к которому я подключаюсь, представляет собой плату FTDI/Arduino, над которой я работаю > которая, опять же, прекрасно подключается к планшету (с питанием), но телефон (без питания) утверждает > что нет USB устройства подключены (даже несмотря на то, что плата FTDI обеспечивает собственное питание).

Это наводит меня на мысль, что у вашего планшета есть OTG, а у вашего телефона нет.

person Chaos Design    schedule 05.03.2014
comment
Это не отвечает на заданный конкретный вопрос. Обратите внимание на более точную информацию, уже представленную в комментариях. Существует практическая разница между поддержкой сигнализации в роли хоста, поддержкой программного обеспечения при установке и формальным соответствием OTG, которое здесь не требуется. - person Chris Stratton; 05.03.2014

Что ж, учитывая вашу целевую область, вы, возможно, не захотите рисковать своим устройством, прежде чем начнете понимать внутреннюю структуру контактов USB-разъемов.

Я предлагаю вам использовать недорогую небрендовую единицу. Я только что обнаружил это, исследуя, как напрямую припаять источник питания + 5 В постоянного тока к печатной плате моего сломанного планшета, настолько старой, что его поврежденный порт micro USB не может быть заменен. Обычно к имеющимся на рынке недорогим устройствам Android размером с телефон (различные небрендовые продукты, большая часть которых производится в Китае) подключается очень маломощная батарея; нет опции OTG для игры. Он просто подключается к хосту ПК / USB, чтобы получить питание для зарядки и связи через USB / ADB. Почти все устройства с диагональю экрана выше 7 дюймов, которые я купил, поддерживают даже накопитель USB 2.x в качестве внешнего хранилища, а это означает, что OTG включен по умолчанию.

Попробуйте с другими устройствами у ваших друзей/родных/коллег – просто подключите кабель OTG и, возможно, USB-накопитель со встроенным светодиодом для более легкой идентификации без ПК/контроллера устройства – если у вас достаточно «подопытных» и они доверяют вам подключить запоминающее устройство.

person A. Bauani    schedule 04.08.2016