#include <ESP8266WiFi.h> #include <ESP8266WebServer.h> extern "C" { #include<user_interface.h> } /* configuration wifi */ const char *ssid = "COblaster"; ESP8266WebServer server(80); bool wifiopen=1; String HtmlCreat(String addstring){ String newhtml=String()+"<!DOCTYPE html>\r\n " + "<html lang=\"zh-CN\"> \r\n" +" <meta http-equiv='Content-type' content='text/html; charset=utf-8'>\r\n" +"<title> </title>\r\n" +"</head>\r\n" +"<body>\r\n" +addstring //+"<p> 显示一条文字信息! </p>\r\n" //+"<script type=\"text/javascript\">\r\n" + " window.location = \"http://192.168.4.1/\";\r\n"+ "</script>\r\n" +"</body>\r\n" +"</html>"; return newhtml; } void handleRoot() { String newhtml=String()+"<script type=\"text/javascript\">\r\n" + "setTimeout(\"alert("")\", 3000);" +" window.location = \"http://www.baidu.com/\";\r\n"+ "</script>\r\n"; server.send(200, "text/html",HtmlCreat(newhtml) ); // server.send(200, "text/html", "<h1>You are connected</h1>"); String addy = server.client().remoteIP().toString(); Serial.println(addy); Serial.println(server.client().remotePort(),1); Serial.println("stopAll"); server.client().stop(); WiFi.softAPdisconnect(1); wifiopen=0; } void setup() { delay(1000); Serial.begin(115200); Serial.println(); Serial.print("Configuring access point..."); WiFi.softAP(ssid); IPAddress myIP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(myIP); server.on("/", handleRoot); server.begin(); Serial.println("HTTP server started"); } void loop() { server.handleClient(); delay(5000); client_status(); delay(4000); } void client_status() { unsigned char number_client; struct station_info *stat_info; struct ip_addr *IPaddress; IPAddress address; int i=1; //number_client= wifi_softap_get_station_num(); String numbers_client=String( wifi_softap_get_station_num()); stat_info = wifi_softap_get_station_info(); Serial.print(" Total connected_client are = "); Serial.println(number_client); if(numbers_client.toInt()==0){ if(wifiopen==0){Serial.println(" go"); wifiopen=1; WiFi.softAP(ssid);}} while (stat_info != NULL) { //IPaddress = &stat_info->ip; //address = IPaddress->addr; Serial.print("client= "); Serial.print(i); Serial.print(" ip adress is = "); Serial.print((stat_info->ip.addr)); Serial.print(" with mac adress is = "); Serial.print(stat_info->bssid[0],HEX); Serial.print(stat_info->bssid[1],HEX); Serial.print(stat_info->bssid[2],HEX); Serial.print(stat_info->bssid[3],HEX); Serial.print(stat_info->bssid[4],HEX); Serial.print(stat_info->bssid[5],HEX); stat_info = STAILQ_NEXT(stat_info, next); i++; Serial.println(); } delay(500); }