Автоматическая веб-страница ESP32 AP
Я часто сталкивался с сетями Wi-Fi, которые требуют, чтобы вы вошли в систему через веб-страницу, которая автоматически открывается после подключения к точке доступа, например, в отелях. Я хотел бы реализовать нечто подобное с ESP32, где веб-страница открывается автоматически после подключения к точке доступа. Выполнимо ли это? Это кажется трудным для гугления, потому что я просто получаю кучу вводных руководств по настройке точки доступа.
Вот некоторый контекст проекта на случай, если это поможет. Я создаю устройство интернета вещей, которое должно подключаться к сети Wi-Fi пользователя, поэтому пользователю необходимо указать учетные данные для входа. Решение, которое я пытаюсь реализовать, состоит в том, чтобы ESP32 настроил временную точку доступа, где пользователь может подключиться к ней и ввести свои учетные данные домашнего Wi-Fi. В настоящее время пользователю приходится вручную вводить IP-адрес ESP32 после подключения к точке доступа, но было бы гораздо удобнее для пользователя, если бы веб-страница открывалась автоматически, как иногда делают сети Wi-Fi в отелях.
Я поработал с этой библиотекой WiFi Manager, которая, похоже, делает то, что я хочу, но я хотел бы реализовать свою с нуля.
@Fromen, 👍2
Обсуждение1 ответ
Лучший ответ:
Конечно, как только я связал эту библиотеку WiFi Manager в своем вопросе, я понял это. Термин, которого мне не хватало, был "плененный портал", и я смог понять это оттуда. Но я все равно решил задать этот вопрос, так как это может помочь кому-то другому, оказавшемуся в такой же ситуации.
Вот мое понимание того, как это работает: когда ваше устройство подключается к новой сети, оно пытается пропинговать сервер, чтобы узнать, есть ли у него доступ в Интернет. С помощью ESP32 вы можете настроить DNS, который перенаправляет этот запрос на веб-сервер, работающий на ESP32, который открывает браузер на устройстве.
Я нашел этот учебник полезным для меня, чтобы понять, как это работает, вместе с примером кода. Этого должно быть достаточно, чтобы я смог заставить его работать.
https://iotespresso.com/create-captive-portal-using-esp32/
- ESP32 не предоставляет IP-адрес шлюза в точке доступа
- WebSocketsServer.h: No such file or directory
- ESP32 в Arduino-IDE с FS.h и SPIFFS
- ESP32 открывает "captive portal" при подключении
- Управление реле 5В с помощью Wemos D1 R1
- Интернет-сервер Arduino IDE + ESP32 — как перенаправить на root после нажатия кнопки
- Как установить RTC в ES32 с помощью NTP-сервера?
- Веб-сервер ESP8266 недоступен через 2 минуты после сброса
Я думаю, что вы ничего не нашли, потому что искали не те термины. То, что вам нужно, - это "плененный портал". Я думаю, что в Интернете есть несколько учебных пособий по этому поводу. Пожалуйста, попробуйте поискать по этому термину. Что-то вроде "ESP32 captive portal"., @chrisl
Да, я понял это, когда писал вопрос. Я все равно решил опубликовать его, так как предполагаю, что другие могут быть в той же лодке, что и я. Я уже опубликовал ответ с этой информацией, но в любом случае спасибо за помощь!, @Fromen