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
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 :)
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.
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.
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
È 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?
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.
È possibile provare la mia lib per la connessione bluetooth multiple:
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 –
Non c'è nessun problema con il git. C'è solo cattivo uso :) – Rami
Grazie per la tua risposta @Rami, potresti aiutarci ad usarlo correttamente, TIA –
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.
- 1. Reset connessione peer Bluetooth
- 2. Connessione Raspberry Pi Bluetooth 4.0
- 3. IOException Bluetooth Android: connessione rifiutata
- 4. Errore di connessione Bluetooth Android
- 5. connessione multipla DB nel rotaie
- 6. Android Wear, connessione al dispositivo bluetooth
- 7. Connessione automatica Bluetooth con dispositivi accoppiati
- 8. Connessione Bluetooth su ICS Android non possibile
- 9. Mantenere attiva la connessione Bluetooth Java
- 10. Connessione Arduino e iPhone con Bluetooth 3.0
- 11. Problemi di connessione Bluetooth con IntentService
- 12. Connessione Bluetooth Android: rilevamento del servizio non riuscito
- 13. Unity3D per iOS e Android: Multiplayer (connessione Bluetooth)
- 14. Intervallo di connessione a bassa energia Bluetooth IOS
- 15. Problema di connessione Bluetooth LE su un Nexus 9
- 16. iOS: ristabilimento automatico della connessione Bluetooth BLE nell'intervallo
- 17. Bluetooth Android: la connessione causata dal software interrompe IOException?
- 18. Connessione al dispositivo Bluetooth incorporato dal dispositivo Android
- 19. Connessione a un dispositivo Bluetooth da iOS, senza MFi
- 20. Connessione iniziale senza sincronizzazione tramite Bluetooth Bassa energia in Android
- 21. Connessione automatica ai dispositivi Bluetooth accoppiati su Android
- 22. impossibile effettuare la connessione tra 2 dispositivi Android bluetooth
- 23. Come effettuare una connessione multipla dall'endpoint di origine in jsplumb
- 24. Android 2.1: crittografia Bluetooth
- 25. ADB tramite Bluetooth Android
- 26. OBD2 - ELM327 simulatore bluetooth
- 27. Modalità Doze Android - Bluetooth
- 28. MIDI Over Bluetooth
- 29. Android bluetooth socket.connect() non riesce
- 30. Stampa Bluetooth Android
così dire http://developer.android.com/guide/topics/connectivity/ bluetooth.html # ConnectingAsAServer è un must – Prateek