问题描述
在智能标识牌上使用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 可以正确扫描到设备。
-
蓝牙
+关注
关注
116文章
6092浏览量
174393 -
AI
+关注
关注
88文章
35476浏览量
281261 -
ESP32
+关注
关注
21文章
1024浏览量
19423
发布评论请先 登录
A2DP在esp32-c3和esp32-s3的开发板上编译不通过的原因?
esp32-S3支持arduino编程吗?
esp32-s3蓝牙仅支持BLE 5.0吗?经典蓝牙是否支持,以及BLE 5.1 5.2 5.3是否支持?
浅谈ESP32-C3与ESP32-S3芯片
ESP32-S3模组烧录又失败?分享怎么排查原因

ESP32-S3芯片赋能设备,打造智能交互新体验

【AI技术支持】ESP32-S3 JTAG调试问题处理

【AI技术支持】ESP32-S3-WROOM-1-N16R8模组小圆屏OTA升级问题处理

【AI技术支持】ESP32-S3外挂FLASH不能设置为80MHz问题处理

【AI技术支持】ESP32-S3运行例程电脑无法识别USB设备问题处理

评论