#include "config.h"
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <EEPROM.h>
#ifndef APSSID
#define APSSID "your-ssid"
#define APPSK "your-password"
#endif
const char* ssid = APSSID;
const char* password = APPSK;
ESP8266WebServer server(80);//设置web服务器访问端口
//========================================================================================================================================
void writer(String stype,String data)
{
int i,j;
EEPROM.begin(100); //申请操作到地址100(比如你只需要读写地址为100上的一个字节,该处也需输入参数101)
if(stype=="name")
{
i=0;
EEPROM.write(i, data.length());
}
else if(stype=="pwd")
{
i=20;
EEPROM.write(i, data.length());
}
i++;
for(j=0; j<data.length(); i++,j++)
{
EEPROM.write(i, data[j]); //写数据
}
EEPROM.commit(); //保存更改的数据
}
//==================================================================================================================
String reader(String stype)
{
String data="";
int i,j,len;
EEPROM.begin(100); //申请操作到地址100(比如你只需要读写地址为100上的一个字节,该处也需输入参数101)
if(stype=="name")
{
i=0;
len=EEPROM.read(i);
}
else if(stype=="pwd")
{
i=20;
len=EEPROM.read(i);
}
i++;
for(j=0; j<len; i++,j++)
{
data =data+ (char)EEPROM.read(i);
}
Serial.println("*****************************");
Serial.println(data);
Serial.println("*****************************");
Serial.println("End reader");
return data;
}
void handleRoot(){//根目录发送主页
server.send(200, "text/html", "<!DOCTYPE HTML>\
<html>\
<meta name=\"viewport\" content=\"initial-scale=1, user-scalable=0, minimal-ui\">\
<body>\
<h1>wifi setting</h1>\
<form action=\"demo\" method=\"get\">\
wifi name:<br>\
<input type=\"text\" name=\"name\">\
<br>\
wifi password:<br>\
<input type=\"text\" name=\"password\">\
<br>\
<input type=\"submit\" value=\"ok\">\
</form> \
</body>\
</html>");
}
void getDemo(){//get 访问 demo地址
Serial.println(server.uri());
Serial.println(server.arg("name"));
Serial.println(server.arg("password"));
writer("name",server.arg("name"));
writer("pwd",server.arg("password"));
Serial.println("====================================");
Serial.println(reader("name"));
Serial.println(reader("pwd"));
Serial.println("++++++++++++++++++++++++++++++++");
Serial.printf("password=%d\n",server.arg("password").length());
server.send(200, "text/html", "<!DOCTYPE HTML>\
<html>\
<meta name=\"viewport\" content=\"initial-scale=1, user-scalable=0, minimal-ui\">\
<body>\
<h1>======OK======</h1>\
</body>\
</html>");
}//====================================================
void handleNotFound(){//访问 地址不存在返回404
server.send(200, "text/html", "<!DOCTYPE HTML>\
<html>\
<meta name=\"viewport\" content=\"initial-scale=1, user-scalable=0, minimal-ui\">\
<body>\
<h1>======ERROR======</h1>\
</body>\
</html>");
}
void myWebConfig_init(){
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password);
server.on("/", handleRoot);//注册访问根目录回调函数
server.on("/demo",getDemo);//注册访问demo回调函数
server.onNotFound(handleNotFound);//注册无地址访问函数
server.begin();//启动服务器
Serial.println("");
Serial.println("HTTP server started");
}
void myWebConfig_run() {
server.handleClient();//运行服务器
}
void myWebConfig_close(){
server.close();
}
myWebConfig.cpp程序
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- java切入到cpp的学习,首先会具备以下几个优势点 1.没有初学编程语言的恐惧感 毕竟作为过来人切入新的编程语言...