Usb host что это такое
Что такое и как работает функция OTG на устройствах Android
С каждым годом возможности смартфонов и планшетов Андроид превышают своих предшественников в несколько раз, предоставляя пользователям очень интересные и полезные функции. Теперь вы можете подключить к своему мобильному гаджету разные устройства, как к компьютеру. Такую возможность предоставляет технология OTG (One-The-Go).
Из статьи вы узнаете
Что это такое?
USB OTG — это переходник для вашего смартфона, который подключается к нему через Mini или Micro USB, а с другой стороны расположен USB-порт, в который можно вставлять не только флешки, но и другие типы гаджетов. Например, картридеры, внешние диски, игровые джойстики, клавиатуры и многие другие технические новинки, окружающие нас в повседневной жизни. Таким образом, функция OTG на Android значительно расширяет возможности смартфона, предоставляя пользователю больший спектр применения своего аппарата.
Также часто появляются вопросы о том, почему разработчики девайсов не встраивают отдельный USB-порт, чтобы не использовать сторонние переходники.
Какие устройства можно подключать через OTG?
Благодаря этой технологии к телефону могут подключаться практически любые типы устройств. Но это только в теории. На практике же мы видим иную картину. Здесь многое зависит от разработчиков оболочек для конкретной версии операционной системы Андроид, от аппаратов, которые вы подключаете, от совместимости.
Без проблем можно подключать USB-накопители до 32 Гб. Можно попробовать и больше, например, на 64 Гб, но они работают не везде.
Также есть возможность подключения отдельных внешних накопителей, но здесь стоит учесть тот факт, что многим моделям попросту не хватит мощности питания от вашего телефона. Если есть возможность подключить питание через обычную розетку в дополнительном входе, то тогда проблем с передачей и корректным чтением списка файлов не возникнет.
Можно подключать компьютерную мышь, клавиатуру. Это очень полезно в тех случаях, когда пользователю необходимо что-то напечатать, а стандартная виртуальная клавиатура его не устраивает.
Если вы заядлый геймер, то сможете при помощи OTG в телефоне подключить и геймпад. Только учтите, что не все игры из Google Play поддерживают такую технологию и подобные устройства. Здесь многое зависит от самого разработчика приложения.
Присутствует возможность передачи контактов и сообщений через данную технологию, если соединить два устройства через один кабель. Еще можно присоединить лампу, работающую от USB-порта.
Если же у вас плохая фронтальная камера на смартфоне, то просто подключите внешнюю!
Эта технология удобна для фотографов, которые могут через картридер или USB просмотреть фотографии на своем устройстве, например, планшете или смартфоне. Даже можно подключать адаптеры для интернета, чтобы подключаться через оптоволокно!
Но и это еще не все! Нужно срочно распечатать документы? Подключите принтер! Сюда же можно добавить еще и монитор или телевизор.
В итоге пользователь получает полноценное устройство, с помощью которого можно управлять другими девайсами. А если учесть, что мощность некоторых телефонных аппаратов превосходит часть бюджетных компьютеров старых поколений, то в будущем и вовсе можно ожидать полной реализации всей работы с ПК на мобильном устройстве.
Какие смартфоны поддерживают технологию?
Андроид, начиная с версии 2.3, автоматически поддерживает эту технологию. Но здесь важно учесть, что многое зависит от оболочки производителя, который предоставляет смартфон. Android — это разработка Google, предоставляемая всем компаниям, где уже каждая компания дорабатывает ее на свой лад и может, как добавить что-то новое, так и удалить.
Некоторые производители убирают эту опцию лишь затем, чтобы сэкономить заряд батареи, повысив в целом его эффективность. Но на такие шаги идут только ради бюджетных моделей. Средний и высокий классы смартфонов 100% обладают такой технологией и поддерживают большой ассортимент подключаемых устройств.
Как проверить, поддерживает ли мой смартфон эту функцию?
Узнать, есть ли у меня поддержка OTG, можно разными способами.
Два в одном: USB хост и составное USB устройство
Не так давно, была опубликована статья «Пастильда — открытый аппаратный менеджер паролей». Так как данный проект является открытым, то мы решили, что будет интересно, если мы будем писать небольшие заметки о процессе проектирования, о задачах, которые перед нами стоят и о трудностях, с которыми мы сталкиваемся.
Реализация USB хоста
Итак, во-первых мне нужно было реализовать на устройстве USB хост, чтобы оно могло распознавать и общаться с подключенной к нему клавиатурой. Так как в работе я использую связку Eclipse + GNU ARM Eclipse + libopencm3, то очень хотелось найти уже что-то готовое и желательно написанное с использованием библиотеки libopencm3. Желание мое было очень жирным, до последнего момента не верила, что мои поиски увенчаются успехом. Однако под конец рабочего дня, проскролив интернет до самого дна, я вдруг наткнулась вот на это. libusbhost? Серьезно? И это был не просто написанный на основе libopencm3 usb хост, он еще и был написан под STM32F4, под тот самый, который мы решили использовать в проекте. В общем, звезды сошлись и радости моей не было предела. Кстати, оказалось, что этот проект создавался как часть libopencm3, однако его так и не добавили в библиотеку.
Как библиотеку, libusbhost я не собирала, просто взяла необходимые мне исходники, написала драйвер для клавиатуры и, в общем-то все, погнали! Но обо всем по-порядку.
По аналогии с usbh_driver_hid_mouse.[ch], я написала драйвер для клавиатуры (usbh_driver_hid_kbd.[ch]).
Далее был реализован простенький класс, для работы с хостом:
Реализация составного USB устройства
Далее мне нужно было сделать так, чтобы наше устройство отображалось в диспетчере устройств и как клавиатура, и как дисковый накопитель. Тут вся магия в дескрипторах=) В этом документе, в главе 9, подробно описан USB Device Framework. Эту главу нужно очень внимательно прочитать и в соответствии с ней описать дескрипторы устройства. В моем случае получилось следующее:
Для работы с составным устройством был написан класс USB_composite, представленный ниже.
Как правило, функции control_request и set_config должны быть явно описаны для каждого устройства. Однако из этого правила есть исключение: Mass Storage Device. Итак, разберемся с конструктором класса USB_Composite.
Во-первых, мы инициализируем ноги USB OTG FS:
Во-вторых, нам нужно проинициализировать наше составное устройство, зарегистрировать USB_set_config_callback, о котором шла речь выше, и разрешить прерывание:
Так вот. Теперь, когда конструктор класса USB_Composite дописан, можно собрать проект, прошить устройство и увидеть, что «Запоминающее устройство для USB» больше не помечено предупреждением, а во вкладке «Дисковые устройства» можно обнаружить «ThirdPin Pastilda USB Device». И, казалось бы, все хорошо. Но нет=) Проблем стало больше:
1. Зайти на диск невозможно. При попытке сделать это все виснет, умирает, компьютеру очень плохо.
2. Распознавание устройства как дискового занимает более 2-х минут.
Об этих проблемах и о том, как их решить без вреда для здоровья написано здесь: USB mass storage device и libopencm3.
И, о, чудо! Никаких пятен=) Теперь все работает. У нас есть USB хост и составное USB устройство. Осталось только объединить их работу.
Объединение хоста и составного устройства
, Пастильда должна перехватить управление и отправить сообщение в ПК как клавиатура, после чего мы возвращаемся в режим трансляции и снова ожидаем комбинацию.
Код, реализующий все это, простой как палка:
, мы будем попадать в однострочное меню, а во флеше будет храниться наша зашифрованная база данных паролей.
Буду рада любым комментариям и пожеланиям.
И, конечно же, ссылка на github.
Что такое USB OTG и зачем это нужно?
Содержание
Содержание
Можно ли быстро перекинуть файлы с флэшки на телефон, выложить снимки с фотоаппарата в инстаграм за 10 минут, заставить гореть гирлянду только от смартфона? Благодаря технологии USB OTG ваш смартфон может больше, чем вы думаете.
Со времен первых коммуникаторов смартфоны все больше стремятся к копированию функционала ноутбуков и настольных ПК. Полноценно заменить компьютер мобильные девайсы не в состоянии, но некоторым пользователям функционала планшетов и смартфонов вполне хватает. При этом не все знают, что к мобильным устройствам, как и к компьютеру, можно подключить различную периферию и гаджеты, а не только кабель для зарядки.
Что такое USB OTG
Технология USB OTG появилась в 2006 году. Изначально она разрабатывалась для того, чтобы не только компьютеры, но и другие устройства могли обмениваться между собой информацией, используя порт USB. Об этом говорит и сама аббревиатура OTG — «On-the-Go», что дословно на русский язык переводится как «На ходу». Подразумевается, что можно использовать устройства, которые буквально помещаются в кармане.
Не удивительно, что в последнее время USB OTG ассоциируется именно со смартфонами и планшетами, так как это самые популярные товары, поддерживающие данную технологию. Хотя на самом деле те же USB-флешки, подключенные автомагнитолам или другим устройствам — та же самая технология USB OTG.
Как это работает
В качестве примера будет рассмотрен стандартный переходник USB OTG с уже постепенно устаревающим разъемом Micro-USB. На схеме выше у Micro-USB отображены пять контактов, и именно при взаимодействии 4-го и 5-го контактов мобильное устройство получает возможность распознать то, что к нему подключено. Тогда как на первый контакт подается питания, без которого работа USB OTG также невозможна.
Какие устройства поддерживают USB OTG
Почти все современные смартфоны и планшеты поддерживают USB OTG. Исключения бывают в основном среди бюджетных моделей с разъемом Micro-USB, хотя иногда встречаются и экземпляры с современным Type-C портом, к которому нельзя подключить ничего кроме кабеля (к примеру, смартфон Noa N1).
Также есть устройства, которые лишь частично поддерживают USB OTG. Например, у пользователя получится подключить USB-флеш-накопитель, мышку, клавиатуру или другой нетребовательный гаджет, а вот что-то сложное вроде компактного тепловизора — уже нет.
Хотя с тепловизором оказалось все не так просто даже при поддержке технологии OTG. В случае с моделью, у которой есть разъем Micro-USB, может получиться так, что камера гаджета будет повернута в сторону пользователя. В этом плане гораздо удобнее тепловизоры с новым разъемом Type-C, которые можно развернуть как угодно.
Обычно операционная система мобильных устройств позволяет подключать гаджеты через USB OTG без совершения дополнительных действий, кроме некоторых случаев, когда требуется установка дополнительного софта, как в примере с тепловизором. Однако у популярной Android OS есть множество измененных версий прошивок, и в китайских смартфонах, на которых установлены фирменные оболочки ColorOS, HiOS и Funtouch OS, перед каждым подключением нужно активировать функцию USB OTG, которая через какое-то время автоматически отключается. Возможно, разработчики так пытаются сделать свои оболочки безопаснее, чтобы не допустить случайного подключения. Или это просто продиктовано вопросом энергопотребления.
Как проверить поддержку USB OTG
Самый верный способ проверки — попробуйте подключить к устройству какой-нибудь гаджет — USB-флешку или что-то другое.
Также есть различные приложения, которые пытаются определить, поддерживается ли устройством «On-the-Go», но информация, отображаемая в таком софте, не всегда является достоверной.
Еще для проверки отлично подойдет любая модель USB-тестера. При подключении к мобильному устройству экран тестера сразу начнет работать, что и будет свидетельствовать о поддержке USB OTG.
Также через тестер можно узнать, сколько потребляет подключенная к смартфону или планшету техника. К примеру, USB-накопители потребляют небольшое количество тока, и, так как речь чаще всего идет о сотых долях ампера, то не каждый тестер отобразит такие показатели. Портативный жесткий диск напротив потребляет большой ток, который не любой смартфон может выдать.
Какой переходник нужен для работы USB OTG
В некоторых случаях переходник не нужен, так как есть гаджеты, подключаемые к мобильному устройству через его порт — это может быть устаревающий Micro-USB, современный Type-C или, в случае с техникой Apple, — Lightning.
Интересным примером служат флешки, у которых есть сразу несколько разъемов, и которым не нужны переходники для подключения.
Иногда переходник может встретиться в комплекте поставки к смартфону или планшету, но такое бывает редко. Впрочем, сейчас не проблема приобрести любой переходник на нужные разъемы.
В некоторых случаях нужен кабель для дополнительного питания. Не все девайсы способны отдавать большой ток более 0.5 ампер, и, хотя в большинстве случаев этого хватит, особо прожорливые гаджеты не смогут стабильно функционировать без дополнительного питания.
Например, такой кабель пригодится для подключения к смартфону портативного жесткого диска или чего-то аналогичного по потреблению. Кабель можно подключить к сети, компьютеру, или, например, к портативному аккумулятору.
Что еще можно подключить через USB OTG если устройство, к примеру, не поддерживает карты памяти, но информацию с них нужно перенести на смартфон, не используя при этом компьютер, то на помощь могут прийти OTG картридеры. Удобство некоторых моделей в том, что они работают не только с карточками формата microSD, но и с более крупными по размеру SD-картами.
Для пока немногочисленных смартфонов и планшетов, которые поддерживают функцию Display Port, предусмотрены специальные переходники для вывода видео и аудиосигнала на телевизор или монитор.
Различные модели USB-разветвителей помогут подключить к мобильному устройству сразу несколько гаджетов, особенно если разветвитель имеет внешнее питание.
Или, как уже раньше упоминалось, возможно подключение внешних жестких дисков, правда не все будет работать без дополнительного питания.
Список гаджетов этим не ограничивается — подключиться также можно к принтеру или камере, или вполне реально использовать проводную гарнитуру, требующую дополнительного питания для подсветки. Еще в продаже можно найти модемы, проводные геймпады, ИК-передатчики, USB-вентиляторы, всевозможные датчики, USB-гирлянды и даже USB-увлажнители воздуха или маленькие пылесосы.
Зарядка других устройств
Наличие в устройстве USB OTG дает еще один плюс в виде возможности заряжать другие девайсы и гаджеты. При этом заряжаться будет то устройство, в разъем которого вставляется обычный кабель, а отдает заряд девайс с подключенным переходником USB OTG. Заряжаться могут и аппараты без поддержки «On-the-Go», но вот заряжать что-то у них уже не получится.
Что такое USB-host и USB OTG
Я начинаю серию справочных статей по отдельным компонентам и функциям различных электронных устройств — планшетов, ноутбуков, ридеров, плееров и так далее. Это такой своеобразный ликбез в сфере бытовой электроники. Я постараюсь сделать эти статьи понятными для максимально широкого круга людей.
Тема сегодняшней статьи — USB-host (USB-хост). Это весьма примечательная функция, которой оснащается достаточно большое количество устройств (в основном, правда, довольно дорогих), и рассказать о ней определенно стоит. Также я расскажу и о функции USB OTG — фактически, более современной разновидности USB-хоста.
Если говорить максимально просто и доступно, то наличие USB-хоста на каком-нибудь устройстве означает возможность подключения к нему различных внешних устройств — например, флэшек, внешних жестких дисков, кардридеров, плееров, фотоаппаратов и так далее. Весьма интересна возможность подключения и внешней «периферии» — клавиатур, мышек и так далее.
Устройство с функцией USB-хоста обладает полноценным портом USB и специальным программным обеспечением (в частности, драйверами), которое позволяет осуществлять работу с подключаемыми устройствами: передавать на них файлы, копировать файлы с них, использовать подключенное устройство в качестве клавиатуры и так далее.
Что интересно, к устройству с USB-хостом можно подключать также USB-хабы — устройства, которые подобны сетевым тройникам. Например, на планшетах обычно имеется только один порт USB. Подключив к нему USB-хаб (а стоит он недорого), вы получите уже два или даже четыре порта, что весьма удобно — например, к одному можно подсоединить клавиатуру, а к другому подключать флэшки.
В каких случаях USB-хост удобен и нужен? Да во многих. Согласитесь, возможность скопировать файлы на плеер, планшет или ридер без подключения его к компьютеру не может не радовать. Вам надо просто подключить к устройству флэшку или какое-либо другое устройство, с которого вам нужно перенести файлы.
Весьма приятна возможность перенести снимки с фотоаппарата на планшет или плеер с жестким диском, и тем самым освободить память фотоаппарата, сделать еще больше снимков. Подключение клавиатуры к планшету — тоже очень приятная возможность. Удобны и принтеры с наличием USB-хоста: к ним можно напрямую подключать фотоаппараты, телефоны, флэшки и печатать снимки или документы прямо с них; компьютер для этого совершенно необязателен.
При этом стоит отметить, что само наличие функции USB-хоста еще не гарантирует его нормальную работу. В частности, процесс обмена файлами через USB может осуществляться достаточно сложным и неудобным образом — в качестве примера можно привести PocketBook 302 (это, кстати, единственный ридер, оснащенный USB-хостом). Какие-то устройства могут просто не подключиться ввиду отсутствия драйверов или неких недоработок программистов, писавших программное обеспечение для USB-хоста.
Именно поэтому я советую перед покупкой того или иного устройства проверить, насколько качественно реализована в нем опция USB-host. Попробуйте подключить флэшку, посмотреть, насколько легко и удобно можно скопировать файлы с нее и на нее. Если у вас есть usb-клавиатура, которую вы планируете использовать вместе с покупаемым устройством, не лишним будет проверить корректность ее работы. Если же вы соберетесь купить такую клавиатуру уже после покупки самого устройства, то возьмите с собой в магазин это устройство и проверьте, насколько корректно будут с ним работать представленные в магазины клавиатуры.
Стоит отметить, что сейчас имеются в продаже устройства и с поддержкой так называемого USB OTG. Я бы сказал даже, что USB OTG сейчас встречается в устройствах довольно часто, чаще, чем классический USB-хост. В чем основное отличие USB OTG? В том, что USB OTG не предполагает наличие отдельного классического полноразмерного порта USB. Для подключения периферийных устройств используется порт microUSB или miniUSB, который, вообще говоря, служит главным образом для связи устройства с компьютером. На устройстве с USB OTG этот порт фактически совмещает в себе функции USB-host (подключение периферии) и USB-device (подключение к компьютеру).
Чтобы к miniUSB/microUSB порту с поддержкой OTG подключить флэшку или, скажем, клавиатуру, необходимо приобрести специальный переходник, который стоит порядка 500 рублей (при желании его можно найти по более низкой цене или же вовсе сделать самому — в интернете есть инструкции). Затем нужно вставить этот переходник в порт miniUSB/microUSB, а к соответствующему выходу переходника подключить нужное вам периферийное устройство.
И тут опять же стоит отметить, что не на всех устройствах USB OTG реализовано хорошо. Где-то поддержка USB OTG может быть заявлена, но ввиду отсутствия необходимого программного обеспечения она не работает. Пример — ридеры Onyx Boox. Также стоит отметить, что внешние жесткие диски по протоколу USB OTG подключить вряд ли удастся: они потребляют слишком много энергии; планшет «прокормить» их просто не в состоянии.
Так мы плавно переходим к основному недостатку USB-хоста (как классического, так и USB OTG): его активное использование способствует быстрой разрядке устройства. Конечно, клавиатура много энергии пожирать не будет, а вот постоянно подключенная и использующаяся флэшка — будет.
Под конец стоит ответить на вопрос: почему USB OTG сейчас популярнее, чем обычный USB-host? Ответ, на самом деле, довольно прост: USB OTG позволяет уменьшить толщину и вес устройства. В случае с классическим USB-host’ом в устройство надо встроить полноразмерный USB-порт (соответственно, увеличивается толщина) и обычный mini/micro-USB порт — для подключения к компьютеру (увеличивается и итоговый вес). В случае с USB OTG надо установить только один mini/microUSB-порт, просто многофункциональный — работающий и на вход, и на выход. Более того, USB OTG отличается более низким энергопотреблением, хотя и не позволяет поэтому подключать такие прожорливые устройства, как внешние жесткие диски.
Но USB OTG не лишен и недостатков, главным из которых является необходимость покупки переходника и постоянной его переноски с собой.
Посмотреть, поддерживает ли интересующее вас устройство опцию USB-host или USB OTG, можно на странице описания устройства в разделе «Технические характеристики» («Спецификации»). Описание, разумеется, можно найти на сайте производителя устройства, а также на сайтах многих магазинов.
17 Replies to “Что такое USB-host и USB OTG”
Кстати: может сделать небольшой обзор- справочник по кабелям? Что такое AM-AF, AM-BM и прочие абревиатуры. Для чего они нужны, полезны и т.д
Можно сюда и HDMI добавить. Сейчас в продаже как минимум три разновидности(модификации) этих кабелей. Последняя, самая дорогая позволяет использовать этот кабель для всего- вплоть до передачи интернета. Т.е из него пытаются сделать универсальный стандарт.
Увы, я совершенно не разбираюсь кабелях, во всех этих AM-AF, AM-BM и тому подобных разновидностях.
Самое оригинальное применение AM-AF : если пользуетесь модемом от сотового оператора, то при плохом приеме удлинить соединение с помощью этого кабеля и подвесить модем к потолку или выкинуть в форточку. 😉
. Но USB OTG не лишен и недостатков — невозможность подключения USB-хаба (разветвителя).
А как же это видео?
http://samsung-galaxy.mobi/samsung-galaxy-s3-i-dzhoystik-posredstvom-usb-otg/
Спасибо за информацию и ссылку! Сейчас сам удивляюсь, с чего взял, что нельзя подключить юсб-хаб к устройству с OTG:)
Убрал соответствующее предложение.
Hi All!
К моему Samsung Galaxy Tab 7.7 через USB-OTG кабель непосредственно подключаются маломощные (до 500мА потребляемого тока) USB-устройсва, как-то USB Flash, USB Card Readers, etc., а также мощные USB устройства типа EBook, Ext USB HDD с подключенным собственным питанием. Через внешний USB-hab со своим источником питания поключаются внешние USB HDD, не имеющие собственного источника питания — проверено на Jet HDD 0.5TB, который получает питание только через USB. Причем, в отличе от многих китайских недопланшетов, видится несколько поключенных к хабу устойств, а не «одно из…» То же самое могу сказать про Samsung Galaxy S3. Про другие врать не буду, пока лично не проверю! 🙂
Yours sincerely, Dmitry aka wcat
А в программном отношении USB OTG это просто USB или нет?
Насколько я знаю, нет. Нужны специальные драйвера. Бывает, что устройство оснащено USB OTG аппаратно, но программно возможность «общения» с внешними устройствами не поддерживается.
Зачем вообще эта глупость на планшетах? Обычный порт вполне бы подошёл как на нетбуках. Как и для usb типа В, так и для типа А есть варианты и мини, и микро. Через тип А нельзя подключать устройство к компу, но зачем вообще это надо? Мы же не подключаем нетбуки к компу через USB и не паримся по этому поводу. USB otg больше нужен телефонам, но планшет всё же ближе к нетбуку, чем к телефону.
Добрый день. при подключении планшета через USB OTG к ПК насколько свободно можно оперировать фалами на планшете?
Использование же USB-OTG на планшетах — это реальный маразм, поскольку планшет подключать к компу смысла нет никакого, ибо есть встроенный wifi, нормального размера дисплей, короче говоря, есть возможность по-человечески работать в сети. А раз нет необходимости подключаться к компу, то, спрашивается, ЗАЧЕМ ВООБЩЕ НА ПЛАНШЕТЕ УСТАНАВЛИВАТЬ USB-ПОРТ ТИПА B? Это и есть главный вопрос, но такое впечатление, что производители воспринимают планшет как устройство более близкое к телефону, нежели чем к ноутбуку, по-другому эту глупость в виде установки USB портов типа B не объяснишь. Вполне себе замечательно можно было бы установить порт microUSB типа A и подключать к планшету не только флешки, но и принтеры, например: драйвера есть и для Windows, и для Android (ибо на Linux’e это дело собрано).
Салют,Колян! Ну вот я тоже пользовался флешками для передачи данных с телефона на планшет(и обратно).
Пока телефон перестал запускаться с флешкой.Теперь собрал один кабель,соединив по цветам два конца(папа-папа) с микроЮСБ,так как в продаже оного нет:-(.Не пойму,почему планшет на видит телефон,не появляется даже значок ЮСБ соединения.Может,что не правильно делаю?
Где можно приобрести нужные драйвера для отг?
Думаю, что в первую очередь стоит проверить сайт производителя гаджета, к которому нужны драйвера. Если там их нет, стоит связаться с их техподдержкой.
А хде реклама? хотел отблагодарить за инфу, а рекламы нету..