問題描述
在智能標識牌上使用ESP32-S3-WROOM-1U模組,ESP-IDF版本為idf5.0.2時,客戶在ESP32-S3模組燒錄運行esp-iot-solutionexamples/bluetooth/ble_ota例程的時候,編譯燒錄完成后,在EspBleOTA App中無法找到藍牙設備,用Nrf Connect App是可以搜索到該藍牙設備的,這是為什么呢?
解決思路
了解客戶使用的是Android手機后,工程師基于例程進行復現測試,測試現象與客戶一致。工程師通過資料及案例分析,發現Android EspBleOTA APP使用的藍牙4.0和藍牙5.0是兩套不同的API,所以APP使用的藍牙4.0 API在搜索設備時,只能搜索到使用相同或更低版本藍牙協議的設備。
當藍牙設備配置為5.0時,由于某些5.0特性的存在,導致4.0版本的API無法正確識別和搜索到設備。藍牙5.0引入了一些新的特性,如LE擴展廣播和2M PHY等,這些特性可能會改變設備的廣播行為或數據格式。如果你的APP使用的4.0 API不支持這些新特性,那么它可能無法正確解析來自5.0設備的廣播數據,從而無法搜索到設備。因此,如果APP只支持藍牙4.0,那么你的藍牙設備應該配置為4.2或更低版本,并關閉可能影響設備搜索的5.0特性。這樣APP才能正確搜索到設備了。
解決方案
通過menuconfig進行配置:將BLE 5.0特性關閉,只保留BLE 4.2特性。重新編譯固件燒錄到ESP32-S3-WROOM-1U模組,使用Android EspBleOTA APP 可以正確掃描到設備。
-
藍牙
+關注
關注
114文章
5826瀏覽量
170374 -
AI
+關注
關注
87文章
30935瀏覽量
269183 -
ESP32
+關注
關注
18文章
971瀏覽量
17288
發布評論請先 登錄
相關推薦
評論