你这个现象(偶发连不上 / 连上后发现服务或特征失败 / 连接后立刻断开),用标准 ESP32 AT 固件时最常见是下面几类原因(按排查优先级给你):
- 连接参数/超时不匹配
-
手机或主机连上后马上做 GATT 发现,如果 AT 侧响应慢、MTU/加密流程没走完,容易出现"发现服务/特征失败"。
-
建议:把扫描/连接/发现这几个超时加大;连接后延迟 300--800ms 再做 discover/读特征。
- 配对/加密要求导致失败
-
有些服务/特征需要加密或已绑定(bonding),未配对时会 discover 失败或读写失败,甚至被对端主动断开。
-
建议:明确是否需要配对(passkey/just works),先完成配对再发现服务;清掉双方历史配对记录再测。
- 广播与连接并发/资源不足(尤其是同时扫描+连接)
-
AT 固件在扫描、连接、GATT 操作并发时,若事件处理跟不上,可能出现连接不稳定或 discover 失败。
-
建议:连接阶段停止扫描;一次只连一个设备;降低广播/扫描强度,避免高频事件风暴。
- 射频与供电问题("连上秒断"的高频原因)
-
2.4G 干扰强、天线匹配差、或供电瞬态不足,会表现为 RSSI 波动大、连接刚建立就断。
-
建议:近距离(1m 内)空旷环境测试;换供电/加大去耦;看 RSSI 是否低于 -75dBm。
- 主机端缓存/兼容性
-
某些 Android 机型/系统会缓存旧的 GATT 表,导致"服务/特征获取失败"但实际设备没问题。
-
建议:手机"忘记设备/清蓝牙缓存/重启蓝牙",或换 iOS/另一台 Android 交叉验证。