Usb hub для android

Обзор USB-концентратора J.Zao 6-в-1: подключаем к смартфону всё, что можно подключить

Сегодня мы рассмотрим док-станцию от бренда торговой площадки JD – J.ZAO.

Упаковка:

Комплектация:

Инструкция на китайском:

Характеристики и особенности:

Корпус сделан из алюминия с силиконовым покрытием снизу, благодаря чему устройство надёжно фиксируется на поверхности и не скользит.

Если в устройство одновременно вставлена флешка, SD и MicroSD карты – будет считывать только карту памяти MicroSD.

Для того, чтобы вывести изображение смартфона на монитор через это устройство он должен поддерживать mhl / DeX, а для чтения флешек и карт-памяти – поддерживать OTG.

Список поддерживаемых устройств:

Экран смартфона транслируется на монитор / телевизор без задержки. Отлично работает на Samsung Galaxy S8 и S8+, можно одновременно подключить и использовать мышку и клавиатуру.

В связке со стационарным компьютером или ноутбуком концентратор можно использовать в качестве кард-ридера или для расширения слотов.

К сожалению, смартфон Xiaomi Mi Max 3 не поддерживает mhl / DeX, но OTG-функция работает исправно с картой памяти. Смартфоны Samsung S8 и S8+ отлично считывают как флешку так и внешний диск.

Таким образом, устройство можно использовать для:

  • подключения смартфона к монитору или телевизору для трансляции изображения без задержки и управляя мышкой и клавиатурой;
  • для расширения портов MacBook;
  • для подключения карты памяти / флешки / внешнего диска к телефону или компьютеру.

Источник

Работа с устройствами USB в Android

В недавней статье на Geektimes в комментариях возник вопрос о поддержке в ОС Android периферии, подключенной к шине USB. Действительно, большинство вендорского ПО, к примеру, для работы с принтерами и МФУ, поддерживает только подключение по сети. Однако это не означает, что в самой ОС Android нет такой возможности — это означает лишь то, что большинство устройств не имеют полноценного USB хоста, и далеко не все имеют поддержку OTG. По сети же могут работать абсолютно все без исключения.

Большинство устройств на Android при наличии порта OTG поддерживают на уровне системы (ядра Linux или стандартных компонентов Android) следующие классы устройств:

  • Устройства ввода — клавиатуры, мыши, джойстики (HID)
  • Накопители (Mass Storage)

Несколько реже:

  • Сотовые модемы
  • Сетевые адаптеры
  • Вебкамеры

Хабы поддерживаются при наличии полноценных хост-портов, но не поддерживаются на портах OTG.

Подробнее список устройств, поддерживаемых на уровне ядра Linux, можно получить в sysfs:

$ ls /sys/bus/usb/drivers

Если же модуль в принципе доступен в исходниках ядра Linux, но не включен в Android — не стоит рассчитывать на то, что его получится собрать и расставить на все целевые системы.

Однако, начиная с Android 3.1 (API 12), в системе содержатся средства, достаточные для поддержки на уровне приложения любой USB периферии. Данные средства описаны в разделе USB Host руководства по Android API. Здесь же я хочу привести примеры реальной работы с некоторыми видами устройств.

Читайте также:  Android studio run apk on emulator

Права доступа

Как и для прочих действий, Android требует, чтобы приложение получило разрешение на доступ к USB периферии. Существует 2 способа получить такое разрешение:

  • Задекларировать список устройств в AndroidManifest
  • Явно показать пользователю диалог “разрешить”

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

Итак, нам необходимо добавить в манифест следующее:

А в res/xml/device_filter.xml вписать следующее:

Отмечу, что хотя общепринято указывать VID:PID в 16-ричной системе счисления, здесь они должны быть указаны в десятичной. В документации заявляется, что возможно указание только класса, без VID и PID, но у меня это не стало работать.

Принтеры

