ESP32 的 Wi-Fi/BLE 共存依赖硬件仲裁器(Coexistence),默认配置已启用,但优化吞吐需调整软件策略。首先,确保使用 ESP-IDF 最新版本,并开启 CONFIG_ESP_COEX_SW_COEXIST_ENABLE(软件共存)或硬件共存(默认)。关键参数:1) 在 menuconfig 中设置 CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM 和 TX_BUFFER 为 8-16,增加缓冲减少丢包;2) 调整共存优先级,通过 esp_coex_set_bt_cfg() 设置 BLE 为低优先级(如 ESP_COEX_BLE_PREFER_WIFI),或使用 esp_wifi_set_ps(WIFI_PS_NONE) 禁用省电模式,避免 Wi-Fi 休眠影响吞吐;3) 若 BLE 连接间隔短(如 15ms),可增大至 30-50ms 降低冲突;4) 实测建议用 iperf 工具,在 BLE 广播/连接时对比吞吐,通常可保持 Wi-Fi 90% 以上速率。若吞吐仍低,尝试将 Wi-Fi 带宽设为 20MHz(共存模式不支持 40MHz),并启用 AMPDU 聚合(默认开启)。最后,检查天线隔离度,硬件上避免射频耦合。
mcuku 阿沐 · 2026-08-27