#include #include // Remplacez par les informations de votre réseau WiFi const char* ssid = "Le chateau de Chantenay"; const char* password = "crevette4ever"; // Adresse du serveur HTTP sur le PC const char* host = "192.168.1.62"; // Remplacez par l'adresse IP de votre PC const int port = 5000; const int buttonPin = D7; // Définir le pin du bouton const int ledPin = D5; // Définir le pin de la LED // Variables pour la gestion de l'état du jeu bool gameActive = false; void setup() { Serial.begin(115200); delay(10); pinMode(buttonPin, INPUT_PULLUP); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); // Éteindre la LED au démarrage WiFi.begin(ssid, password); Serial.print("Connexion à "); Serial.print(ssid); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(" connectée"); } void loop() { // Lire l'état du bouton if (digitalRead(buttonPin) == HIGH) { // Si le bouton est pressé Serial.println("Bouton pressé! Envoi de la requête..."); sendRequest(); delay(500); // Attendre la réponse } // Vérifier si le jeu est actif if (gameActive) { // Clignoter la LED pendant que le jeu est actif digitalWrite(ledPin, HIGH); delay(250); digitalWrite(ledPin, LOW); delay(250); } } void sendRequest() { WiFiClient client; if (client.connect(host, port)) { client.print(String("GET /execute?box_id=1 HTTP/1.1\r\n") + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); while (client.available()) { String line = client.readStringUntil('\r'); Serial.print(line); // Gérer les messages reçus pour changer l'état de la LED if (line.indexOf("fastest") >= 0) { // Allumer la LED si le message "fastest" est reçu digitalWrite(ledPin, HIGH); gameActive = false; // Arrêter le clignotement } else if (line.indexOf("second") >= 0) { // Éteindre la LED si le message "second" est reçu digitalWrite(ledPin, LOW); } else if (line.indexOf("game_active") >= 0) { // Si le jeu est actif, activer le clignotement gameActive = true; } else if (line.indexOf("reset_game") >= 0) { // Réinitialiser le jeu et faire clignoter la LED gameActive = false; // Arrêter le clignotement for (int i = 0; i < 5; i++) { // Clignoter 5 fois pour signaler la réinitialisation digitalWrite(ledPin, HIGH); delay(250); digitalWrite(ledPin, LOW); delay(250); } } } client.stop(); } else { Serial.println("Échec de la connexion au serveur."); } }