Initial commit

This commit is contained in:
lucas
2024-07-29 16:00:55 +02:00
commit 496a68d631
14 changed files with 620 additions and 0 deletions

90
ESP8266/test/main_new.cpp Normal file
View File

@@ -0,0 +1,90 @@
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
// 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.");
}
}