| Supported Targets |
ESP32 ESP32S3 ESP32C3 |
---|
ESP32 WiFi Подключение к точке доступа или создание точки доступа по SSID/Pass сохраненным в NVS. Предназначен для работы в локальной сети.
При первом включении ( отсутствуют данные в NVS ) создается точка доступа с параметрами прописанными в menuconfig. Можно подключить веб-сервер со страницей настройки в которой выбирается режим работы WiFi STA/SoftAP и пароли подключения к WiFi. Параметры подключения сохраняются в NVS. После сохранения параметров веб сервер можно оставить в работе для других приложений, остановить, или перезагрузить ESP32. После перезагрузки WiFi будет подключаться с сохраненными в NVS параметрами. Если STA не смогло подключиться к выбранной точке доступа после нескольких попыток подключения ESP32, будет произведен переход на режим SoftAP с сохраненными в NVS параметрами. Параметры можно изменять в любое удобное время запустив веб-сервер. Если в системе уже есть веб-сервер с поддержкой websocket, можно зарегистрировать хэндл обработчика страницы настройки на уже работающем сервере. Можно подключить веб-сервер из компонента и оставить его в работающем состоянии подключая хэндлы ваших страниц.
- Подключается как компонент к вашей программе
- Данные хранятся в NVS
- Настройка параметров WIFI через WEB интерфейс
- Первое подключение через softAP
- Последующие подключения - по данным записанным в NVS
- Интерфейс -> nvs_wifi_connect.h
- esp_err_t nvs_wifi_connect(void); - подключение к WiFi по сохраненным в NVS параметрам, возвращает ошибку если подключение не удалось и создает SoftAP дефолтными или сохраненными в NVS параметрами SoftAP
- httpd_handle_t nvs_wifi_connect_start_http_server(int restart_mode , nvs_wifi_connect_register_uri_handler_t register_uri_handler); - запускает веб- сервер с страницей настройки параметров WiFi, возвращает хэндл сервера или NULL если не удалось создать веб-сервер.
- int restart_mode - режим работы сервера
- NVS_WIFI_CONNECT_MODE_STAY_ACTIVE - сервер остается активным после сохранения параметров в NVS, в этом режиме вебсервер можно использовать как основной сервер программы подключив свои обработчики
- NVS_WIFI_CONNECT_MODE_STOP_SERVER - сервер будет остановлен после сохранения параметров в NVS, можно стартовать при необходимости свой веб-сервер, ESP32 не будет перезагружена
- NVS_WIFI_CONNECT_MODE_RESTART_ESP32 - после сохранения параметров ESP32 будет перезагружена
- int restart_mode - режим работы сервера
- esp_err_t nvs_wifi_connect_register_uri_handler(httpd_handle_t server); - можно зарегистрировать обработчик страниц настройки NVS на существующем веб сервере, возвращает ошибку если не удалось зарегистрировать обработчики
- httpd_handle_t server -хэндл сервера для подключения
- void nvs_wifi_connect_init_softap(char *ap_ssid, char *ap_pass); - создает SoftAP c параметрами ( ap_ssid/ap_pass) вне зависимости от данных NVS
- esp_err_t nvs_wifi_connect_init_sta(char *sta_ssid, char *sta_pass); - подключается к существующей точке доступа с параметрами (sta_ssid/sta_pass) независимо от данных NVS. Возвращает ошибку при невозможности подключения.
- Пример -> example_nvs_wifi_connect.c
- Параметры menuconfig
- CONFIG_HTTPD_WS_SUPPORT=y