¿Cómo leer y escribir datos en puertos COM / Serial en Android?
Tengo que leer y escribir datos en los puertos COM del dispositivo usando android, estoy usando javax.comm paquete para eso, pero cuando instalé el archivo apk, no está mostrando ningún puerto del dispositivo así que hay permiso que yo necesidad de agregar en el archivo de manifiesto?
- La importación com.google.api.client no se puede resolver en Eclipse
- Uso de Realm.io para almacenar valores monetarios
- ¿Por qué mi método de comparación arroja IllegalArgumentException a veces?
- Mejorar la búsqueda en la matriz
- ¿Cómo especificar el tamaño correcto del diálogo en el archivo de disposición XML para el diálogo de Android?
- Eclipse "Android Device Chooser" - Cruz roja delante de todos los dispositivos en la columna Target
- Problemas de repetición de AudioTrack de Android en MODE_STATIC
- Cómo mover el marcador a lo largo de la polilínea mediante google map
- No se puede obtener el archivo PDF como datos binarios
- La aplicación funciona en WIFI pero no en 3G
- Cómo llamar a las actividades de un hilo no actividad?
- Cómo utilizar Runnable.wait () en AsyncTask? ¿Por qué el AsyncTask NO espera ...?
- java reemplazar cierta cadena en una matriz de cadenas
Su problema es uno con los sistemas operativos. Android ejecuta Linux bajo el capó , y Linux trata los puertos serie de manera diferente a lo que hace Windows. javax.comm
también contiene win32com.dll
, un archivo de controlador , que no podrá instalar en un dispositivo Android. Si encuentra una manera de lograr lo que está tratando de hacer, no puede buscar un puerto "COM" en un entorno Linux. Los puertos seriales irán por diferentes nombres.
Windows Com Port Linux equivalent COM 1 /dev/ttyS0 COM 2 /dev/ttyS1 COM 3 /dev/ttyS2
Por lo tanto, hipotéticamente, si su idea fuera a trabajar, usted tiene que buscar estos nombres.
Por suerte para usted, Android tiene disposiciones para la interfaz con dispositivos USB (que supongo que desea conectarse a, a diferencia de puertos paralelos o RS-232). Para ello, configurará su dispositivo como un host USB. Esto es lo que usted querrá hacer:
- Obtener un
USBManager
. - Encuentre su dispositivo.
- Obtenga
USBInterface
yUSBEndpoint
. - Abra una conexión.
- Transferir datos.
Aquí está mi estimación aproximada de cómo lo harás. Su código, por supuesto, tendrá una forma más madura de hacer las cosas.
String YOUR_DEVICE_NAME; byte[] DATA; int TIMEOUT; USBManager manager = getApplicationContext().getSystemService(Context.USB_SERVICE); Map<String, USBDevice> devices = manager.getDeviceList(); USBDevice mDevice = devices.get(YOUR_DEVICE_NAME); USBDeviceConnection connection = manager.openDevice(mDevice); USBEndpoint endpoint = device.getInterface(0).getEndpoint(0); connection.claimInterface(device.getInterface(0), true); connection.bulkTransfer(endpoint, DATA, DATA.length, TIMEOUT);
Material adicional para su placer de lectura: http://developer.android.com/guide/topics/connectivity/usb/host.html
- Envía una solicitud JSONArray POST con android volley library
- Llamar notifyDataSetChanged en un ListAdapter