From 4b069c10b979a77d48ba273167191ac12a85d31f Mon Sep 17 00:00:00 2001
From: yuichiroaoki <45054071+yuichiroaoki@users.noreply.github.com>
Date: Sat, 28 Oct 2023 17:15:27 +0900
Subject: [PATCH] don't save wrong password
---
lib/ConfigManager/ConfigManager.cpp | 28 ++++++++++++++++++++--------
lib/ConfigManager/ConfigManager.h | 2 +-
src/main.cpp | 2 +-
3 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/lib/ConfigManager/ConfigManager.cpp b/lib/ConfigManager/ConfigManager.cpp
index b328ece..5e6731d 100644
--- a/lib/ConfigManager/ConfigManager.cpp
+++ b/lib/ConfigManager/ConfigManager.cpp
@@ -52,7 +52,6 @@ void startAPServer()
server.on("/", HTTP_GET, handleRoot);
server.on("/connect", HTTP_GET, handleConnect);
server.on("/config", HTTP_POST, handleConfig);
-
server.begin();
}
@@ -128,7 +127,12 @@ void handleConfig()
String ssid = server.arg("ssid");
String password = server.arg("password");
- saveWiFiCredentials(ssid, password);
+ // Send message to client
+ String message = htmlHeader;
+ message += "
Connecting to Wi-Fi...
";
+ message += "Wi-Fiに接続しています...
";
+ message += htmlFooter;
+ server.send(200, "text/html", message);
// Switch to Station mode and connect to the user's Wi-Fi network
WiFi.softAPdisconnect();
@@ -144,6 +148,7 @@ void handleConfig()
startAPServer();
return;
} else {
+ saveWiFiCredentials(ssid, password);
Serial.println("Connected to the WiFi network");
server.close();
}
@@ -171,20 +176,27 @@ bool isThresholdValid(int threshold)
void scanNetworks() {
int n = WiFi.scanNetworks();
- scanResults += "Select Wi-Fi Network
";
- scanResults += "Wi-Fiを選択してください
";
- for (int i = 0; i < n; i++) {
- scanResults += "" + WiFi.SSID(i) + "
";
+ Serial.println("n: " + String(n));
+ if (n <= 0) {
+ scanResults += "No Wi-Fi Networks found
";
+ scanResults += "Wi-Fiが見つかりませんでした
";
+ } else {
+ scanResults += "Select Wi-Fi Network
";
+ scanResults += "Wi-Fiを選択してください
";
+ for (int i = 0; i < n; i++) {
+ scanResults += "" + WiFi.SSID(i) + "
";
+ }
}
- scanCompleted = true;
WiFi.scanDelete();
+ scanCompleted = true;
}
bool checkIfScanCompleted() {
return scanCompleted;
}
-void resetWifiCredentials() {
+void resetWifiCredentialsWithWs() {
+ preferences.begin("credentials", false);
preferences.clear();
// disconnect from Wi-Fi
WiFi.disconnect(true);
diff --git a/lib/ConfigManager/ConfigManager.h b/lib/ConfigManager/ConfigManager.h
index 892da38..288ffc5 100644
--- a/lib/ConfigManager/ConfigManager.h
+++ b/lib/ConfigManager/ConfigManager.h
@@ -14,4 +14,4 @@ bool isIntervalValid(int interval);
bool isThresholdValid(int threshold);
void scanNetworks();
bool checkIfScanCompleted();
-void resetWifiCredentials();
\ No newline at end of file
+void resetWifiCredentialsWithWs();
\ No newline at end of file
diff --git a/src/main.cpp b/src/main.cpp
index 46c8f62..9e27647 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -71,7 +71,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t *payload, size_t length)
esp_deep_sleep_start();
} else if (strcmp(command, "resetWifi") == 0) {
Serial.println("Resetting Wi-Fi credentials");
- resetWifiCredentials();
+ resetWifiCredentialsWithWs();
}
}