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();
加一个事件等待即可。