mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-11-03 14:33:37 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			948 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			948 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();
 | 
						|
}
 |