esp8266搭建DNS,连接在同一局域网下的浏览器通过自己设定映射的网址可以访问
-
DNS的意思:域名系统。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网
-
可以自行设定IP地址,网关地址,子网掩码,端口,和访问的网址
#include <ESP8266WiFi.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
IPAddress local_IP(192,168,6,8); //IP地址
IPAddress gateway(192,168,6,8); //网关地址
IPAddress subnet(255,255,255,0); //子网掩码
const byte DNS_PORT = 53; //DNS服务端口号,一般为53
DNSServer dnsServer;
ESP8266WebServer webServer(80);
void handleRoot() {
webServer.send(200, "text/plain", "XOXOXXO666");
}
void handleNext() {
webServer.send(200, "text/plain", "168ABC168ABC168");
}
void hdy_information(){
webServer.send(200, "text/plain", "hudengyan is handsome boy");
}
void setup() {
//初始化网络
WiFi.mode(WIFI_AP); //设置为AP模式(热点)
WiFi.softAPConfig(local_IP, gateway, subnet);
WiFi.softAP("HDY ESP32"); //Ap模式下的WIFi名称
//初始化DNSServer
dnsServer.start(DNS_PORT, "www.XOXOXXOO666.com", local_IP);
//初始化WebServer,esp8266路由分发
webServer.on("/", handleRoot);
webServer.on("/next", handleNext);
webServer.on("/hdy", hdy_information);
webServer.begin();
}
void loop() {
//监听客户请求并处理
dnsServer.processNextRequest();
webServer.handleClient();
}
/*********************************************************************/
/*DNS的意思:域名系统*/
/*可以自行设定IP地址,网关地址,子网掩码,端口,和访问的网址*/
/*可扩展自己需要的web网页,通过路由分发*/
/*在浏览器输入自己设定的网址,即可以访问到首网页*/
/*若需要访问其他网页,则在浏览器地址栏输入:设定的网址+/路由分发的标记*/
- 因为该代码已经把esp8266设为DNS域名系统,设定了AP模式,它拥有了IP地址,网关地址,子网掩码。然后再映射到自己设置的一个网址上。
- 在连接同一局域网下的浏览器输入自己所设定的网址,即可以访问到首网页。如:
在上述的代码中,输入:www.XOXOXXOO666.com,即可访问首网页; - 开发者也可扩展自己需要的web网页,通过路由分发
- 若需要访问其他网页,则在浏览器地址栏输入:设定的网址+/路由分发的标记。如:
www.XOXOXXOO666.com/hdy,即可以访问到路由中hdy所对应的网页内容。