簡體   English   中英

iOS BLE 中央如何在通知模式下從外圍設備接收超過 182 個字節?

[英]How can an iOS BLE central receive more than 182 bytes from a peripheral in notify mode?

我有一個自定義 BLE 外圍設備,可以將通知數據包發送到中央。 設備一次發送 234 字節的數據包,並且中央應注冊以通知設備上的特征更新。 外設將 234 字節的數據發送到中央,但 iOS 設備在 didUpdateValueForCharacteristic function 中僅接收 182 字節的數據。

在 android 中,中央軟件正常工作,電話(中央)在單個通知事件中接收 234 個字節。 - 這在 Android 中工作得很好,但在 iOS 設備上存在問題。

iOS 設備是否需要任何配置才能從 BLE 外設接收全長數據? 任何幫助,將不勝感激!

iOS 設備的最大 ATT_MTU 為 185 字節,這意味着每個數據包最多可以發送 182 個數據字節(其他 3 個字節是 L2CAP 的開銷)。 一開始 iOS 設備只支持 158 字節,后來增加到 185。

ATT_MTU 的工作方式是在連接時進行協商,中央發送其最大 ATT_MTU(即對於 iPhone,它是 185),外圍設備用自己的 ATT_MTU 回復(即在您的情況下為 237),然后連接的 ATT_MTU 將是兩者之間的最小值(即 185)。 因此,要回答您的問題,沒有辦法配置您的 iOS 設備以發送完整長度的數據,因為這是 Apple 不允許訪問的低級配置。

請查看以下鏈接以獲取更多信息:-

暫無
暫無

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

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