mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-27 18:02:17 +03:00
35 lines
1008 B
C++
35 lines
1008 B
C++
#include <ESP8266WiFi.h>
|
|
#include <DNSServer.h>
|
|
#include <ESP8266WebServer.h>
|
|
|
|
const byte DNS_PORT = 53;
|
|
IPAddress apIP(192, 168, 1, 1);
|
|
DNSServer dnsServer;
|
|
ESP8266WebServer webServer(80);
|
|
|
|
String responseHTML = ""
|
|
"<!DOCTYPE html><html><head><title>CaptivePortal</title></head><body>"
|
|
"<h1>Hello World!</h1><p>This is a captive portal example. All requests will "
|
|
"be redirected here.</p></body></html>";
|
|
|
|
void setup() {
|
|
WiFi.mode(WIFI_AP);
|
|
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
|
|
WiFi.softAP("DNSServer CaptivePortal example");
|
|
|
|
// if DNSServer is started with "*" for domain name, it will reply with
|
|
// provided IP to all DNS request
|
|
dnsServer.start(DNS_PORT, "*", apIP);
|
|
|
|
// replay to all requests with same HTML
|
|
webServer.onNotFound([]() {
|
|
webServer.send(200, "text/html", responseHTML);
|
|
});
|
|
webServer.begin();
|
|
}
|
|
|
|
void loop() {
|
|
dnsServer.processNextRequest();
|
|
webServer.handleClient();
|
|
}
|