#include <WiFi.h>
#include <WebServer.h>

#define PIR_PIN 13
#define LDR_PIN 34
#define RELAY_PIN 12

WebServer server(80);

void setup() {
  Serial.begin(115200);

  pinMode(PIR_PIN, INPUT);
  pinMode(RELAY_PIN, OUTPUT);

  // Initialiser le relais à OFF
  digitalWrite(RELAY_PIN, LOW);

  // Se connecter au Wi-Fi
  WiFi.begin("Wokwi-GUEST", "");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connecté");
  Serial.print("Adresse IP : ");
  Serial.println(WiFi.localIP());

  // Initialiser le serveur web
  server.on("/", handleRoot);
  server.begin();
  Serial.println("Serveur web démarré");
}

void loop() {
  server.handleClient();

  int pirState = digitalRead(PIR_PIN);
  int ldrValue = analogRead(LDR_PIN);

  Serial.print("État PIR : ");
  Serial.print(pirState);
  Serial.print(", Valeur LDR : ");
  Serial.println(ldrValue);

  // Logique simple pour contrôler la lumière
  if (pirState == HIGH && ldrValue < 1000) { // Ajustez le seuil selon vos besoins
    digitalWrite(RELAY_PIN, HIGH); // Allumer la lumière
  } else {
    digitalWrite(RELAY_PIN, LOW); // Éteindre la lumière
  }

  delay(1000); // Ajustez le délai selon vos besoins
}

void handleRoot() {
  int pirState = digitalRead(PIR_PIN);
  int ldrValue = analogRead(LDR_PIN);

  String html = "<!DOCTYPE html><html><head><title>Contrôle de la lumière de la salle de classe</title></head><body>";
  html += "<h1>Données du capteur DHT22 ESP32</h1>";
  html += "<p>État PIR : " + String(pirState) + "</p>";
  html += "<p>Valeur LDR : " + String(ldrValue) + "</p>";
  html += "</body></html>";

  server.send(200, "text/html", html);
}
NOCOMNCVCCGNDINLED1PWRRelay Module