[英]iOS Bluetooth dual-mode; connect BLE (GATT) to an already connected BR/EDR (A2DP/HFP) stereo headset simultaneously
我正在使用經典配置文件(HFP,A2DP,AVRCP)開發帶藍牙的立體聲耳機,就像人們期望的Ina立體聲耳機一樣。 但是,我想為iOS部署一個遠程控制應用程序,並將其同時用於其他經典鏈接,但我在設計中使用的雙模芯片組並不像我期望的那樣;
耳機設置為外圍設備,讓iOS設備充當中心。 因此,外圍設備通告其BLE服務(使用我特定的128位UUID)並且一切都很好。 我可以從任何中心瀏覽外設,但只有當我沒有連接經典配置文件時(例如,不流式傳輸音頻)。
在與HFP和/或A2DP連接時,我的設備似乎無法宣傳BLE! 但是,我看到同一芯片組的演示充當BLE中心,掃描並連接到其他BLE外設,同時通過A2DP傳輸音頻。 但是,在該設置中,設備充當連接到iPhone的A2DP接收器,同時通過BLE掃描/連接到充當BLE外圍設備的第三個單元。 因此,不能將經典和智能藍牙與同一設備進行點對點。
是否存在雙模式約束,在支持/連接Bluetooth Classic配置文件時,不能充當外設? 那種情況下只支持中央模式嗎?
僅供參考,我正在使用CSR的8670芯片組。
新的答案補充說。 我很抱歉直到現在還沒有澄清/清理我以前的答案 - 時光飛逝!
好吧,在深入研究規格並試圖更清楚地理解事物后,我找到了我想要的答案,盡管我更喜歡更樂觀的答案......;(
不過,讓我們來看看; 藍牙規范4.0(BLE)說;
雙模式小工具不能充當BLE外設並宣傳其存在,同時仍然可以使用BR / EDR在“經典”藍牙中連接。
此外,我使用的CSR8670雙模芯片組的CSR源代碼示例表現相同; 當連接任何經典BT鏈路時,禁用作為外圍設備的BLE廣告。 相反,CSR源代碼促進設備應該充當BLE中心,允許其他BLE外圍設備通告並連接到它,所有這些都可以在流式傳輸音頻時充當(充當A2DP接收器)。
這完全不適合我的設置;
相反,推薦的方法是讓我的立體聲耳機完全跳過BLE並使用GATT而不是BR / EDR,也稱為“香草”廣告,這真的很有意義; 我的意思是,我已經在兩個設備之間建立了ACL鏈接,為什么我需要啟動任何類型的發現機制?
同樣,藍牙SIG也派上用場了;
https://developer.bluetooth.org/TechnologyOverview/Pages/GATT.aspx
GATT和ATT不是特定於運輸的,可用於BR / EDR和LE。 但是,GATT和ATT必須在LE中實施,因為它用於發現服務
因此,SIG對於使用BR / EDR作為GATT的傳輸表示“是”,但問題則變為; 我怎么能那么從我的IOS的應用程序,其中典型的場景是使用CBCentral進行掃描,發現並連接到一個CBPeripheral內可以訪問所連接的 BR / EDR設備? 答案很簡單; 你不能,因為iOS 7.0沒有(但是?)支持GATT for BR / EDR;
所以,總結一下; 如果你想在兩個雙模藍牙設備之間建立點對點設置,使用BOTH藍牙經典配置文件和藍牙智能服務/特性,你應該使用GATT over BR / EDR,這對Apple設備來說是不行的,但可能會得到Android的支持(不知道,最終會將應用程序移植到Android上,但不管它對Android來說不是什么大不了,因為最糟糕的情況將意味着回退到SPP和簡單的字節協議來完成工作我需要完成)
就是這樣。 希望我幫助過某人;)/ Markus
我想,只要你活着,你就會學到,這個問題的答案並不是我之前所聲稱的不支持(基於我認為我所知道的)。
對CSR芯片組進行雙模式和耳機開發的簡短而干凈的答案就是它在早期SDK上的CSR藍牙堆棧中的限制。
Bluetooth SIG從未通過經典鏈路連接到同一設備,從未支持雙模作為外設。 相反,它明確規范。 應該如何進行這種互操作性 - 但這並不總是意味着所有BT-stack實現都具備這種功能。
因此, 使用最新的devtools和CSR的最新藍牙固件/堆棧已經解決了所有問題,雙模現在已經完全,而且實際上我可以添加,很好地支持CSR8670 / 75芯片組。
我也在使用CSR8670設備。 它有效。 BLE外設和音頻。
您需要使用CSR的ADK 4.0.0。
藍牙4.1和藍牙4.0是不同的。 對於你所說的藍牙4.0是正確的,但你的芯片可以做藍牙4.1。
4.1允許這樣的連接。
我還在廣告包中添加了“雙模式”標志。
有一些條件,例如強烈推薦的連接間隔至少90毫秒,所以你不要亂用音頻。
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.