Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
противсотовый телефонОбщайтесь с внешними устройствами,Можно использовать только USB и аудиоинтерфейсы.,ипотому чтоiOSсотовый телефон не поддерживает функцию OTG. Поэтому данная статья в основном посвящена Android Сотовый. Телефон представлен для связи с периферийными устройствами через интерфейс USB. Информацию об аудиоинтерфейсе см. в документе http://blog.csdn.net/howiexue/article/details/79145048. 。
– Благодаря быстрому развитию технологий мобильного Интернета на рынке доминируют два основных интеллектуальных мобильных устройства: iOS и Android. Помимо основных функций звонков и развлечений, эти мобильные устройства стали важными узлами информационного терминального оборудования в новую эпоху. – Универсальная последовательная шина (USB) в настоящее время стала наиболее стандартным интерфейсом, используемым для обеспечения надежного и недорогого цифрового соединения систем. Теперь она используется за пределами компьютеров и широко используется в промышленности, медицине, бытовой электронике и связи. сети и т. д. – Интерфейс RS232 уже давно широко используется в различных областях применения. Благодаря большому количеству мобильных телефонов и планшетов Android на рынке также возникла потребность в приложениях для подключения периферийных устройств через интерфейс USB к RS232 в системе Android. стать сильнее.
Примеры связи между USB-интерфейсами мобильного телефона и периферийными устройствами, представленными в настоящее время на рынке:
Рисунок 1. USB-накопитель мобильного телефона.
Рис. 2 USB-камера мобильного телефона
Plug and play, возможность горячей замены и возможность автоматической настройки. Пользователи могут автоматически идентифицировать и настраивать USB-устройства, просто подключая периферийные устройства к своим телефонам.
В настоящее время все телефоны и планшеты Android оснащены интерфейсами USB, которые являются гибкими в подключении и легко расширяются.
Шина USB2.0 обеспечивает максимальное напряжение 5 В и ток 500 м А, а USB3.0 может достигать 1 А. Большинству периферийных устройств USB не требуется отдельная система питания.
Благодаря многочисленным характеристикам USB он заменил большинство традиционных интерфейсов периферийных устройств ПК. Однако в интеллектуальных приборах и счетчиках также широко используется интерфейс RS-232C. Поскольку интеллектуальные системы управления приборами становятся все более сложными, а объем собираемых данных увеличивается, существует острая необходимость найти более быструю, безопасную и удобную форму связи. Характеристики интерфейса USB как раз соответствуют требованиям этого приложения. USB-продукты неизбежно войдут в сферу интеллектуального приборостроения и промышленного управления.
Протокол связи USB очень сложен, поэтому я не буду здесь вдаваться в подробности, а лишь кратко представлю базовые знания.
Рисунок 3 Общая схема интерфейса USB Как показано выше, включая общий стандарт Тип-A, Тип-B, Micro и другие интерфейсы Среди них Микро Интерфейс USB-это USB. Портативная версия стандарта 2.0 с поддержкой OTG. В настоящее время, за исключением продукции Apple, практически все мобильные устройства на продвинутом рынке используют интерфейсы Micro-USB.
Рисунок 4 Micro Схема USB-интерфейса
Рисунок 5 Каждый USB Сравнение скорости передачи данных и выходного тока версий
Рисунок 5 Процесс USB-коммуникации Общий USB-хост и устройство следуют принципу связи «главный-подчиненный», и каждая передача данных инициируется хостом. Если хост хочет вывести данные, он сначала отправляет пакет подтверждения, чтобы уведомить устройство. Затем данные отправляются, и после того, как устройство получит данные, оно отправляет пакет подтверждения. Если хост хочет ввести данные, он также сначала отправляет пакет подтверждения для уведомления устройства. Затем устройство отправляет подготовленные данные на хост. Хост отправляет устройству еще один пакет подтверждения.
По физической структуре система USB представляет собой звездообразную структуру. Он включает в себя три типа аппаратных устройств: USB HOST, USB DEVICE и USB HUB. Физическое соединение на шине USB представляет собой иерархическую звездообразную топологию. В центре каждой звездообразной топологии находится концентратор HUB. Между хостом и HUB, между HUB и HUB, а также между HUB. ХАБ и устройство.
Рис. 6. Общая архитектура USB
USB HOSTверноUSBУправление системой、Генерация одного кадра данных каждую миллисекунду、Отправьте запрос конфигурации для настройки USB-устройства.、Управление и восстановление после ошибок на шине. USB HUBДля подключений расширения устройства,ВсеUSB УСТРОЙСТВО подключено к USB на порту HUB. USB DEVICEперениматьUSBв автобусевсепакет,Используйте поле адреса пакета данных, чтобы определить, отправлен ли вам пакет данных: если адрес не совпадает,затем просто отбросьте пакет, если адреса совпадают;,затем отвечает через USB Пакет данных HOST и USB HOST выполняет передачу данных.
С точки зрения логической структуры каждое логическое устройство USB напрямую подключено к порту USB. HOST выполняет передачу данных.Реализуйте рукопожатие с традиционным интерфейсом аппаратными средствами.методдругой,USBИспользование интерфейса“мягкое рукопожатие”метод。
Механизм мягкого подтверждения USB реализуется посредством трех уровней драйверов. Ключевую роль среди них играет драйвер устройства, который устанавливает как минимум один конвейер между хостом и устройством. Существует два типа каналов: потоковые каналы и каналы сообщений. Одним из наиболее важных каналов сообщений является «канал управления по умолчанию». Этот канал существует сразу после включения устройства. Он предоставляет такую информацию, как конфигурация и состояние устройства. Связь между хостом и устройством осуществляется через каналы сообщений.
Рисунок 7 Структура программного обеспечения USB
Основная функция драйвера стека протоколов USB — подключение устройства к соответствующему драйверу устройства. Поскольку USB поддерживает множество устройств,Каждому конкретному устройству соответствует свой драйвер устройства. Для конкретного устройства,Какой драйвер использовать для управления,Драйверу стека протоколов необходимо прочитатьдескриптор устройстваСделайте выбор。После выбора драйвера,Драйвер стека протоколов также назначает адреса USB-устройствам.
После установки трубопровода,Управление передачей данных осуществляется драйвером интерфейса USB. здесь,Хозяин имеет абсолютное доминирование。Когда на устройстве происходит событие, об этом сообщается нахозяинмашина,Хост ждет возможности отправить команды на устройство.,открытая труба подачи,Отправлять или получать пакеты. Передача между хостом и устройством в виде пакетов данных.,Видимо, таким же образом данные передаются по сети.,Это асинхронный режим передачи данных.
В этом решении мобильные телефоны и периферийные устройства обмениваются данными через порты USB.
Рисунок 8 Структурная схема решения USB-USB Учитывая, что основным периферийным модулем управления является микроконтроллер, выбранный микроконтроллер должен иметь возможность управления USB. Связь между ними основана на стандартном протоколе связи USB.
USB-хост по-китайски означает основной режим USB, который соответствует USB-аксессуару (вторичный режим USB). Если Android работает в режиме USB-хоста, USB-устройство, подключенное к Android, воспринимает Android как хост. Например, если подключены мышь и клавиатура, клавиатуру и мышь можно использовать для управления системой Android.
Режим USB-аксессуара означает, что устройство Android можно использовать как USB-клавиатуру, мышь или U-диск, вставленный в хост-компьютер. Эти два режима поддерживаются только на уровне Android API 12 или выше, то есть Android 3.1 и выше. Версия . поддерживает оба режима.
То есть адаптер USB-UART используется между мобильным телефоном и периферийным устройством для реализации последовательной связи между мобильным телефоном и периферийным устройством. Преобразователь USB-UART представляет собой устройство преобразования протоколов (протокол USB-протокол последовательной связи), которое реализует взаимную связь между USB и RS-232/RS-485/RS-422 и другими последовательными устройствами. Двунаправленная передача данных может быть достигнута между коммуникационным хостом (USB) и последовательным устройством RS-232/RS-485/RS-422.
Рисунок 9. Структурная схема решения USB-UART. Для этого решения требуется только периферийный микроконтроллер для программирования последовательного порта, а затем для программирования используется Android USB Host. Программирование последовательного порта обычно знакомо при разработке микроконтроллеров. Здесь мы в основном представляем разработку USB-хоста.
Требуемые аппаратные требования: телефон должен поддерживать функцию OTG. OTG (On The Go) — это новый тип USB, который позволяет передавать данные и изображения между устройствами без компьютера. Он позволяет добавлять датчики к мобильному телефону и одновременно загружать работающую программу в плату разработки через интерфейс OTG. подключается к мобильному телефону, что позволяет мобильному телефону иметь более мощные функции.
Телефоны Android реализуют последовательную связь через интерфейс USB, в основном с помощью внешнего чипа USB-последовательный порт. Периферийное устройство здесь представляет собой устройство с последовательным портом UART, а чип преобразования преобразован в USB, что помогает Android-приложению верхнего уровня экранировать последовательный порт. Однако параметры последовательного порта все равно необходимо настроить с помощью приложения верхнего уровня.
Эти шаги обычно включают в себя:Обнаружение устройств->Подключайте устройства->Передача данных в обоих направлениях->Выключите устройство。
Принцип вызова основан на архитектуре программного обеспечения Android. Android SDK не реализует библиотеку классов, которая инкапсулирует связь через последовательный порт на уровне Framework, но Android основан на ядре Linux 2.6, поэтому мы можем использовать последовательный порт так же, как и в случае с ядром Linux 2.6. Система Линукс. Поскольку уровень Framework не инкапсулирует библиотеку классов для связи через последовательный порт, нам нужно использовать Android NDK для открытия, чтения и записи последовательного порта, а затем предоставить интерфейс для локального вызова Java.
Рис. 10. Общее решение FTDI
Хост будет питать Android, внешний источник питания не требуется. В этом решении используется протокол Android Open Accessory Mode, открытый Google. Это решение поддерживает мобильные телефоны и планшеты с Android 3.1 и выше. Однако, если система не является родной для Google, она может не поддерживаться, и обычно возникают проблемы. Это какие-то отечественные подражатели.
Если что-то из вышеперечисленного отсутствует, устройство Android не будет поддерживать последовательный порт Android.
С ростом популярности портативных устройств стало очень важно, чтобы планшеты, мобильные телефоны и устройства бытовой электроники были оснащены поддержкой хоста, способного подключаться к USB. В этом решении чип FT311D специально разработан для хоста Android, поддерживает Android 3.1 или более позднюю версию и доступен в 32-контактных корпусах QFN или LQFP.
Устройству не нужно загружать какие-либо драйверы на платформе Android, но для использования этого решения телефон Android должен поддерживать OTG. Функция,и иметьandroid.hardware.usb.host.xml
Кроме того, соответствующие решения должны быть сопоставлены с соответствующим программным обеспечением. Например, для решения 4.1.1 требуется APK-файл Passion AOA HyperTerminal. Для решения 4.1.2 требуется APK-файл Android HyperTerminal. Эти два помощника по отладке последовательного порта на Android — бесплатное программное обеспечение, разработанное Passion Technologies Limited.
Основной принцип тот же, что и у FTDI, но чип другой. Мобильное приложение предоставлено производителем PL2303/Ch34x с исходным кодом и SDK: http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=230&pcid=41
Рисунок 11. Общее решение PL2303.
Для чипа PL2303 HXD требуется система Android. Версия ОС Android (планшет или мобильный телефон) должна быть 3.2 или выше. Его преимущества заключаются в следующем:
• Можно использовать без root-прав • Нет необходимости перекомпилировать ядро, решение без драйверов • Использование USB на Android порт питания или используйте USBHub И периферийные источники питания ##4.3 Проект с открытым исходным кодом: usb-serial-for-android Github: https://github.com/mik3y/usb-serial-for-android (LGPL licence) Предоставляет код драйвера оборудования Android для последовательных портов USB Arduino и других устройств на базе Android. Хост и версия Android должны быть выше версии 3.1. 。 Доступно для справки ##4.4 Другие (будут добавлены, но принципы основаны на 3.1 и 3.2)
Github: https://github.com/mik3y/usb-serial-for-android (LGPL licence) Предоставляет код драйвера оборудования Android для последовательных портов USB Arduino и других устройств на базе Android. Хост и версия Android должны быть выше версии 3.1. 。 Доступно для справки
• FT311D не требует поддержки OTG и имеет хорошую совместимость. Он требует внешнего источника питания и относительно дорог. • PL2303HXD требует поддержки OTG, не требует внешнего источника питания, имеет проблемы совместимости и дешевле. • Дополнительным преимуществом использования модуля PL2303 является то, что он поддерживает платформы Android и WINDOWS, которые можно использовать на мобильных телефонах, планшетах, а также обычных настольных компьютерах и ноутбуках.
[1] Чжао Чуньтинг, Левая маленькая пятая. Исследование USB-последовательного порта на базе системы Android[J]. промышленный управляющий компьютер, 2014, 27(1):83-84. Справочные ссылки: http://blog.csdn.net/ever_gz/article/details/49669729 https://github.com/mik3y/usb-serial-for-android http://blog.csdn.net/lindonghai/article/details/50717218 http://download.csdn.net/detail/u011130391/6638743 http://gqdy365.iteye.com/blog/2188906 http://blog.csdn.net/tangcheng_ok/article/details/7021470 http://www.jb51.net/article/110827.htm http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=230&pcid=41
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/149880.html Исходная ссылка: https://javaforall.cn