2011-08-03 16 views
14

Al parecer, con Android 2.3.4 y 3.1 ahora se puede acceder a los accesorios USB.conexión USB de host a serie?

Tengo una placa Ardupilot Mega (basada en Arduino) con un cable USB conectado a mi computadora portátil, y me puedo conectar a ella mediante un sencillo programa de comunicaciones serie sobre COM7 y 115.200 baudios. Esto me permite acceder a la interfaz de la línea de comandos y puedo emitir comandos y obtener registros.

¿Es posible escribir una aplicación de Android que se comunique mediante USB a mi placa Ardupilot Mega?

He visto muchos subprocesos similares, pero la mayoría de ellos eran host pre-USB.

+1

He encontrado https://github.com/ksksue/FTDriver y su sucesora https://github.com/ksksue/PhysicaloidLibrary que está específicamente diseñada para arduinos. – Bergi

+3

También hay https://github.com/felHR85/UsbSerial – Bergi

+0

@Bergi, github.com/felHR85/UsbSerial ... este ejemplo es muy bueno, gracias, probé con el mismo ejemplo, no obtengo los valores correctos en EditText, lo que BOARD está enviando por USB, ¿puedes decirme el motivo? – kgsharathkumar

Respuesta

0

Quizás. Consulte el Android Open Accessories announcement on the Android Developers Blog. Arduino Mega ADK es compatible. No estoy seguro sobre el Ardupilot Mega.

Desde su página:

La plataforma Android 3.1 (también portado a Android 2.3.4) presenta apoyo abierto Android de accesorios, lo que permite que el hardware USB externo (un accesorio USB Android) para interactuar con una Dispositivo con Android en el modo especial "accesorio" . Cuando un dispositivo con motor Android está en el modo de accesorio , el accesorio conectado actúa como el host USB (alimenta el el bus y enumera los dispositivos) y el dispositivo con Android actúa como el dispositivo USB. Los accesorios USB de Android están diseñados específicamente para se conectan a dispositivos con Android y se adhieren a un protocolo simple (protocolo de accesorio Android) que les permite detectar dispositivos con Android que admiten el modo accesorio. Los accesorios deben también proporcionan 500 mA a 5 V para la potencia de carga. Muchos dispositivos con Android previamente lanzados solo pueden actuar como dispositivos USB y no pueden iniciar conexiones con dispositivos USB externos. Android Open El soporte de accesorios supera esta limitación y le permite crear accesorios que pueden interactuar con una variedad de dispositivos alimentados por Android, permitiendo que el accesorio inicie la conexión.

Nota: El modo de accesorio depende en última instancia del hardware del dispositivo y no todos los dispositivos admitirán el modo de accesorio. Los dispositivos compatibles con el modo de accesorio se pueden filtrar utilizando un elemento "uses-feature" en el manifiesto de Android de la aplicación correspondiente . Para obtener más información, consulte la Guía del desarrollador de accesorios USB.

La siguiente lista de distribuidores están produciendo actualmente Android abierto de accesorios y placas de desarrollo compatibles:

La tienda Arduino proporciona el Arduino Mega ADK (en los países de la UE o naciones fuera de la UE) que se basa en la Atmega2560 y es compatible con el firmware ADK . DIY Drones proporciona una placa compatible con Arduino orientada a hacia RC (controlado por radio) y UAV (vehículo aéreo no tripulado) entusiastas. Microchip proporciona una placa de microcontrolador USB basada en PIC. El dispositivo moderno proporciona una placa compatible con Arduino que admite el firmware ADK . RT Corp proporciona una placa compatible con Arduino basada en el diseño de la placa ADK de Android. Seeed Studio proporciona una placa compatible con Arduino que admite el firmware ADK.La placa IOIO de SparkFun ahora tiene soporte beta para el firmware ADK.

+0

Sí, pero eso convierte el dispositivo Android en un accesorio usb, y la placa Arduino necesita ser host, requiere un adaptador, etc. Estoy seguro de que hay una forma sencilla de obtener las comunicaciones seriadas en modo de host USB. . –

0

Se puede extraer de la biblioteca se describe en Slick USB 2 Serial Library.

Permite que los adaptadores comunes de USB a serie funcionen con dispositivos Android que tienen modo de host USB sin necesidad de rootear.

+1

el enlace publicado está roto. – Rachael

14

usb-serial-for-android es mi biblioteca de código abierto escrita exactamente para esta necesidad. Es compatible con los dispositivos serie USB FTDI y CDC-ACM con soporte de host USB de Android; no es necesario root o ADK. Puede hablar la mayoría de los Arduinos.

El proyecto aún está en sus inicios, pero el soporte básico ha funcionado lo suficientemente bien para varios proyectos. También hay un discussion list donde puede obtener ayuda.

+0

¿Hay algún ejemplo de código fuente que funcione con dispositivos CDC/ACM? – Machado

+2

Desafortunadamente, la licencia LGPL lo hace inutilizable para la mayoría de los proyectos. –

-1

http://slickdevlabs.com/

Actualmente estoy usando la biblioteca en mi propia aplicación, sin embargo, creo que puede salirse con sólo la aplicación que tiene mancha en el mercado. Hay dos aplicaciones gratuitas y una es la versión "pro" de una de las gratuitas; buscar slick usb en Google Play.

Utiliza el modo HOST y puede cambiar la velocidad en baudios a lo que necesite.

+0

desafortunadamente el enlace está muerto –

Cuestiones relacionadas