各位大佬,我在使用CYW20706-A2蓝牙模块与安卓手机进行连接测试时,发现在经典蓝牙(BR/EDR)已配对的情况下,BLE无法连接问题,恳请赐教。
描述:
1.蓝牙模块项目整合HFP、BLE及基于GATT协议的OTA固件升级功能,且各功能都独立的通过了验证,BR/EDR与BLE使用相同的MAC地址。
2.使用安卓手机(已安装官方LeOTAApp)通过经典蓝牙配对连接蓝牙模块。
3.打开LeOTAApp与蓝牙模块进行BLE连接,连接成功。
4.关闭LeOTAApp,保持经典蓝牙连接状态下,重新打开LeOTAApp并与蓝牙模块进行BLE连接,连接失败,之后无法连接成功。
5.关闭LeOTAApp,断开经典蓝牙连接并清除配对后,打开LeOTAApp与蓝牙模块进行BLE连接,连接成功。
操作到描述4时,蓝牙模块BLE接口(wiced_bt_gatt_cback_t)确实接收到了BLE连接成功的反馈,但:
a.回馈的MAC地址是安卓手机BR/EDR的MAC地址,并非BLE的MAC地址;
b.其中的wiced_bt_transport_t也是“BT_TRANSPORT_BR_EDR”而不是“BT_TRANSPORT_LE”;
c.LeOTAApp显示BLE未连接,推出APP重新操作连接无果。
手机进入设置主动断开经典蓝牙连接后,wiced_bt_gatt_cback_t反馈BLE断开连接。
如果蓝牙模块BR/EDR与BLE使用不同的MAC地址,则不会出现上述问题。
求解:
1.上述问题该归于 手机端APP(LeOTAApp)、手机蓝牙协议栈、还是蓝牙模块?
2.如果BR/EDR与BLE需要保持同一个MAC地址,上述问题该如何解决?
在上述第4步中,如果使用其他的app,例如CYSmart连接,是否可以建立BLE的连接?
目前还没有使用其他APP进行测试。