本来打算实现一个通过网页输入ESP8266连接WiFi账号密码的功能,思路是这样的:
1.通过网页输入账号密码之后,将对应的账号密码存储在Flash中的文件里。
************************************
void handleWiFiInputControl(){
//读取网页ssid&password
ssid_input=esp8266_server.arg("ssid");
password_input=esp8266_server.arg("password");
String httpBody = "<p>rint Successfully</p></br><p><a href=\"/index_demo.html\"><-Index_Demo Page</a></p>";
esp8266_server.send(200,"text/html",httpBody);
//存到Flash中
File dataFile = SPIFFS.open(file_name,"w");
dataFile.println(ssid_input);
dataFile.println(password_input);
dataFile.close();
Serial.println("Finished Writing Data.");
}
*****************************************
2.在setup()中将账号密码从文件中读取出来
******************************************
//启动闪存系统
if(SPIFFS.begin()) Serial.println("SPIFFS Started.");
else Serial.println("SPIFFS Failed to Start.");
File datafile = SPIFFS.open(file_name,"r");
ssid_input=datafile.readStringUntil('\n');
password_input=datafile.readStringUntil('\n');
datafile.close();
Serial.println("文件关闭");
const char* ssid =ssid_input.c_str();
const char* password=password_input.c_str();
wifimulti.addAP(ssid,password);//这里出现问题
*************************************
但是在wifimulti.addAP()这一步,无论如何逗没办法写进去。const char* 格式的ssid&password通过串口打印后都显示没什么问题,但是就是无法写进WiFi里。
是我从文件中读取数据那里有问题吗?求教各位前辈。
|