Мне нужно изменить пароль, когда пользователь запрашивает новый пароль в esp8266wifiserver.
Я использовал ArduinoOTA для реализации базовой аутентификации, и теперь мне нужен способ для сброса пароля в программе.
...
#include <ESP8266WebServer.h>
#include <ArduinoOTA.h>
const char* www_username = "admin";
const char* www_password = "password";
...
void handleRoot() {
File file = SPIFFS.open("/index.html", "r");
size_t sent = server.streamFile(file, "text/html");
file.close();
}
void handle_posted_variable() {
// put what to do when a variable is posted in the url
for (int i = 0; i < (server.args() - 1); i++) {
Serial.print(server.argName(i));
Serial.print(" = ");
Serial.print(server.arg(i));
Serial.println();
if (server.argName(i) == "NEWPWD_LOGIN"){
// i need to do something here
const char* www_password = server.arg(i).c_str() ;
}
}
}
void setup(void) {
SPIFFS.begin();
Serial.begin(115200);
WiFi.begin(ssid, password); //Connect to your WiFi router
ArduinoOTA.begin();
server.on("/", []() {
Serial.println(www_password);
if (!server.authenticate(www_username, www_password))
return server.requestAuthentication();
handleRoot();
});
}
void loop(void) {
ArduinoOTA.handle();
server.handleClient(); //Handle client requests
}
Я ожидаю, что код будет работать.Хотя это не показывает ошибку Это не позволяет снова войти в систему с новым паролем, когда я пытаюсь войти после выхода из системы.
Обратите внимание: я не хочу, чтобы новый пароль оставался, когда Arduino выключен.