【AI技术支持】ESP32-S3模组EspBleOTA搜索不到ble_ota例程的蓝牙问题处理

描述

 

问题描述

智能标识牌上使用ESP32-S3-WROOM-1U模组,ESP-IDF版本为idf5.0.2时,客户在ESP32-S3模组烧录运行esp-iot-solutionexamples/bluetooth/ble_ota例程的时候,编译烧录完成后,在EspBleOTA App中无法找到蓝牙设备,用Nrf Connect App是可以搜索到该蓝牙设备的,这是为什么呢?

AI

 

 

 

解决思路

了解客户使用的是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 可以正确扫描到设备。


 

AI

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分