← all posts

ESP32-S3 SmartConfig 踩坑记录

SmartConfig 是乐鑫提供的一种让设备通过手机 App 获取 Wi-Fi 凭据的方式,省去了硬编码 SSID/密码的麻烦。但在实际使用中遇到了几个坑。

问题一:SmartConfig 超时不回调

默认超时是 30 秒,但某些手机发包频率低,容易超时。

ESP_ERROR_CHECK(esp_smartconfig_start(&cfg));

解决方法是延长等待时间,或者在超时后自动重试。

问题二:连上 Wi-Fi 后 MQTT 连接失败

原因是 SmartConfig 结束后立刻发起 MQTT 连接,此时 IP 还没分配完成。

// 等待 IP 事件再连接
xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);
mqtt_app_start();

加一个事件等待即可。