Как связаться с USB-устройством с планшета Android? - PullRequest
5 голосов
/ 09 мая 2011

Год назад Есть ли способ связи с USB-устройствами на Android? это не выглядело как обычное требование, но планшеты эволюционировали, и, надеюсь, ОС тоже имеет.
Мне нужно работать с простой картой USB-ретранслятора с моего планшета Curtis LT8025, на котором в настоящее время работает исправленная версия 2.1.
Я также новичок как в Android, так и в Java, поэтому относительно невежественен!
Нет необходимости в би-направленная связь, просто простая последовательная команда на устройство.

Есть предложения?

Спасибо!
Дэйв

Ответы [ 3 ]

2 голосов
/ 09 мая 2011

Если вы используете устройство с последовательным интерфейсом и имеете возможность общаться с ним по собственному последовательному порту, вы можете рассмотреть IOIO (см. http://ytai -mer.blogspot.com / 2011/04 / meet-ioio-io-for-android.html для более подробной информации).

2 голосов
/ 09 мая 2011

К сожалению, в настоящее время нет стандартного API для обеспечения проводной связи с устройствами Android. Некоторое время назад я столкнулся с аналогичной проблемой (см. Android: связь с USB-устройством, которое действует как хост ).

Мне удалось успешно реализовать решение, предоставленное CommonsWare. Оставьте комментарий, если вам нужна дополнительная помощь по этому вопросу, и я могу предоставить подробности.

  • Редактировать (подробнее) -

По сути, я сузил до двух возможных решений этой проблемы:

  1. Измените сам источник Android, включив в него пользовательские драйверы для любых целей и установите его на свой планшет. Поскольку он в основном основан на Linux, если вы разрабатываете драйверы для Linux, то же самое можно использовать в Android с небольшой модификацией. Это решение проще в разработке, но не является коммерчески практичным, если вы сами не предоставляете планшет / телефон.

  2. Заставьте ваше USB-устройство выступать в качестве хоста и внедрите драйвер / набор команд ADB в вашем устройстве. При подключении вы можете выдавать «adb forward» для переадресации портов tcp, чтобы вы могли взаимодействовать со своими приложениями Android и иметь двустороннюю связь между устройством и приложением.

Я использовал второй метод, и он работает без нареканий. Но это только практично, если вы делаете хост-устройства USB. для ведомых USB первый способ - единственный способ, которым я восстанавливаю.

0 голосов
/ 06 декабря 2011

Я создаю пользовательскую систему Android.Я подключил несколько устройств на USB.Я посмотрел, чтобы подключить устройство к порту OTG, которое обычно выходит из планшета, на котором вы используете ADB.Я сдался.Это кошмар.Я не думаю, что вы можете использовать ADB на OTG USB, который в настоящее время является устройством, и ожидаете, что сможете использовать другое устройство, такое как преобразователь USB в последовательный порт.Это означает, что вы теряете весь набор инструментов ADB для отладки, когда хотите использовать порт в качестве хоста.Кроме того, драйверы USB OTG, которые есть у вас для планшета, вероятно, не очень хорошо тестировались в режиме хоста, поскольку они не используются таким образом.Так много головных уборов.

Простой способ, который я нашел, - использовать второй порт USB на процессоре.Это обычный порт HOST (к сожалению, ограниченный 12 Мбит / с).К сожалению, я не знаю, есть ли какой-нибудь планшет с 2 USB-портами, доступными снаружи (один OTG и один хост).

Если вы получаете установку с двумя портами USB (один HOST), то можно скомпилировать как модуль (drivername.ko) конвертер usb в последовательный порт.В дереве исходного кода ядра поддерживается несколько наборов микросхем, и я уже использовал несколько из них, и это работает.

надеюсь, эта информация будет полезна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...