Aplicaciones de Android, comunicación con un dispositivo conectado al puerto USB

Estoy pensando en una aplicación de Android (con posiblemente un dispositivo físico de acompañamiento), y estoy tratando de averiguar si esto es algo que es factible.

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

Cuando lo enchufo, el teléfono me da 4 opciones (carga, impulsión de disco, sincronización de HTC, tethering), que me hace pensar que esto no es factible, pero todavía digno de la inyección.

2) ¿Sería posible que una aplicación en el PC para hablar con una aplicación en el teléfono de cualquier otra manera? (Wi-fi, bluetooth, etc). Supongo que no en wi-fi ya que ninguna de las partes tiene IP del otro (y quiero que esto funcione, no tener que ingresar IPs manualmente 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 importa acerca de esos detalles, siempre y cuando sea 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 yo haga, oa una aplicación en el PC son más que bienvenidos. Ir "a través de la web" podría ser una opción (aunque tendría que haber un servidor central que tengo como un hombre medio, creo). Pero preferiría que la comunicación fuera directa entre los dos dispositivos.

El mundo ha cambiado desde que se hizo esta pregunta, y la respuesta es ahora el Kit de Desarrollo de Accesorios Abiertos de Android . No solucionará el problema de los dispositivos USB existentes, pero permite crear nuevos dispositivos que puedan utilizar la conexión USB de un dispositivo Android.

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

A través de la conexión ADB vía USB.

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

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

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

Editar: Tenga en cuenta que esta respuesta es anterior a la disponibilidad de las APIs de host y accesorios de Android y la compatibilidad que se encuentran en muchos dispositivos publicados después de que se escribió.

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

La gente está usando el bluetooth para hablar con los controladores arduino embebidos.

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

Algunos teléfonos tienen un puerto serie de bajo voltaje en un conector extusb o en líneas de audio, pero se necesitará un root y un shifter de nivel para usarlo.

Otra idea que había estado pensando, haciendo un módem de software en el jack de auriculares, al parecer se ha hecho tanto para Android y iPhone por alguien en Japón. Esto no debe requerir root.

Para la comunicación a través de usb / wlan eche un vistazo a este proyecto: http://code.google.com/p/android-notifier/

  • Soporte de multidifusión en Android en modo Hotspot / Tethering
  • Solucionar 'la aplicación ha detenido' los errores de error
  • Android: ¿Conectar dos teléfonos inalámbricamente?
  • Detenga la conexión de Android a ciertas redes wifi
  • ¿Puedo encontrar la dirección MAC de mi punto de acceso en Android?
  • Android: Detener / Iniciar servicio dependiendo del estado WiFi?
  • WiFi-Direct en JellyBean, WPA Suplicante desordenado
  • Eventos de conexión de cliente wifi hotspot de Android
  • ¿Utiliza simultáneamente wifi y la interfaz 3G en Android?
  • Wi-Fi tethering - cómo obtener la lista de clientes conectados
  • Compartir imágenes desde un dispositivo Android a otro a través de WiFi
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.