На примере принтера я покажу, как непосредственно использовать API android.hardware.usb. На уровне передачи данных все принтеры поддерживают стандартый класс USB устройств:

Класс предельно простой. В рамках этого класса устройство должно поддерживать:

  • Обязательный bulk out endpoind для отправки данных на принтер
  • Опциональный bulk in endpoind для получения статуса принтера
  • 3 управляющих запроса

Код, приведенный ниже, предоставляет функциональность, аналогичную устройству /dev/usb/lp в Linux. Далее нам нужен фильтр, преобразующий исходный документ в пакет данных, понятный конкретной модели принтера. Но это тема иной статьи. Как один из вариантов — можно собрать ghostscript с помощью NDK.

Для работы с устройством нам в первую очередь нужно:

1. Найти устройство. В примере для простоты я ищу первый попавшийся:

2. Получить endpoint’ы:

3. Непосредсвенно открыть устройство:

4. После этого мы можем читать и писать в устройство:

5. По завершении работы — закрыть устройство:

Преобразователи USB-Serial

В отличие от притеров, преобразователи USB-Serial гораздо менее стандартизированы. Существует несколько распространенных чипов, для которых существенно отличается установка параметров последовательного порта — битрейта, чётности и проч. К счастью, есть библиотека github.com/mik3y/usb-serial-for-android, поддерживающая практически все существующие чипы. Библиотека полностью скрывает USB API, сводя все необходимые действия к минимуму вызовов с минимумом параметров.

1. Найти и открыть устройство:

2. Установить параметры последовательного порта:

3. Читать и писать в порт:

4. По завершении работы — закрыть порт:

Резюме

Надеюсь, что мне удалось показать, что работа с USB периферией достаточно проста и логична. Безусловно, реализация протоколов некоторых конкретных устройств не блещет простотой — но это проявится в любой системе в одинаковой степени.

Все приведенные примеры я взял из реального проекта, лишь исключил очевидные проверки, оставив только ключевые строки.

Источник

Micro USB OTG хаб. Поможет подключить несколько USB устройств к вашему девайсу.

Совсем недавно я приобрел себе недорогой планшетик на винде ONDA V820W. Кому интересно делал видео обзорчик: тут. Ну и столкнулся с проблемой подключения внешних устройств. Таких как клавиатура, мышка и флешка одновременно. Ведь у планшетика всего лишь один разъем OTG micro USB. Который к тому же используется еще и для заряжания планшета. А так как винда жрет все таки побольше чем андроид, то вопрос использования одного разъема на несколько устройств встал достаточно остро.
Прошерстив немного сайт 4pda нашел решение с помощью которого пользователи этого планшета решили данную проблему.
Этим решением оказался micro USB OTG хаб, который имеет 3 выхода под внешние устройства. Подцепляется к планшету посредством micro USB и плюс еще может через 4 вход заряжать от зарядного устройства сам планшет.
Недолго думая поискал на aliexpress подобный девайс, ну и нашел его за не очень дорогую цену у одного из китайцев. Соответственно заказал и через чуть более 20 дней получил вот такой черный пакетик.

Читайте также:  Дрифт фабрика андроид ру


Пакет большой, а само устройство достаточно маленькое, зачем было ложить в такой огромный для меня загадка, кто их поймет этих китайцев 🙂
Ну а внутри черного пакетика болтался сам OTG хабчик, упакованный в небольшой блистер.

На задней стороне упаковки нарисована картинка как пользоваться устройством и на английском приведена небольшая инструкция:

Тут в принципе все понятно, и сразу видно что можно подключать.
Давайте посмотрим на сам хабчик:

Тут все как заявлено, 3 входа под внешние устройства, один под зарядное, ну и выход для подключения в OTG.
Сбоку у хаба переключатель 2-х режимов работы: 1- режим зарядки (Charge), 2- режим OTG.

