From 05139b0b43f83595411d4ddbd69c7daefd6dd7c8 Mon Sep 17 00:00:00 2001 From: lucas Date: Fri, 2 Aug 2024 00:08:12 +0200 Subject: [PATCH] V1 after team test --- ESP8266/src/main.cpp | 74 ++++++++++++-- Python/bell.mp3 | Bin 0 -> 37579 bytes Python/buttons.json | 2 +- Python/coin.mp3 | Bin 0 -> 7387 bytes Python/register.py | 3 +- Python/server.py | 228 ++++++++++++++++++++++++++++++------------ Python/victory.mp3 | Bin 0 -> 44022 bytes Python/vlc_control.py | 36 ++++++- 8 files changed, 269 insertions(+), 74 deletions(-) create mode 100644 Python/bell.mp3 create mode 100644 Python/coin.mp3 create mode 100644 Python/victory.mp3 diff --git a/ESP8266/src/main.cpp b/ESP8266/src/main.cpp index 1bd2792..2017aee 100644 --- a/ESP8266/src/main.cpp +++ b/ESP8266/src/main.cpp @@ -2,11 +2,11 @@ #include // Remplacez par les informations de votre réseau WiFi -const char* ssid = "Le chateau de Chantenay"; -const char* password = "crevette4ever"; +const char* ssid = "Refugees Welcome"; +const char* password = "calais62"; // Adresse du serveur HTTP sur le PC -const char* host = "192.168.1.62"; // Remplacez par l'adresse IP de votre PC +const char* host = "192.168.234.214"; // Remplacez par l'adresse IP de votre PC const int port = 5000; const int buttonPin = D7; // Définir le pin du bouton @@ -14,12 +14,27 @@ bool lastButtonState = HIGH; // État précédent du bouton unsigned long lastDebounceTime = 0; // Dernier temps de changement d'état unsigned long debounceDelay = 50; // Délai de débounce (en millisecondes) +const int ledPin = D5; +unsigned long lastBlinkTime = 0; // Dernier temps de clignotement +const unsigned long blinkInterval = 500; // Intervalle de clignotement (en millisecondes) +// Énumération pour les états de la LED +enum LEDState { + OFF, + ON, + BLINKING +}; +LEDState ledState = OFF; // État initial de la LED + +ESP8266WebServer server(5000); // Créer un serveur HTTP sur le port 80 + void setup() { Serial.begin(115200); delay(10); + pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT_PULLUP); + digitalWrite(ledPin, LOW); WiFi.begin(ssid, password); Serial.print("Connexion à "); Serial.print(ssid); @@ -28,12 +43,59 @@ void setup() { Serial.print("."); } Serial.println(" connectée"); + + server.on("/blink", []() { + // Cette fonction sera appelée lorsque le serveur reçoit une requête sur /update + Serial.println("Requête reçue sur /play"); + // Par exemple, vous pouvez allumer la LED si la requête le demande + ledState = BLINKING; // Allumer la LED + server.send(200, "text/plain", "LED blink"); // Envoyer une réponse + }); + + // Définir le gestionnaire pour la requête entrante + server.on("/on", []() { + // Cette fonction sera appelée lorsque le serveur reçoit une requête sur /update + Serial.println("Requête reçue sur /win"); + // Par exemple, vous pouvez allumer la LED si la requête le demande + ledState = ON; // Allumer la LED + server.send(200, "text/plain", "LED high"); // Envoyer une réponse + }); + + server.on("/off", []() { + // Cette fonction sera appelée lorsque le serveur reçoit une requête sur /update + Serial.println("Requête reçue sur /wait"); + // Par exemple, vous pouvez allumer la LED si la requête le demande + ledState = OFF; // Allumer la LED + server.send(200, "text/plain", "LED low"); // Envoyer une réponse + }); + + + + server.begin(); // Démarrer le serveur } void loop() { - int buttonState = digitalRead(buttonPin); // Lire l'état du bouton + // Gérer les requêtes entrantes + server.handleClient(); - // Vérifier le débounce + // LED management + unsigned long currentTime = millis(); + + // Logique de clignotement en fonction de l'état + if (ledState == BLINKING) { + if (currentTime - lastBlinkTime >= blinkInterval) { + lastBlinkTime = currentTime; + digitalWrite(ledPin, !digitalRead(ledPin)); // Inverser l'état de la LED + } + } else if (ledState == ON) { + digitalWrite(ledPin, HIGH); // LED allumée + } else { + digitalWrite(ledPin, LOW); // LED éteinte + } + + int buttonState = digitalRead(buttonPin); // Lire l'état du bouton + + // Débounce if (buttonState != lastButtonState) { lastDebounceTime = millis(); // Réinitialiser le temps de débounce } @@ -45,7 +107,7 @@ void loop() { Serial.println("Bouton pressé! Envoi de la requête..."); WiFiClient client; if (client.connect(host, port)) { - client.print(String("GET /execute?box_id=1 HTTP/1.1\r\n") + + client.print(String("GET /execute HTTP/1.1\r\n") + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); diff --git a/Python/bell.mp3 b/Python/bell.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1d3ae0a9a7e1f0c9da8990e4f6851c28b3b6e95c GIT binary patch literal 37579 zcmdqIc{r4B+&6s9#tehOU@S4#5E@&_k{SDMY=yQVdnt(`#TfgVeM>c#geam-$`X<- zBvGmnN|ur(yX(39?%(~q??3nR+{f`A$Nk599_AR=TyxF$dwtH&`CZS;+(;b(><%YK zb4NAkT>yF+oDcCm=S?*5JbRYta6b5)2hqgYk!q|8o#KRE_MvX)h*oFMhk7_VJ3B)k z2tluZ{&oM43*C1wytsQIxS8ewo%}xzXGj+G1s>>?2LKso0T>*CLb0=BIJo%J=<|Cr*CG3iRrp zjYz8v0QiKc^oh@QkHL++y3#l@sZ#|_yoZ#Oy{{4C|-0kWvAP=0MGN^k)yKt zF5)X#`M?IAZQe0JX0r&tbnVv{e*TA#)D*hEcQ}eq_?f}oDn1;I4mgt*S=Fl{b#Y*B z{X=K(`GN4~UjwVAyn@yKJ94<#(bgci-SpV0sRHP_x?!jzWA1T2Qs!cN5tB5hB#Y

