2010-09-27 17 views
51

Estoy pensando en una aplicación de Android (posiblemente con un dispositivo físico), y estoy tratando de averiguar si esto es algo factible.Aplicaciones de Android, comunicación con un dispositivo conectado al puerto USB

1) Digamos que conecto mi Android a mi PC. ¿Sería posible que una aplicación instalada en la PC se comunique con una aplicación que se ejecuta en el teléfono celular? Solo necesito un intercambio de datos muy simplista, incluso puede ser unidireccional (solo datos enviados desde el teléfono celular a la aplicación de escucha en la PC, cada vez que el teléfono móvil lo desee, no necesito ningún dato enviado desde la PC al teléfono)

Cuando lo conecto, el teléfono me da 4 opciones (carga, unidad de disco, sincronización de HTC, conexión), lo que me hace pensar que esto no es factible, pero vale la pena.

2) ¿Sería posible para una aplicación en la PC hablar con una aplicación en el teléfono de otra manera? (Wi-Fi, bluetooth, etc.) Supongo que no en wi-fi ya que ninguna de las partes tiene la IP de la otra (y quiero que esto funcione, sin tener que ingresar direcciones IP de forma manual todo el tiempo).

3) Si hago un dispositivo que está conectado al pequeño puerto USB en la parte inferior del teléfono (y digamos que este es un dispositivo mágico que puede hacer cualquier cosa, no me preocupo por esos detalles siempre y cuando es factible). ¿Puedo tener una aplicación de Android para hablar con ese dispositivo?

4) Cualquier otra idea para hacer que el teléfono hable con un "dispositivo" que hago o con una aplicación en la PC es más que bienvenido. Ir a "través de la web" podría ser una opción (aunque creo que debería haber un servidor central que posea como intermediario). Pero preferiría que la comunicación fuera directa entre los dos dispositivos.

+0

Lo siento por la muy tardía respuesta, pero estoy asumiendo que el problema sigue sin resolverse. Si no, por favor ignóralo. He usado ADB para comunicarme: remítase a [this] (http://stackoverflow.com/a/21749521/1833437) para obtener más detalles. –

Respuesta

4

Editar: Tenga en cuenta que esta respuesta es anterior a la disponibilidad del host USB Android y las API de accesorios y soporte se encuentra en muchos dispositivos liberados después de ser escrita .

Si activa la depuración del usb en el teléfono y tiene algo derivado de la herramienta adb del sdk (código abierto) en la PC, pueden comunicarse. La PC tendrá que iniciar las comunicaciones, pero dentro de las sesiones puede ser principalmente bidireccional o incluso principalmente de dispositivo a PC. Consulte developer.android.com sobre el shell adb y el reenvío de puertos. Raíz no requerida.

Las personas están usando bluetooth para hablar con los controladores integrados Arduino.

Con root he hecho que mi teléfono actúe como un host usb, pero fue un dolor ya que tuve que usar wifi para obtener un shell de depuración ya que el usb estaba ocupado.

Algunos teléfonos tienen un puerto serie de bajo voltaje en un conector extusb o líneas de audio, pero se necesitaría un controlador de nivel y una palanca de cambios de nivel para usarlo.

Otra idea en la que he estado pensando, hacer un módem de software en el conector de auriculares, aparentemente ha sido hecho para ambos, Android y iPhone por alguien en Japón. Esto no debería requerir root

+0

Gracias por su respuesta. Mi idea es hacer que esto esté disponible para la gente común. Una aplicación que se instalará a través del mercado de Android (al menos en el lado de Android de la aplicación). Eso implica que no hay rooting, no usb depuración (creo), y nada que mi madre no podría hacer. Lo que mencionas sobre Bluetooth ... ¿Eso implica rooting, o es algo que mi madre podría hacer? –

+1

La idea de los auriculares es interesante, seguramente –

+2

La serie Bluetooth (frente a los auriculares) puede no funcionar antes de una determinada versión de Android, y el hardware exterior es costoso (como $ 20-30 en partes, hasta $ 150 para obtener lo que de lo contrario, una placa controladora de $ 30 con ella integrada), pero no debería requerir root. No es necesario enrutar la depuración USB, pero sí, no es para todos. Básicamente tiene una opción de costo de hardware o complejidad del usuario. –

18

El mundo ha cambiado desde que se hizo esta pregunta, y ahora la respuesta es Android Open Accessory Development Kit. No solucionará el problema de los dispositivos USB existentes, pero permite crear nuevos dispositivos que pueden usar la conexión USB de un dispositivo Android.

+0

Pero no desde una PC con Windows cuando leo ...? – Zonata

+1

@Zonata No lo he usado, pero http://developer.android.com/tools/adk/adk2.html reclama soporte de Windows. –

+0

Gracias, pero creo que iré a la vieja escuela ... Encontré un tutorial sobre el reenvío de socket que podría interesar a los demás: http://qtcstation.com/2011/03/connecting-android-to-the-pc-over- usb/ – Zonata

8

La comunicación entre dispositivos Android y PC es posible de una manera más.

Mediante conexión ADB a través de USB.

  1. Reenvío de puertos.
  2. Programa Socket JAVA de servidor.
  3. Aplicación de Android Client Socket para Android.

A través de esta aplicación se puede comunicar con nuestro programa JAVA que se ejecuta en PC.

http://www.anothem.net/archives/2010/10/15/android-usb-connection-to-pc/

Cuestiones relacionadas