2010-10-15 28 views
52

Desidero collegare 3 dispositivi tramite bluetooth (il mio Droid deve connettersi a 2 dispositivi bluetooth). Ho collegato il mio Droid a 1 dispositivo utilizzando la chat Bluetooth Come dovrei modificarlo per più dispositivi Bluetooth? Potresti aiutarmi per favore?Connessione multipla bluetooth

risposta

5

Hai esaminato la classe Android BluetoothAdapter? Si imposta un dispositivo come server e l'altro come client. Potrebbe essere possibile (anche se non l'ho verificato personalmente) per connettere più client al server.

Ho avuto successo collegando un dispositivo audio BlueTooth a un telefono mentre aveva anche questa connessione BluetoothAdapter ad un altro telefono, ma non ho provato con tre telefoni. Almeno questo mi dice che la radio Bluetooth può tollerare più connessioni simultanee :)

+0

così dire http://developer.android.com/guide/topics/connectivity/ bluetooth.html # ConnectingAsAServer è un must – Prateek

21

Stavo cercando un modo per collegare 4 dispositivi con bluetooth e ho trovato il seguente.

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

non sono sicuro che questo è ciò che si desidera.

Ma per collegare più di 2 dispositivi tramite bluetooth è necessario creare un UUID diverso per ciascun dispositivo che si desidera connettere.

Seguire il link per vedere esempi di codice e una spiegazione migliore.

+0

HA, proprio come sospettavo ... grazie.Il collegamento – TacB0sS

+0

non funziona – tura08

1

Non è esattamente vero - dare un'occhiata al sommario spec

controllo del collegamento logico e protocollo di adattamento (L2CAP)

L2CAP viene utilizzato all'interno dello stack del protocollo Bluetooth. Passa i pacchetti all'interfaccia Host Controller (HCI) o su un sistema hostless, direttamente al link Link Manager/ACL. funzioni di L2CAP includono:

  • dati multiplexing tra diversi protocolli di livello superiore.
  • Segmentazione e rimontaggio dei pacchetti.
  • Fornisce la gestione della trasmissione unidirezionale dei dati multicast a un gruppo di altri dispositivi Bluetooth.
  • Gestione della qualità del servizio (QoS) per i protocolli di livello superiore.

L2CAP viene utilizzato per comunicare tramite il collegamento ACL host. La sua connessione viene stabilita dopo che il collegamento ACL è stato impostato.

1

Si prega di dare un'occhiata a the Android documentation.

Utilizzando le API Bluetooth, un'applicazione Android in grado di eseguire le seguenti operazioni:

  • scansione di altri dispositivi Bluetooth
  • query l'adattatore Bluetooth locale per i dispositivi Bluetooth accoppiati
  • stabilire canali RFCOMM
  • Connect ad altri dispositivi tramite l'individuazione del servizio
  • Trasferimento dati da e verso altri dispositivi
  • gestire connessioni multiple
1

È possibile dare uno sguardo qui (questa non è una soluzione, ma l'idea è qui)

sample multi client with the google chat example

quello che hai da cambiare/fare:

  • logico separato per server e client in diverse classi

  • per il cliente è necessario un oggetto per gestire un thread di connessione e sul filo collegato

  • per il server è necessario un oggetto per gestire un thread di ascolto per cliente, e un filo collegato per cliente

  • server aprire un thread di ascolto su ogni UUID (uno per cliente)

  • ogni client tenta di connettersi a ogni UUID (l'UUID già preso fallirà la connessione => primo arrivato primo servito)

Hai qualche domanda?

3

Due altoparlanti Bluetooth UE Boom possono formare uno stereo, il che significa che il telefono può trasmettere contemporaneamente a due dispositivi Bluetooth. Il motivo è che Bluetooth 4.0 può supportare fino a due collegamenti SCO (synchronous connection oriented) sullo stesso piconet e A2DP è basato sul collegamento SCO.

La richiesta "chat Bluetooth" si basa sul profilo SPP e SPP si basa sul protocollo RFCOMM. Fortunatamente anche il Bluetooth 2.1 può supportare più canali RFCOMM, quindi sì, puoi avere più connessioni bluetooth per chattare tra loro.

8

È possibile provare la mia lib per la connessione bluetooth multiple:

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

+0

Ehi @Rami, puoi controllare questo problema https://stackoverflow.com/questions/46927973/connect-multiple-devices-via-bluetooth-on-android-multiple-ble-connections, è un un po 'problema con il progetto git cosa hai postato –

+0

Non c'è nessun problema con il git. C'è solo cattivo uso :) – Rami

+0

Grazie per la tua risposta @Rami, potresti aiutarci ad usarlo correttamente, TIA –

2

Sì, il dispositivo può connettersi contemporaneamente a 7 altri dispositivi Bluetooth allo stesso tempo, in teoria. Tale connessione è chiamata piconet. Un modello di connessione più complesso è il scatternet.

Il motivo è limitata a 7 altri dispositivi è perché il campo di bit assegnato LT_ADDR nel protocollo L2CAP è solo 3.

Problemi correlati