簡體   English   中英

iOS BLE 連接參數是否也適用於 iOS Slave/Peripheral?

[英]Do iOS BLE Connection Parameters also apply to iOS Slave/Peripheral?

蘋果對BLE連接參數的要求: https : //developer.apple.com/library/archive/qa/qa1931/_index.html

這些假設 iOS 設備處於主(中央)模式,還是也適用於從(外圍)模式?

鑒於master最終定義了連接參數(即它可以拒絕來自slave的參數調整請求),如果非iOS master指定了“不兼容”的連接參數,iOS設備是否只是跳過/忽略主數據包/幀不合規? 如果 iOS BLE 堆棧是藍牙認證的,我看不出這是怎么回事。 即,如果 iOS 設備以從屬模式連接,則 iOS 似乎無法對 BLE 通信實施任何限制。


編輯:iOS 外圍設備/從設備可能會違反規范的一個示例在 BT 規范 5.0 的第 6 卷 B 部分第 4.5.1 節中:“當 connSlaveLatency 設置為零時,從設備應在每個錨點偵聽。如果在應用從設備延遲后,從設備沒有從主設備接收到數據包,它應該在每個錨點監聽,並且在收到來自主設備的數據包之前不應用從設備延遲。”

因此,無論從機延遲是零還是非零,從機都必須能夠適應每個錨點的偵聽。 因此,除非 iOS 外設拒絕進入與不兼容連接參數的 BLE 中心的連接(或者如果 BLE master 在連接中更改連接參數將終止連接),那么 iOS slave 必須遵守或不滿足規格那么,如果不管用戶應用程序的意願如何,iOS BLE 外圍設備/從設備堆棧都不會進入或結束連接,是否會被視為“符合規范”?

我們在生產中使用了一個產品(BLE 設備)很長一段時間,它與充當從設備的 iOS 設備進行通信。 我們的產品是主設備。 我們使用的連接參數超出了 Apple 的指導方針,到目前為止還沒有發現任何問題。 根據藍牙規范,從站不能拒絕主站指定的連接參數,因此它可以工作的事實是可以預料的。

Apple 唯一能做的就是斷開鏈接(在連接設置后或連接參數更新后立即斷開),但似乎他們還沒有走那么遠。 我認為他們永遠不會那樣做,因為那可能會有問題,而且會向 Apple 發出大量支持電話......

請注意,如果參數不可接受,藍牙規范建議斷開連接(但 Apple 似乎沒有這樣做):

如果請求或更新的連接參數對於中央或外設來說是不可接受的,那么它可能會以錯誤代碼 0x3B(不可接受的連接參數)斷開連接。 設備應該能夠容忍遠程設備提供給它們的連接參數。

Apple 對 BLE 規范制定了進一步的規定,並且符合 BLE 規范。 如果iOS設備成為Central(Master)設備,Central端有權接受連接間隔變化。 如果 iOS 設備不遵循 Apple 的規則,則它們似乎被實現為拒絕連接間隔請求。 我認為他們希望保護他們的產品,比如功耗。 我不知道iOS設備是外圍角色的情況。 但是關注點/概念的根源是相同的,所以我認為當您的中央設備不遵循 Apple 的規則時,iOS 外圍設備將斷開您的中央設備。 你以前試過嗎? 怎么樣? 斷線了??

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM