2010-10-15 11 views
52

Quiero conectar 3 dispositivos a través de bluetooth (My Droid debe conectarse a 2 dispositivos bluetooth). He conectado mi Droid a 1 dispositivo usando el chat Bluetooth ¿Cómo debo modificarlo para múltiples dispositivos bluetooth? ¿Usted me podría ayudar por favor?Conexión bluetooth múltiple

Respuesta

5

¿Has consultado la BluetoothAdapter clase de Android? Configura un dispositivo como servidor y el otro como cliente. Es posible (aunque no lo he investigado por mi cuenta) conectar múltiples clientes al servidor.

He tenido éxito conectando un dispositivo de audio BlueTooth a un teléfono mientras también tenía esta conexión BluetoothAdapter a otro teléfono, pero no lo he intentado con tres teléfonos. Al menos esto me dice que la radio Bluetooth puede tolerar múltiples conexiones simultáneas :)

+0

por lo que quiere decir http://developer.android.com/guide/topics/connectivity/ bluetooth.html # ConnectingAsAServer es obligatorio – Prateek

21

Estaba buscando la manera de conectar 4 dispositivos con bluetooth y encontré lo siguiente.

http://groups.google.com/group/android-developers/browse_thread/thread/69d7810f6ef9bb7d

no estoy seguro de que esto es lo que desea.

Pero para conectar más de 2 dispositivos con bluetooth, debe crear un UUID diferente para cada dispositivo que desee conectar.

Siga el enlace para ver ejemplos de códigos y una mejor explicación.

+0

HA, tal como sospechaba ... gracias. – TacB0sS

+0

el enlace no funciona – tura08

1

No es exactamente cierto - echar un vistazo a las especificaciones del resumen

control de enlace lógico y protocolo de adaptación (L2CAP)

L2CAP se utiliza dentro de la pila de protocolos Bluetooth. Transfiere paquetes a la Interfaz del Controlador del Host (HCI) o en un sistema sin host, directamente al enlace Administrador de enlaces/ACL. funciones de L2CAP incluyen:

  • datos de multiplexación entre diferentes protocolos de capa superior.
  • Segmentación y reensamblaje de paquetes.
  • Proporciona administración de transmisión de una vía de datos de multidifusión a un grupo de otros dispositivos Bluetooth.
  • Gestión de calidad de servicio (QoS) para protocolos de capa superior.

L2CAP se utiliza para comunicarse a través del enlace ACL del host. Su conexión se establece después de que se haya configurado el enlace ACL.

1

Por favor, eche un vistazo a the Android documentation.

El uso de las API de Bluetooth, una aplicación para Android puede realizar lo siguiente:

  • buscar otros dispositivos Bluetooth
  • consulta el adaptador Bluetooth local para los dispositivos Bluetooth vinculados
  • establecer canales RFCOMM
  • Conectar a otros dispositivos a través del descubrimiento de servicios
  • Transfiera datos hacia y desde otros dispositivos
  • gestionar múltiples conexiones
1

Puede echar un vistazo aquí (esto no es una solución, pero la idea es aquí)

sample multi client with the google chat example

lo que tiene que cambiar/hacer:

  • lógica de servidor y cliente separada en diferentes clases

  • para el cliente que necesita un objeto para gestionar un hilo de conexión y el hilo conectado

  • para el servidor necesita un objeto para gestionar un hilo de escucha por cliente, y un hilo conectado por cliente

  • el servidor abrir un hilo de escucha en cada UUID (uno por cliente)

  • cada cliente intenta conectarse a cada UUID (UUID ya adoptadas fallará la conexión => orden de llegada)

¿Alguna pregunta?

3

Dos altavoces Bluetooth de UE Boom pueden formar un estéreo, lo que significa que el teléfono puede transmitir simultáneamente a dos dispositivos Bluetooth. La razón es Bluetooth 4.0 puede admitir hasta dos enlaces orientados a conexión síncrona (SCO) en la misma piconet, y A2DP se basa en el enlace SCO.

Su demanda "bluetooth chat" se basa en el perfil SPP, y SPP se basa en el protocolo RFCOMM. Afortunadamente, incluso Bluetooth 2.1 puede admitir múltiples canales RFCOMM, así que sí, puede tener múltiples conexiones bluetooth para chatear entre sí.

8

Puede intentar mi lib para la conexión bluetooth múltiples:

http://arissa34.github.io/Android-Multi-Bluetooth-Library/

+0

Hola @Rami, ¿Puedes verificar este problema? Https://stackoverflow.com/questions/46927973/connect-multiple-devices-via-bluetooth-on-android-multiple-ble-connections, es un un poco problema con el proyecto git lo que publicaste –

+0

No hay problema con el git. Solo hay un mal uso :) – Rami

+0

Gracias por su respuesta @Rami, ¿podría ayudarnos a usarlo correctamente, TIA? –

2

Sí, el dispositivo puede conectarse simultáneamente con otros 7 dispositivos Bluetooth al mismo tiempo, en teoría. Tal conexión se llama piconet. Un patrón de conexión más complejo es el scatternet.

La razón por la que se limita a otros dispositivos 7 es debido a que el campo de bits asignado para LT_ADDR de protocolo L2CAP es solamente 3.

Cuestiones relacionadas