wake-up-neo.com

Mehrere Bluetooth-Verbindung

Ich möchte 3 Geräte über Bluetooth verbinden (Mein Droid muss eine Verbindung zu 2 Bluetooth-Geräten herstellen). Ich habe meinen Droid über Bluetooth-Chat mit 1 Gerät verbunden. Wie kann ich ihn für mehrere Bluetooth-Geräte ändern? Kannst du mir bitte helfen?

57
vic

Ich suchte nach einer Möglichkeit, 4 Geräte mit Bluetooth zu verbinden, und fand Folgendes.

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

Ich bin mir nicht sicher, ob Sie das wollen.

Um jedoch mehr als zwei Geräte über Bluetooth zu verbinden, müssen Sie für jedes Gerät, das Sie verbinden möchten, eine andere UUID erstellen.

Folgen Sie dem Link, um Codebeispiele und eine bessere Erklärung zu erhalten.

22
YasuDevil

Sie können meine Lib für mehrere Bluetooth-Verbindung versuchen:

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

8
Rami

Haben Sie in der Klasse BluetoothAdapter Android) nachgesehen? Sie haben ein Gerät als Server und das andere als Client eingerichtet. Möglicherweise ist dies möglich (obwohl ich nicht nachgesehen habe) es selbst), mehrere Clients mit dem Server zu verbinden.

Ich habe erfolgreich ein BlueTooth-Audiogerät mit einem Telefon verbunden, obwohl es auch diese BluetoothAdapter Verbindung mit einem anderen Telefon hatte, aber ich habe es nicht mit drei Telefonen versucht. Zumindest sagt mir dies, dass der Bluetooth-Funk mehrere gleichzeitige Verbindungen tolerieren kann :)

6
Aaron C

Ja, Ihr Gerät kann theoretisch gleichzeitig eine Verbindung zu 7 anderen Bluetooth-Geräten herstellen. Eine solche Verbindung wird Piconetz genannt. Ein komplexeres Verbindungsmuster ist das Scatternet.

Der Grund, warum es auf 7 andere Geräte beschränkt ist, ist, dass das zugewiesene Bitfeld für LT_ADDR im L2CAP-Protokoll nur 3 ist.

4
Konjengbam

Zwei UE Boom-Bluetooth-Lautsprecher können eine Stereoanlage bilden, was bedeutet, dass das Telefon gleichzeitig auf zwei Bluetooth-Geräte streamen kann. Der Grund dafür ist, dass Bluetooth 4.0 bis zu zwei SCO-Verbindungen (Synchronous Connection Oriented) im selben Piconet unterstützen kann und A2DP auf der Verbindung SCO basiert.

Ihre Anforderung "Bluetooth-Chat" basiert auf dem SPP-Profil und SPP basiert auf dem RFCOMM-Protokoll. Glücklicherweise kann sogar Bluetooth 2.1 mehrere RFCOMM-Kanäle unterstützen. Ja, Sie können also mehrere Bluetooth-Verbindungen haben, um miteinander zu chatten.

3
Phil

Bitte werfen Sie einen Blick auf die Android Dokumentation .

Unter Verwendung der Bluetooth-APIs kann eine Android Anwendung Folgendes ausführen:

  • Nach anderen Bluetooth-Geräten suchen
  • Fragen Sie den lokalen Bluetooth-Adapter nach gekoppelten Bluetooth-Geräten ab
  • Richten Sie RFCOMM-Kanäle ein
  • Stellen Sie über die Diensterkennung eine Verbindung zu anderen Geräten her
  • Übertragen Sie Daten zu und von anderen Geräten
  • Verwalten Sie mehrere Verbindungen
1

Sie können einen Blick hier werfen (dies ist keine Lösung, aber die Idee ist hier)

Beispiel für einen Multi-Client mit dem Google Chat-Beispiel

was müssen Sie ändern/tun:

  • getrennte Server- und Client-Logik in verschiedenen Klassen

  • für den Client benötigen Sie ein Objekt, um einen Verbindungsthread und einen verbundenen Thread zu verwalten

  • für den Server benötigen Sie ein Objekt, um einen Überwachungsthread pro Client und einen verbundenen Thread pro Client zu verwalten

  • der Server öffnet auf jeder UUID einen Abhör-Thread (einer pro Client).

  • jeder Client versucht, eine Verbindung zu jeder UUID herzustellen.

Irgendeine Frage ?

1
An-droid

Nicht ganz richtig - werfen Sie einen Blick auf die Spezifikationsübersicht

Logische Verbindungssteuerung und Anpassungsprotokoll (L2CAP)

L2CAP wird im Bluetooth-Protokollstapel verwendet. Es leitet Pakete entweder an das Host Controller Interface (HCI) oder auf einem hostlosen System direkt an den Link Manager/die ACL-Verbindung weiter. Die Funktionen von L2CAP umfassen:

  • Multiplexen von Daten zwischen verschiedenen Protokollen höherer Schichten.
  • Segmentierung und Zusammenstellung von Paketen.
  • Bereitstellung einer Einweg-Übertragungsverwaltung für Multicast-Daten an eine Gruppe anderer Bluetooth-Geräte.
  • QoS-Management (Quality of Service) für Protokolle höherer Schichten.

L2CAP wird zur Kommunikation über die Host-ACL-Verbindung verwendet. Die Verbindung wird hergestellt, nachdem die ACL-Verbindung eingerichtet wurde.

1
Shawn Anderson