Short answer

Phone connects to ESP32 GATT but never gets notifications. What is missing?

  • The client must enable CCCD (notify/indicate). Advertising alone does not push data.
  • MTU and characteristic size matter. Oversized payloads without negotiation get dropped.
  • Connection interval and phone OS background limits can starve notifies. Test with the screen on first.
  • Confirm the UUID and handle match the phone app. A wrong characteristic looks like ‘silent link’.

中文

短答

手机连上 ESP32 GATT 却收不到通知,缺什么?

  • 客户端要打开 CCCD(notify/indicate)。只广播不会往上推数据。
  • MTU 和特征长度要对。没协商就塞过大包会被丢掉。
  • 连接间隔和手机后台策略会饿死通知。先亮屏测通。
  • 核对 UUID 与 handle 是否就是 App 订的那条。订错特征会像「连着但没声」。