Помогите разобраться

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Solo999
Рядовой
Сообщения: 2
Зарегистрирован: 09 дек 2024, 15:57
Имя: влад
Благодарил (а): 1 раз

Помогите разобраться

Сообщение Solo999 »

Здравствуйте, уважаемые форумчане! Возможно ли при подключении
к точке доступа esp 8266 без ввода ip адреса сразу переход
на веб интерфейс ? Удобно .Ввел один раз пароль и все .Пользуюсь
программой WLED (управление светодиодной лентой) там это реализовано.
Аватара пользователя
Larisa
Рядовой
Сообщения: 21
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса
Благодарил (а): 1 раз
Поблагодарили: 5 раз

Re: Помогите разобраться

Сообщение Larisa »

Привет! Попробуйте так:

Код: Выделить всё

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DNSServer.h>

// Настройки точки доступа
const char* ssid = "ESP8266_AP";       // Имя точки доступа
const char* password = "12345678";    // Пароль точки доступа (минимум 8 символов)

// Создаём веб-сервер на порту 80
ESP8266WebServer server(80);

// Создаём DNS-сервер
DNSServer dnsServer;

// HTML-страница для веб-интерфейса
const char* htmlPage = R"(
<!DOCTYPE html>
<html>
<head>
  <title>ESP8266</title>
</head>
<body>
  <h1>Welcome to ESP8266 ((Greetings from Larisa from the Flprog forum)) </h1>
  <p>You are connected to the ESP8266 Access Point.</p>
</body>
</html>
)";

// Функция для обработки запросов Captive Portal
void handleRoot() {
  server.sendHeader("Content-Type", "text/html");
  server.send(200, "text/html", htmlPage);
}

// Функция для обработки запросов проверки подключения
void handleCaptivePortal() {
  // Отправляем HTTP-ответ с кодом 302 (перенаправление)
  server.sendHeader("Location", String("http://") + WiFi.softAPIP().toString(), true);
  server.send(302, "text/plain", "");
}

void setup() {
  Serial.begin(115200);

  // Настройка ESP8266 как точки доступа. 
  WiFi.softAP(ssid);				// Так без пароля
  // WiFi.softAP(ssid, password); 	// Так с паролем
  IPAddress IP = WiFi.softAPIP();
  Serial.print("Access Point IP address: ");
  Serial.println(IP);

  // Настройка DNS-сервера для перехвата всех DNS-запросов
  dnsServer.start(53, "*", IP); // Перенаправляем все DNS-запросы на IP ESP8266

  // Настройка обработчиков для веб-сервера
  server.on("/", handleRoot); // Корневой URL
  server.on("/generate_204", handleCaptivePortal); // Для Android
  server.on("/redirect", handleCaptivePortal); // Для Windows
  server.on("/hotspot-detect.html", handleCaptivePortal); // Для iOS
  server.on("/ncsi.txt", handleCaptivePortal); // Для Windows
  server.on("/connecttest.txt", handleCaptivePortal); // Для Windows

  // Запуск веб-сервера
  server.begin();
  Serial.println("Web server started");
}

void loop() {
  // Обработка входящих клиентов
  server.handleClient();

  // Обработка DNS-запросов
  dnsServer.processNextRequest();
}
Последний раз редактировалось Larisa 13 дек 2024, 03:18, всего редактировалось 3 раза.
Аватара пользователя
prmres
Рядовой
Сообщения: 79
Зарегистрирован: 30 янв 2018, 20:19
Откуда: Курская обл.
Имя: Prmres
Благодарил (а): 24 раза
Поблагодарили: 25 раз

Re: Помогите разобраться

Сообщение prmres »

Larisa писал(а): 12 дек 2024, 17:27 Привет! Попробуйте так:
как это заставит баузер автоматически заходить на веб-сервер ?
Аватара пользователя
prmres
Рядовой
Сообщения: 79
Зарегистрирован: 30 янв 2018, 20:19
Откуда: Курская обл.
Имя: Prmres
Благодарил (а): 24 раза
Поблагодарили: 25 раз

Re: Помогите разобраться

Сообщение prmres »

Solo999 писал(а): 09 дек 2024, 21:25 Здравствуйте, уважаемые форумчане! Возможно ли при подключении
к точке доступа esp 8266 без ввода ip адреса сразу переход
на веб интерфейс ? Удобно .Ввел один раз пароль и все .Пользуюсь
программой WLED (управление светодиодной лентой) там это реализовано.
вам нужно написать программу, в которой реализовать автоматический заход по нужному адресу

но проще в браузере добавить страницу в закладки и при необходимости делать 2 клика мышкой а не вводить адрес руками
Аватара пользователя
Larisa
Рядовой
Сообщения: 21
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса
Благодарил (а): 1 раз
Поблагодарили: 5 раз

Re: Помогите разобраться

Сообщение Larisa »

prmres писал(а): 12 дек 2024, 18:20 как это заставит баузер автоматически заходить на веб-сервер ?
Исправлено :smile198: Теперь автоматически переходит при подключении. Проверено на андроиде и компе
Solo999
Рядовой
Сообщения: 2
Зарегистрирован: 09 дек 2024, 15:57
Имя: влад
Благодарил (а): 1 раз

Re: Помогите разобраться

Сообщение Solo999 »

Larisa спасибо большое очень помогли .Теперь знаю куда двигаться.Осталось сделать блок
Аватара пользователя
Larisa
Рядовой
Сообщения: 21
Зарегистрирован: 20 июл 2023, 20:59
Имя: Лариса
Благодарил (а): 1 раз
Поблагодарили: 5 раз

Re: Помогите разобраться

Сообщение Larisa »

Solo999 писал(а): 14 дек 2024, 20:25 Larisa спасибо большое очень помогли .Теперь знаю куда двигаться.Осталось сделать блок
Пожалуйста :buhnut: . Обращайтесь, если что :victory:
Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя