Bonjour
Un ESP32 reçoit des informations d'un autre ESP32 équipé de capteurs.
Ci dessous le code de l'ESP récepteur:
#include <WiFi.h>
#include <ESPAsyncWebServer.h>
const char* ssid = "XXXX";
const char* password = "XXXX";
const int buttonPin = 25;
const int ledPin = 23;
String message = "0";
String message_serveur = "";
int mem1 = 0;
int mem2 = 0;
AsyncWebServer server(80);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
Serial.println(WiFi.localIP());
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
server.on("/get", HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasParam("data"))
{
message = request->getParam("data")->value();
}
if (message.substring(0,1) == "1") {
message_serveur = message;
}
request->send(200, "text/plain", message_serveur);
});
server.begin();
}
void loop() {
if (message.substring(0,1) == "1") {
digitalWrite(ledPin, HIGH);
mem1 = 0;
if (mem2 == 0){
Serial.println("Alarm");
String num_alarme= message.substring(7,14);
Serial.println(num_alarme);
String voltage= message.substring(2,6);
Serial.print(voltage);
Serial.println(" v");
mem2 = 1;
}
}
if (digitalRead(buttonPin) == LOW) {
delay(100);
if (digitalRead(buttonPin) == LOW) {
digitalWrite(ledPin, LOW);
if (mem1 == 0) {
Serial.println("Reset");
mem1 = 1;
mem2 = 0;
}
}
}
}
Cela fonctionne mais je suis obligé de coder en 'dur' le SSID et le password dans le programme.
Je souhaiterai y greffer un wifimanager pour pouvoir sélectionner un réseau au démarrage.
Est ce possible et comment s'y prendre?
Merci pour votre aide.