2010-10-15 256 views
52

我想通過藍牙連接3個設備(我的Droid必須連接到2個藍牙設備)。我已經使用藍牙聊天將我的Droid連接到1臺設備我應該如何修改它以用於多個藍牙設備?請問你能幫幫我嗎?多個藍牙連接

回答

5

你有沒有進去看了BluetoothAdapter的Android類?您將一臺設備設置爲服務器,另一臺設置爲客戶端。這可能是(儘管我自己沒有考慮過)將多個客戶端連接到服務器。

我已經成功地將藍牙音頻設備連接到手機,同時它也有與另一部手機的BluetoothAdapter連接,但我還沒有嘗試過使用三部手機。至少,這告訴我,藍牙無線電可以容忍多個同時連接:)

+0

所以你的意思http://developer.android.com/guide/topics/connectivity/ bluetooth.html#ConnectingAsAServer必須 – Prateek 2014-06-17 11:11:10

21

我正在尋找一種方式來連接4臺設備與藍牙,我發現以下。

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

我不知道這是你想要的。

但爲了連接使用,你必須創建要連接的每個設備不同的UUID藍牙大於2級的設備。

請點擊鏈接查看代碼示例和更好的解釋。

+0

HA,就像我懷疑的......謝謝。 – TacB0sS 2012-04-13 23:01:19

+0

鏈接不起作用 – tura08 2017-12-08 04:28:19

1

不完全正確 - 看一看規格總結

邏輯鏈路控制和適配協議(L2CAP)

L2CAP是藍牙協議棧內使用。它將數據包傳遞到主機控制器接口(HCI)或無主機系統,直接傳遞到鏈路管理器/ ACL鏈路。 L2CAP的功能包括:

  • 在不同的高層協議之間複用數據。分組和分組。
  • 提供組播數據到其他藍牙設備組的單向傳輸管理。
  • 更高層協議的服務質量(QoS)管理。

L2CAP用於在所述主機ACL鏈路進行通信。它的連接在ACL鏈接建立後建立。

1

請看一看the Android documentation

使用藍牙的API,Android應用程序可以執行以下操作:對於其他藍牙設備

  • 掃描
  • 查詢配對的藍牙設備本地藍牙適配器
  • 建立RFCOMM通道
  • 連接通過服務發現到其他設備
  • 向其他設備傳輸數據
  • 管理多個連接
1

你可以在這裏看看(這不是一個解決方案,但這個想法是在這裏)

sample multi client with the google chat example

你必須改變/是什麼:

  • 單獨的服務器和客戶端在不同類別的登錄

  • 客戶端,你需要一個對象來管理一個連接線和連接線

  • 您需要一個對象來管理每個客戶端一個監聽線程的服務器,每個客戶端

  • 服務器一個連接線打開每個UUID(每個客戶一個)

  • 每個客戶端試圖連接到每一個UUID監聽線程(已經採取將連接失敗的uuid =>先到先得)

有任何問題嗎?

3

兩個UE Boom藍牙揚聲器可以形成一個立體聲,這意味着手機可以同時傳輸到兩個藍牙設備。原因是藍牙4.0 最多可支持同一微微網上的兩個面向同步連接(SCO)的鏈路,A2DP基於SCO鏈路。

您的需求「藍牙聊天」基於SPP配置文件,而SPP基於RFCOMM協議。幸運的是,即使藍牙2.1可以支持多個RFCOMM頻道,所以是的,你可以有多個藍牙連接來相互聊天。

8

你可以試試我的lib多個藍牙連接:

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

+0

嘿@Rami,你可以檢查這個問題https://stackoverflow.com/questions/46927973/connect-multiple-devices-via-bluetooth-on-android-multiplebleble-connections,這是一個有點問題的git項目你發佈了什麼 – 2017-10-25 12:34:24

+0

git沒有問題。只有不好的使用:) – Rami 2017-10-28 19:47:52

+0

感謝您的回覆@Rami,請您幫助我們正確使用它,TIA – 2017-10-31 03:43:01

2

是的,你的設備可以同時在同一時間連接到其他7臺藍牙設備,在理論上。這種連接稱爲微微網。更復雜的連接模式是散點圖。

它之所以被限制在其它7臺設備是因爲在L2CAP協議LT_ADDR被賦值的位字段僅3.