2011-01-29 30 views
10

Estoy trabajando en esta aplicación de Android que necesita comunicarse a través de USB. Tengo una tableta Archos 101 (especificaciones aquí: http://www.archos.com/products/ta/archos_101it/specs.html?country=us&lang=en). Tiene un puerto de host USB completo. Puedo poner una unidad flash USB en el puerto USB y copiar archivos hacia y desde la unidad flash en el almacenamiento interno.Comunicación USB con Android/Arduino

Tengo este Arduino Fio tablero, con un XBee a él. Tengo un Dongle XBee Explorer con otro XBee que planeo enganchar en la tableta Archos 101 en el puerto USB.

A partir de ahora, puedo poner el Dongle XBee Explorer en mi computadora y enviar/recibir datos desde y hacia Arduino Fio, sin problemas.

¿Hay alguna manera para Android de hablar por USB? Sé que debe haber controladores en algún lugar de la tableta que permitan la comunicación USB, pero no puedo encontrar una manera de acceder a ellos o usarlos.

Veo que Android reconoce el Dongle XBee Explorer. Descargué un emulador de terminal, y puedo escribir "dmesg" y ver que ve el dongle conectado. Pero no puedo hacer nada con eso.

Parece que necesito un controlador FTDI para Android.

Agradecería cualquier ayuda para hacer que mi tableta se comunique con el Dongle XBee Explorer.

+0

Tuve un problema similar y lo resolví. Por favor, compruebe mi respuesta [aquí] (http://stackoverflow.com/questions/4621580/using-serial-port-rs-232-in-android/6279832#6279832) Espero que esto ayude. ¡Buena suerte! –

Respuesta

0

USB no es fácil de programar, y sería mucho más fácil con ethernet o rs232. Sin embargo, si insistes, echa un vistazo a V-USB (SW USB), LUFA (HW USB) y Lufaduino (HW USB). Si Android tiene controladores USB CDC ya integrados, entonces podría ser la ruta más fácil para usted si también lo implementa en AVR. La implementación AVR USB CDC lenta, barata y solo de software es here.

1

Hay una solución de Inopiaaardbei que usa Arduino y un blindaje de host USB con un puente de depuración Android que se ejecuta en Arduino.
Al usar esta solución, puede usar la comunicación en serie entre el teléfono Android y la placa Arduino.
Ver my post y el enlace adentro para más información.

1

Puede usar un adk de Android o el yoio de Android conectado a un módulo xbee como lo hice en este article. He publicado el código en mi github y otro chico va a implementar la GUI actualmente.

+1

Sería genial si puede incluir más y más detalles en la respuesta en sí en lugar de simplemente proporcionar el enlace a su artículo, ya que podría no estar disponible en el futuro, a la derecha :) – Amar

2

Si tiene root y puede hackear su kernel, FTDI ofrece su controlador D2XX para el sistema operativo Android. Verifique su sitio web, por favor.

Si su dispositivo Android es 3.1+, debería poder usar el host USB de Android para hablar con Arduino. Sin embargo, conocí algunos problemas sobre esto.

Si tiene ADK/UHS a la mano, su Arduino puede actuar como host USB y hablar con un dispositivo USB con Android. Incluso en el mismo hardware, si su sistema operativo Android es bastante antiguo, como 1.5/1.6, debe utilizar la interfaz ADB en lugar del protocolo ADK (Kit de desarrollador de accesorios).

Si tiene Bluetooth, puede escribir su propio Bluetooth SPP en su aplicación.

Si puede manejar WiFi, puede escribir la aplicación para la comunicación con el socket, o a través del último modo directo WiFi en Android.

La comunicación es variada. Sin embargo, depende de tu hardware.