web-dev-qa-db-ja.com

複数のBluetooth接続

Bluetooth経由で3つのデバイスを接続したい(私のDroidは2つのBluetoothデバイスに接続する必要があります)。 Bluetoothチャットを使用してDroidを1つのデバイスに接続しました。複数のBluetoothデバイス用にどのように変更すればよいですか?私を手伝ってくれますか?

57
vic

4つのデバイスをBluetoothで接続する方法を探していたところ、次のことがわかりました。

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

これがあなたの望むものかどうかはわかりません。

ただし、Bluetoothを使用して2つ以上のデバイスを接続するには、接続するデバイスごとに異なるUUIDを作成する必要があります。

リンクをクリックして、コード例とより良い説明をご覧ください。

22
YasuDevil

複数のBluetooth接続のために私のlibを試すことができます:

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

8
Rami

BluetoothAdapter Androidクラスを調べましたか? 1つのデバイスをサーバーとしてセットアップし、もう1つのデバイスをクライアントとしてセットアップします。複数のクライアントをサーバーに接続することは可能かもしれません(私は自分で調べていませんが)。

BlueToothオーディオデバイスを別の電話にもこのBluetoothAdapter接続を使用して電話に接続することに成功しましたが、3台の電話で試したことはありません。少なくともこれは、Bluetooth無線が複数の同時接続を許容できることを教えてくれます:)

6
Aaron C

はい、理論的には、デバイスは同時に7つの他のBluetoothデバイスに同時に接続できます。このような接続はピコネットと呼ばれます。より複雑な接続パターンはスキャッタネットです。

他の7つのデバイスに制限されている理由は、L2CAPプロトコルでLT_ADDRに割り当てられたビットフィールドが3のみであるためです。

4
Konjengbam

2つのUE Boom Bluetoothスピーカーでステレオを形成できます。つまり、電話機は2つのBluetoothデバイスに同時にストリーミングできます。その理由は、Bluetooth 4.0は同じピコネット上で最大2つの同期接続指向(SCO)リンクをサポートでき、A2DPはSCOリンクに基づいているためです。

「Bluetoothチャット」の需要はSPPプロファイルに基づいており、SPPはRFCOMMプロトコルに基づいています。幸い、Bluetooth 2.1でも複数のRFCOMMチャネルをサポートできるため、はい、複数のBluetooth接続を使用して相互にチャットできます。

3
Phil

Androidドキュメント をご覧ください。

Bluetooth APIを使用すると、Androidアプリケーションは以下を実行できます。

  • 他のBluetoothデバイスをスキャンする
  • ペアリングされたBluetoothデバイスのローカルBluetoothアダプターを照会する
  • RFCOMMチャネルを確立する
  • サービス検出を介して他のデバイスに接続する
  • 他のデバイスとのデータの転送
  • 複数の接続を管理する
1

こちらをご覧ください(これは解決策ではありませんが、アイデアはここにあります)

Googleチャットのサンプルを含むマルチクライアントのサンプル

変更/実行する必要があるもの:

  • 異なるクラスの別個のサーバーとクライアントの論理

  • クライアントには、1つの接続スレッドと接続されたスレッドを管理するオブジェクトが必要です

  • サーバーには、クライアントごとに1つのリッスンスレッド、およびクライアントごとに1つの接続されたスレッドを管理するオブジェクトが必要です。

  • サーバーは各UUIDでリスニングスレッドを開きます(クライアントごとに1つ)

  • 各クライアントは各uuidに接続しようとします(すでに取得されているuuidは接続に失敗します=>先着順)

ご質問は?

1
An-droid

正確ではありません-仕様の概要をご覧ください

論理リンク制御および適応プロトコル(L2CAP)

L2CAPは、Bluetoothプロトコルスタック内で使用されます。パケットをホストコントローラーインターフェイス(HCI)またはホストレスシステムのいずれかに直接リンクマネージャー/ ACLリンクに渡します。 L2CAPの機能は次のとおりです。

  • 異なる上位層プロトコル間でのデータの多重化。
  • パケットのセグメンテーションと再アセンブリ。
  • マルチキャストデータの一方向伝送管理を他のBluetoothデバイスのグループに提供します。
  • 上位層プロトコルのサービス品質(QoS)管理。

L2CAPは、ホストACLリンクを介した通信に使用されます。その接続は、ACLリンクがセットアップされた後に確立されます。

1
Shawn Anderson