Android как USB хост и как USB устройство |
![]() |
Добавил(а) microsin |
Android поддерживает разные периферийные устройства USB и аксессуары USB для Android (Android USB accessories, специальные аппаратные устройства, поддерживающие протокол аксессуаров Android). При этом Android может работать в 2 режимах: как аксессуар USB (т. е. устройство USB) и как хост USB (т. е. главный на шине USB, который управляет USB-устройствами). В режиме аксессуара USB внешняя аппаратура USB работает как хост USB (обычно в такой роли выступает компьютер, в порт USB которого подключено портом USB устройство Android). Примерами таких аксессуаров могут служить роботизированные контроллеры, док-станции, диагностическое и музыкальное оборудование, киоски, картридеры, и многое другое. Это дает устройствам на основе Android, не имеющим возможностей хоста, средство взаимодействовать с аппаратурой USB. Аксессуары Android USB должны быть разработаны так, чтобы чтобы они могли работать с устройствами Android, с поддержкой протокола обмена аксессуаров Android (Android accessory communication protocol, см. [2]). В режиме хоста Android-устройство работает как хост. В этом режиме оно может обмениваться данными с таким устройствами USB, как цифровые камеры, клавиатуры, мыши и игровые контроллеры. Устройства USB, которые были разработаны для широкого спектра применения, все еще могут взаимодействовать с приложениями Android. На рисунке 1 показаны различия между этими двумя режимами. Когда Android-устройство работает в режиме хоста (USB host), оно становится хостом на шине USB, и подает питание на шину USB. Когда Android работает в режиме аксессуара USB (USB device, USB accessory mode), подключенная снаружи аппаратура USB работает как хост и подает питание на шину. Рис. 1. Android: режимы USB хоста и аксессуара (устройства) USB. Оба режима, и USB accessory, и USB host напрямую поддерживаются в Android 3.1 (API level 12) или также на более новых платформах. USB accessory mode также портирован и на платформу Android 2.3.4 (API level 10) в виде добавочной библиотеки (add-on library), чтобы поддержать широкий спектр устройств. Производители устройств сами решают - нужно ли добавлять эту библиотеку в конечный образ системы устройства. Примечание: поддержка режимов USB host и USB accessory полностью зависит от аппаратуры устройства, независимо от уровня платформы (т. е. независимо версии OS Android, установленной на устройстве, и наличия библиотеки). Вы можете отфильтровать устройства, которые поддерживают USB host и accessory с помощью элемента < uses-feature >. Подробности см. в документации про USB accessory [3] и USB host [4]. [Кое что о режиме отладки] Когда отлаживаете приложения, которые используют фичи USB accessory или USB host, вероятно Вам понадобиться подключить к своему Android через USB некую аппаратуру USB. Это соединение не позволит работать мосту adb через соединение USB (см. [5]). Но Вы все еще можете соединиться с сервером adb через сеть. Вот что нужно сделать, чтобы разрешить работу adb через сетевое соединение: 1. Подключите Android-устройство через USB к Вашему компьютеру. [Ссылки] 1. USB Host and Accessory site:developer.android.com. |