USB-связь с Android / Arduino

Я работаю над этим Android-приложением, которому необходимо обмениваться данными через USB. У меня есть планшет Archos 101 (характеристики здесь: http://www.archos.com/products/ta/archos_101it/specs.html?country=us&lang=en ). Он имеет полный порт USB-хоста. Я могу поместить USB-накопитель на USB-порт и скопировать файлы на флэш-накопитель и обратно с него на внутреннее хранилище.

У меня есть эта доска Arduino Fio , к которой прикреплен XBee . У меня есть XBee Explorer Dongle с другим XBee, который я планирую подключить к планшету Archos 101 в порт USB.

На данный момент я могу поместить XBee Explorer Dongle в свой компьютер и отправлять / получать данные в Arduino Fio и без проблем.

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

Я вижу, как Android распознает XBee Explorer Dongle. Я загрузил эмулятор терминала, и я могу набрать «dmesg» и увидеть, что он видит, что ключ подключен. Но я ничего не могу с этим поделать.

Кажется, мне нужен драйвер FTDI для Android.

Я был бы очень признателен за любую помощь в том, чтобы мой планшет мог общаться с XBee Explorer Dongle.

Solutions Collecting From Web of "USB-связь с Android / Arduino"

Если у вас есть root и может взломать ваше ядро, FTDI предлагает свой драйвер D2XX для ОС Android. Проверьте его сайт, пожалуйста.

Если ваше Android-устройство составляет 3,1+, вы можете использовать хост Android USB для общения с Arduino. Тем не менее, я встретил некоторые проблемы по этому поводу.

Если у вас есть ADK / UHS под рукой, ваш Arduino может выступать в качестве USB-хоста и разговаривать с устройством Android Android. Даже в том же оборудовании, если ваша ОС Android довольно старая, как 1.5 / 1.6, вам нужно использовать интерфейс ADB, а не протокол ADK (Accessory Developer Kit).

Если у вас Bluetooth, вы можете написать свой собственный Bluetooth SPP в своем приложении.

Если вы можете обрабатывать WiFi, вы можете написать приложение для связи с сокетом или через самый последний прямой режим WiFi в Android.

Общение различное. Однако это зависит от вашего оборудования.

Существует решение Inopiaaardbei с использованием Arduino и USB-хоста с мостом Android Debug, работающим на Arduino.
Используя это решение, вы можете использовать последовательную связь между телефоном Android и платой Arduino.
См. Мой пост и ссылку внутри для получения дополнительной информации.

Вы можете использовать android adk или android ioio, подключенные к модулю xbee, как в этой статье . Я опубликовал код на моем github, и другой парень собирается реализовать gui в настоящее время.

USB не прост в программировании, и было бы намного проще с ethernet или rs232. Однако, если вы настаиваете, посмотрите на V-USB (SW USB), LUFA (HW USB) и Lufaduino (HW USB). Если Android уже встроен в USB CDC-драйверы, это может быть самым простым путем для вас, если вы также реализуете его в AVR. Медленная, дешевая и программная реализация AVR USB CDC здесь .