Salut tout le monde, petite question technique, mon ESP32 pour sa première utilisation il démarre en AP (point d'accès) et je lui tape dessus sur l'url http://ip_ESP/tape_dessus pour lui setter le SSID et mot de passe d'un wifi. Sauf qu'il faudrait que je puisse tester si les informations envoyées sont valides donc j'aimerais qu'il essaye de se connecter puis si c'est good il répond à la requête HTTP 1 sinon 0. Sauf que le problème c'est que j'ai fait ça :
WiFi.softAP(ssid_PA.c_str(), password_PA.c_str());
server.on(
"/tape_dessus", HTTP_POST, [](AsyncWebServerRequest *request) {}, NULL, [](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total)
{
String response_request;
response_request += String((char *)data);
StaticJsonDocument<200> doc;
DeserializationError error = deserializeJson(doc, response_request);
if (error)
{
Serial.print(F("deserializeJson() failed: "));
Serial.println(error.f_str());
return;
}
const char *ssid = doc["ssid"];
const char *password = doc["password"];
WiFi.begin(ssid, password);
time_machine = millis();
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
if (millis() >= time_machine + 20000)
{
break;
}
}
if (WiFi.status() == WL_CONNECTED)
{
WiFi.disconnect();
/* code */
preferences.putString("ssid", ssid);
preferences.putString("password", password);
request->send(200, "text/plain", "1");
}
else
{
request->send(200, "text/plain", "0");
}
});
server.begin();
Le problème c'est quand il se connecte au WiFi il doit couper la requêtes donc sur mon client j'ai une erreur comme quoi la requêtes est en erreur.
Merci à vous