簡體   English   中英

BLE 外設無法正確顯示

[英]BLE Peripheral not displaying correctly

我目前在連接外圍設備時遇到一些問題。 我們外圍設備中的藍牙模塊最初似乎沒有宣傳名稱。 我發現一旦我第一次連接到外圍設備,它就會更新名稱,然后我的掃描儀就能看到正確的名稱。

我不明白為什么會這樣。 我還使用我們正在開發的 Swift 應用程序以及 iOS 和 Android 上的一系列藍牙掃描儀進行了嘗試,所以我不相信這是掃描儀方面的操作系統或編程錯誤。

是否應在外圍設備上設置特定參數。 由於我只是應用程序開發人員,因此我對模塊如何處理流程並不太了解。

任何幫助將非常感激。

只是為了確認掃描儀在連接一次之前看不到外圍設備的名稱。 在此之后它將開始顯示名稱。 更改外圍設備名稱后,舊名稱仍會顯示,直到我再次連接到它。

要顯示設備的名稱,您需要在包含取決於您的設備的多個鍵的廣告數據字典中查看,在來自 CentralManager 的 didDiscoverPeripheral 回調中。

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary<NSString *, id> *)advertisementData RSSI:(NSNumber *)RSSI

您可以查找密鑰CBAdvertisementDataLocalNameKey

如果您沒有看到該名稱,您可以在固件中進行更改以在 GATT 特征中包含一個名稱。

您可以使用 LightBlue 應用程序驗證一次。 這是應用商店上一個很好的應用來測試您的 BLE 設備。

暫無
暫無

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

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