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