Estoy tratando de escribir una aplicación de Android para leer y escribir datos de la tableta Android en nuestro dispositivo incorporado. La tableta y el dispositivo integrado se conectan a través del convertidor de USB a serie. ¿Es posible leer datos del dispositivo incorporado en nuestra tableta Android? ¿Algún código de muestra que pueda ver?Leer y escribir datos a través del puerto USB en Android 3.1
Respuesta
como un convertidor de serie es un dispositivo USB, la tableta androide tiene que actuar como un anfitrión USB. Esta característica está disponible desde Android 3.1. La documentación de la API está disponible en el android developer page e incluye ejemplos de código.
Para comunicarse realmente con el convertidor, tendrá que averiguar un poco más sobre su funcionamiento interno: hay muchos dispositivos diferentes en el mercado, algunos usan USB HID, otros usan dispositivos USB CDC o no cumplen con cualquier clase. El comando linux lsusb puede ser útil para obtener los descriptores de dispositivo/interfaz.
En un dispositivo típico CDC tendrá que interactuar con dos puntos finales a granel y, probablemente, utilizar alguna de las interfaces solicitudes relacionadas para configurar la velocidad de transmisión, etc. Consulte la especificación de clase de dispositivo de comunicación en USB implementers forum.
Si el dispositivo tiene una sola El punto final masivo IN y OUT (junto al punto final de control) puede intentar utilizar el método UsbDeviceConnection.bulkTransfer() en el punto final OUT para escribir algunos bytes en la línea serie. Existe una buena posibilidad de que esto funcione, sin embargo, para una implementación limpia, debe ajustarse a la especificación de clase.
Hola, Alexander Gracias por la información. Mi conexión es que la tableta está conectada con un cable usb/serie, cuyo extremo es un puerto usb y el otro extremo es un puerto serie. El puerto serie está conectado con otro cable serie que se conecta con el otro dispositivo integrado. Una cosa que no entiendo del modo USB Host es que necesito especificar el id de vendedor, el id del producto, la clase, la subclase. ¿Cómo puedo saber esa información? Conecte el cable usb/serial con una máquina Linux y averígualo? ¡¡¡Gracias!!! – dan
Hola Bill, sí, right linux o mac es útil aquí. También puede haber herramientas en Windows, pero en Linux es realmente sencillo. Puede usar una versión de arranque de linux live CD/USB Stick. Luego ejecute lsusb en un shell con su convertidor conectado a la PC. Debería aparecer en la salida del comando. El mío se ve así: 'Bus 004 Dispositivo 002: ID 067b: 2303 Prolific Technology, Inc. PL2303 Puerto serie' – Alexander
Los números después de ID son _vendor_: _product_ IDs de su dispositivo. Luego ejecuta 'lsusb -v -d 067b: 2303' para obtener el descriptor completo del dispositivo. Ahí puedes leer sobre la clase y la subclase. Como no parece familiar con USB, sugiero leer un poco sobre el concepto de USB completo. Tal vez [aquí] (http://www.beyondlogic.org/usbnutshell/usb1.shtml). Esto te ayudará a lograr tu objetivo. – Alexander
sugiere emplear la lib portado USB-a-androide, que tiene el conductor PL2303 ya implementada: https://code.google.com/r/felixhaedicke-usb-serial-for-android
lo he usado con éxito.
- 1. Leer datos del puerto serie
- 2. Recopilación de datos con Android a través de USB
- 3. ¿Cómo puedo emular un puerto COM, escribir datos en él y leer datos de él?
- 4. desarrollando una aplicación de comunicación de dispositivo especial que se conecta a través del puerto USB en Android
- 5. Cómo leer y escribir desde el puerto serie
- 6. enviar datos de android a PC a través de USB
- 7. Reconocimiento de voz a través de un puerto USB
- 8. Escribir controlador USB para Android
- 9. Leer la entrada de alimentación del usb
- 10. ¿Dispositivos USB externos a teléfonos Android?
- 11. ¿Conectar el dispositivo USB al emulador de Android?
- 12. serialport escribir y leer en ventanas que no funcionan
- 13. ¿Cómo puedo usar Java para comunicarme con el dispositivo a través del puerto USB?
- 14. Android 3.1 USB-Host - BroadcastReceiver no recibe USB_DEVICE_ATTACHED
- 15. ¿Cómo puedo leer archivos de una cámara conectada a través del usb
- 16. ¿Cómo leer y escribir etiquetas Android NFC?
- 17. enviar mensajes MIDI a través de USB en Android
- 18. Puerto serie ReadLine vs ReadExisting o cómo leer los datos del puerto serie correctamente
- 19. Android isócrono transferencia de datos USB
- 20. Leer y escribir en puerto serie en Ubuntu con C/C++ y LibSerial
- 21. Acceso puerto serie a través de php
- 22. Leer y escribir cookies en Symfony2
- 23. Escribir y leer Cadena en un almacenamiento interno en Android
- 24. Controle una luz USB a través del software
- 25. ¿Es posible compartir mi conexión a Internet de la PC a Android a través del usb?
- 26. Usando el modo de host USB 3.1 con Arduino
- 27. Comunicación USB con Android/Arduino
- 28. Leer del archivo, borrarlo, escribir en él
- 29. Cómo olfatear un puerto USB en Windows?
- 30. Socket leer y escribir simultáneamente
¿Has visto [esto] (http://developer.android.com/guide/topics/usb/accessory.html) o [este] (http://developer.android.com/guide/topics/usb /host.html) documentación? – Jack
Sí, Jack, leí el último. Empecé una nueva pregunta, por favor eche un vistazo. ¡Gracias! – dan