Почему для USB Serial всегда требуется USB-OTG?
Я хочу подключить свой телефон Android к другому USB-хосту (ПК) и обменяться некоторыми данными наиболее простым способом. Чтение / запись файлов кажется немного странным. Bluetooth или WLAN тоже кажутся непосильными. Эмуляция последовательного устройства звучит для меня проще. Простые микроконтроллеры могут выставлять себя в качестве устройств USB Serial или эмулировать USB-клавиатуру, чтобы сказать что-то, что кажется намного проще, чем играть роль хоста (помимо необходимости подавать питание на провода USB и внешнее устройство)
Если я правильно понимаю, все эти терминальные утилиты используют USB-OTG и играют USB Host, ища USB-устройства. (?)
Я довольно новичок в программировании на Android (Первые уроки в Android Studio)
и хочу найти применение старому телефону (Samsung Fame GT-S6810P с Android 4.1.2), явно не поддерживающему OTG.
Что я упускаю, очевидно, что путь? Или какие из моих идей совершенно неверны? Подсказки, с чего начать обучение, приветствуются.
1 ответ
OTG означает, что процессор ARM, на котором работает телефон, должен иметь возможность подключения к USB-хосту (режим USB-хоста) (клавиатуры, перьевые диски и другие аксессуары, которые можно подключить, являются USB-устройствами (режим USB-устройства)) В протоколе USB в шине находится только 1 устройство в режиме хоста, все остальные устройства находятся в режиме устройства.
поэтому нет необходимости иметь возможность работы в режиме OTG / хост для последовательного USB (класс CDC ACM / виртуальный COM-порт), телефон теоретически также может находиться в режиме устройства. На практике функциональность устройства USB CDC ACM (режим устройства USB) / виртуального COM-порта просто не реализована в Android, и поэтому последовательное USB-подключение от ПК к Android невозможно, поскольку Android не реализовал эту функцию в качестве устройства CDC ACM. / виртуальный COM-порт (в режиме устройства)
По этой причине, по-видимому, для последовательного USB-порта / виртуального COM-порта необходимо наличие режима OTG / хоста. На самом деле в этом нет необходимости, и причина, по которой последовательный USB-порт невозможен, заключается в том, что Android не реализует функциональность устройства CDC ACM / виртуального COM-порта в режиме устройства.
если телефон может быть хостом USB (возможность OTG), он должен иметь все модули ядра для подключенных устройств, таких как usb-storage
для запоминающих устройств cdc_acm
для устройств CDC ACM (виртуальный COM-порт),...