2012-09-24 38 views
50

¿Alguien me puede dar Android Bluetooth enlaces o sugerencias de tutoriales de comunicación? Por favor, no me diga que consulte el ejemplo de BluetoothChat, solo puedo entender cómo descubrir y conectarme a los dispositivos, pero no sé cómo enviar y recibir los datos a través de Bluetooth.Android Bluetooth Ejemplo

Actualmente estoy trabajando en un proyecto de dispositivo Android e integrado Bluetooth. Por favor, ayúdame a salir ..

+2

Puede basar ejemplo BluetoothChat para enviar los datos a través de. Si mira el código, la cadena del mensaje de texto se convierte en byte [] antes de enviarse a través de bluetooth. Así que convierta sus datos a byte [] y luego envíelos. –

+0

El ejemplo de chat en mi humilde opinión es bueno solo para chatear o para comunicar un poco más rápido .. Cuando necesite enviar más de 100 mensajes por segundo, no estoy seguro si es útil. – Ewoks

Respuesta

5

La página de desarrolladores de Android tiene tutorials y explica cómo utilizar la función Bluetooth:
espero que esto ayude.

+7

He pasado por esto puedo descubrir dispositivos, conectarlos pero ¿cómo enviar y recibir datos en BT? – Pratik

9

También he utilizado siguiente enlace como otros que se han sugerido para la comunicación Bluetooth.

http://developer.android.com/guide/topics/connectivity/bluetooth.html

Lo es todo lo que necesita es una clase BluetoothChatService.java

esta clase ha siguientes temas:

  1. Aceptar
  2. Conexión
  3. Conectado

Ahora cuando se llama a la función de inicio de la BluetoothChatService como:

mChatService.start(); 

Comienza aceptar hilo que significa que va a empezar a buscar la conexión.

Ahora cuando se llama

mChatService.connect(<deviceObject>,false/true); 

Aquí primer argumento es objeto de dispositivo que se puede obtener de la lista de dispositivos vinculados o cuando se realice una búsqueda de dispositivos obtendrá todos los dispositivos de gama se pueden pasar ese objeto a esta función y segundo argumento es un booleano para hacer una conexión segura o insegura.

connect La función comenzará a conectar el hilo que buscará cualquier dispositivo que esté ejecutando aceptar hilo.

Cuando un dispositivo de este tipo se encuentra tanto aceptar hilo y el hilo de conexión será llamada de función conectada en BluetoothChatService:

connected(mmSocket, mmDevice, mSocketType); 

este método comienza hilo conectado tanto en los dispositivos: Utilizando este objeto socket conectado hilo obtiene la entrada y flujo de salida al otro dispositivo. Y las llamadas read funcionan en inputstream en un ciclo while para que siempre intente leer desde otro dispositivo para que cada vez que otro dispositivo envíe un mensaje, esta función de lectura devuelva ese mensaje.

BluetoothChatService también tiene un método write que toma byte[] como entrada y llama al método de escritura en el hilo conectado.

mChatService.write("your message".getByte()); 

método de escritura en la rosca conectada solo escriba estos datos de bytes en la salida del otro dispositivo.

public void write(byte[] buffer) { 
    try { 
     mmOutStream.write(buffer); 
    // Share the sent message back to the UI Activity 
    // mHandler.obtainMessage(
    // BluetoothGameSetupActivity.MESSAGE_WRITE, -1, -1, 
    // buffer).sendToTarget(); 
    } catch (IOException e) { 
    Log.e(TAG, "Exception during write", e); 
    } 
} 

Ahora para la comunicación entre dos dispositivos simplemente llamar a la función de escritura en mChatService y controla el mensaje que recibirá en el otro dispositivo.

+0

¿Alguien ha enfrentado el problema con este servicio de chat que no se pudo conectar con el dispositivo, o incluso se conecta y se desconecta instantáneamente? – Jacob

+0

¡Su explicación me salvó todo el día! ¡Gracias! –

1

Dado que OP aún no ha aceptado ninguna de las respuestas, ofreceré un par de aplicaciones de muestra para conectar a dispositivos específicos. No respondo por la calidad de los ejemplos del código, pero si está buscando un código "real", en el sentido de una aplicación que se conecta a un dispositivo sensor, toma lecturas de él y, puede, escriba a el dispositivo, estos pueden ayudar:

AndroiDAQ es una placa para la creación de prototipos de aplicaciones de adquisición de datos. El constructor, Rick Fluck, ha proporcionado una aplicación de Android de muestra abierta en Github. Busque el archivo AndroiDAQService.java. El método Run() hacia la parte inferior muestra tanto la lectura como la escritura del DAQ. (YMMV. La aplicación completa está disponible para su descarga gratuita desde la tienda de aplicaciones. Encontramos que se bloquea a menudo, pero puede ser que nuestra placa DAQ produzca resultados extraños con bastante frecuencia. En nuestra propia aplicación, basada libremente en el ejemplo de Rick, manejamos el Caracteres extra extraños y no se cuelgan por ese motivo.)

Texas Instruments vende un SensorTag Bluetooth económico con un pequeño número de sensores incorporados a bordo. Suministran a free SDK para trabajar con la etiqueta y, IIRC, incluye el código fuente para sus aplicaciones Android e iOs. Sin embargo, tenga cuidado al buscar, parece que, dado que compramos el nuestro, han sacado un nuevo dispositivo con el mismo nombre que usa la tecnología Bluetooth Smart de baja energía que es bastante diferente al Bluetooth 'tradicional'.

Cuestiones relacionadas