TMd!TN!8u9Zv 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 E2R^ncF8}}l literal 0 HcmV?d00001 diff --git a/Python/vlc_control.py b/Python/vlc_control.py index 1b35d17..7c56025 100644 --- a/Python/vlc_control.py +++ b/Python/vlc_control.py @@ -1,4 +1,5 @@ import requests +import time # Configurer l'adresse et le port de l'interface Web de VLC VLC_WEB_URL = 'http://localhost:8080' @@ -48,4 +49,37 @@ def seek_to_time(minutes, seconds): # Convertir le temps en secondes total_seconds = minutes * 60 + seconds send_vlc_command(f'seek&val={total_seconds}') - \ No newline at end of file + +def decrease_volume(): + """ + Decrease the volume of VLC to 0 with fixed step and duration. + """ + if not is_vlc_running(): + print(f"VLC n'est pas accessible à {VLC_WEB_URL}. Assurez-vous que VLC est ouvert et que l'interface Web est activée.") + return + + try: + # Récupérer le volume actuel + status = get_vlc_status() + if status is None: + return + current_volume = int(status.get('volume', 256)) + + # Paramètres fixes + step_duration = 0.5 # Durée en secondes entre chaque diminution de volume + volume_step = 5 # Diminution du volume par étape + + while current_volume > 0: + current_volume -= volume_step + if current_volume < 0: + current_volume = 0 + send_vlc_command(f'volume&val={int(current_volume)}') + time.sleep(step_duration) + + # S'assurer que le volume est à 0 + send_vlc_command('volume&val=0') + if DEBUG: + print("Volume baissé à 0.") + except requests.RequestException as e: + if DEBUG: + print(f"Erreur lors de la diminution du volume : {e}") \ No newline at end of file