По заявлению продавца в режиме OTG хаб работает просто как разветвитель на несколько USB устройств.
Во втором же режиме хаб может брать от входа, с подключенным зарядным устройством, питание и заряжать планшет.
Но он сразу оговорился что не все устройства могут работать с данным хабом одновременно и в режиме Charge устройства и в режиме хаба.
Далее мы это проверим.
Разъем микро USB достаточно длинный и четко фиксируется в ответной части.

Вид на входы хаба:

Вид снизу:

Подключаем хаб к планшету и вставляем в него несколько флешек, мышку и зарядное устройства для проверки.
Хаб переключаем в режим OTG.

На виндовс 10 все определилось и заработало нормально. В режиме OTG планшет не заряжается.
Если переключить тут же в режим Charge, то все USB устройства моментально отваливаются. На фото курсор мыши пропал:

Но планшет заряжается.
Как показала практика USB устройства в режиме Charge все же будут работать. Но для этого нужно перезагрузить виндовс с подключенными к хабу устройствами и включенном режиме Charge.
На фото курсор мыши появился:

Но в операционной системе андроид 4.4. на планшете такой фокус не прошел и устройства в таком режиме работы хаба не заработали.
Сам хаб определяется виндовс 10 как универсальный USB концентратор:

Попробуем теперь скопировать с флешки, подключенной к хабу на рабочий стол виндовс 1 видео файл и посмотрим на скорость копирования:

Как мы видим скорость очень маленькая и колеблется постоянно в районе 1МБ/с. Что очень расстраивает, так как устройство то само по себе неплохое, но вот со скоростью передачи тут совсем все печально.
Теперь давайте попробуем копировать с одной флешки на другую через хаб:

Тут скорость просаживается еще больше и к середине копирования, как показала практика, может вообще упасть до 450 кбайт/с.
Давайте попробуем подключить через хаб внешний винчестер, у меня их 2. Один от WD, второй Samsung.
Samsung более старенький и жрет чуть ли не целый ампер при раскрутке.
Подлючаем WD с USB 3.0:

Винчестер после перезагрузки определился:

Но при попытке открыть его сначала долго думает:

А потом пишет что устройство не готово и даже щелкать иногда начинает, явно нехватка питания:

Ну а Samsung с USB 2.0 ожидаемо даже не определился:

Таким образом винчестеры подключать нельзя, даже и с питанием от нормального зарядного устройства блитцвольф, которое способно отдать 2.4А.

Попробуем еще одну функцию — посмотрим как хаб может отдавать ток заряда на устройства к нему подключенные в различных режимах.
Хаб в режиме Charge:

Телефон заряжается как от обыного USB порта.
Хаб в режиме OTG:

Телефон продолжает заряжаться, но уже не от зарядного устройства через хаб, а от батареи планшета.

Читайте также:  Iptables андроид что это

Добавлю фото внутренностей хаба:
Со снятой крышкой

Первая сторона

Вторая сторона платы:

Как видим китайцы экономили на деталях и кое что не доставили. Возможно поэтому скорость мала.

Ну а теперь видео версия, где можно увидеть как работает хаб своими глазами и посмотреть на мои эксперименты с ним:

Подведем итоги:
1. Хаб соответствует характеристикам заявленным продавцом и свои функции выполняет, все устройства заявленные на страничке работают.
2. Далее печальней. Скорость передачи данных очень низкая и не позволить работать напрямую с флеш накопителя подключенного к хабу, например видео будет жутко тормозить, особенно в full hd. Но возможно с документами все же можно будет работать.
3. Устройства с большим энерго потреблением, такие как винчестеры работать отказываются, т.к. порт не выдает нужного им тока.
4. Но все же некоторые устройства заряжать можно, как пример мой телефон.
5. Не на всех устройствах будет работать в режиме Charge.

Покупать или не покупать хаб пусть каждый решает сам. Ну а мне для моих нужд, даже при всех его минусах он вполне подходит, да и не настолько дорого он стоит, чтобы не попробовать.
А всем спасибо за внимание, и то что дочитали до конца 🙂

Источник

Оцените статью