projets:cctv_disco:start

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
projets:cctv_disco:start [2021/11/22 14:12]
admin [Code]
projets:cctv_disco:start [2022/04/06 17:31] (Version actuelle)
risbo [Photos et médias]
Ligne 49: Ligne 49:
  
 ==== Code ==== ==== Code ====
-Pour l'instant juste un code qui crée une page internet avec boutons controlant les GPIO4 et 5.+Code qui cree une pageweb avec deux boutons, déclenchant allumage de deux led et lancant fichier mp3. 
 +L'url de la page est donné en serie. (en l'occurence ici : 192.168.0.125)
  
 <code c+> <code c+>
-/********* +// MP3 lib 
-  Details at http://randomnerdtutorials.com   +#include <SoftwareSerial.h> 
-*********/+#include "RedMP3.h" 
 + 
 +#define MP3_RX 12//RX of Serial MP3 module connect to D7 of wemos 
 +#define MP3_TX 13//TX to D8, wemos 
 +MP3 mp3(MP3_RX, MP3_TX); 
 + 
 +int8_t track  = 0x01;//the first song in the TF card 
 +int8_t track2  = 0x02;//the first song in the TF card 
 +int8_t volume = 0x1a;//0~0x1e (30 adjustable level) 
 + 
  
 // Load Wi-Fi library // Load Wi-Fi library
 #include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
 + 
 // Replace with your network credentials // Replace with your network credentials
 const char* ssid     = "Artnum"; const char* ssid     = "Artnum";
 const char* password = "artnum123"; const char* password = "artnum123";
 + 
 // Set web server port number to 80 // Set web server port number to 80
 WiFiServer server(80); WiFiServer server(80);
 + 
 // Variable to store the HTTP request // Variable to store the HTTP request
 String header; String header;
 + 
 // Auxiliar variables to store the current output state // Auxiliar variables to store the current output state
 String output5State = "off"; String output5State = "off";
 String output4State = "off"; String output4State = "off";
 + 
 // Assign output variables to GPIO pins // Assign output variables to GPIO pins
 const int output5 = 5; const int output5 = 5;
 const int output4 = 4; const int output4 = 4;
 + 
 // Current time // Current time
 unsigned long currentTime = millis(); unsigned long currentTime = millis();
Ligne 83: Ligne 94:
 // Define timeout time in milliseconds (example: 2000ms = 2s) // Define timeout time in milliseconds (example: 2000ms = 2s)
 const long timeoutTime = 2000; const long timeoutTime = 2000;
 + 
 void setup() { void setup() {
   Serial.begin(115200);   Serial.begin(115200);
Ligne 92: Ligne 103:
   digitalWrite(output5, LOW);   digitalWrite(output5, LOW);
   digitalWrite(output4, LOW);   digitalWrite(output4, LOW);
 + 
   // Connect to Wi-Fi network with SSID and password   // Connect to Wi-Fi network with SSID and password
   Serial.print("Connecting to ");   Serial.print("Connecting to ");
Ligne 108: Ligne 119:
   server.begin();   server.begin();
 } }
 + 
 void loop(){ void loop(){
   WiFiClient client = server.available();   // Listen for incoming clients   WiFiClient client = server.available();   // Listen for incoming clients
 + 
   if (client) {                             // If a new client connects,   if (client) {                             // If a new client connects,
     Serial.println("New Client.");          // print a message out in the serial port     Serial.println("New Client.");          // print a message out in the serial port
Ligne 133: Ligne 144:
             client.println("Connection: close");             client.println("Connection: close");
             client.println();             client.println();
-            + 
             // turns the GPIOs on and off             // turns the GPIOs on and off
             if (header.indexOf("GET /5/on") >= 0) {             if (header.indexOf("GET /5/on") >= 0) {
Ligne 139: Ligne 150:
               output5State = "on";               output5State = "on";
               digitalWrite(output5, HIGH);               digitalWrite(output5, HIGH);
 +              mp3.playWithVolume(track2,volume);   // nommer bien 001xxx.mp3
 +              delay(50);
 +
 +              
             } else if (header.indexOf("GET /5/off") >= 0) {             } else if (header.indexOf("GET /5/off") >= 0) {
               Serial.println("GPIO 5 off");               Serial.println("GPIO 5 off");
               output5State = "off";               output5State = "off";
               digitalWrite(output5, LOW);               digitalWrite(output5, LOW);
 +              mp3.stopPlay();
 +              delay(50);
 +
 +              
             } else if (header.indexOf("GET /4/on") >= 0) {             } else if (header.indexOf("GET /4/on") >= 0) {
               Serial.println("GPIO 4 on");               Serial.println("GPIO 4 on");
               output4State = "on";               output4State = "on";
 +
 +              //Actions 
               digitalWrite(output4, HIGH);               digitalWrite(output4, HIGH);
 +              mp3.playWithVolume(track,volume);   // nommer bien 001xxx.mp3
 +              delay(50);
 +
 +                            
             } else if (header.indexOf("GET /4/off") >= 0) {             } else if (header.indexOf("GET /4/off") >= 0) {
               Serial.println("GPIO 4 off");               Serial.println("GPIO 4 off");
               output4State = "off";               output4State = "off";
               digitalWrite(output4, LOW);               digitalWrite(output4, LOW);
 +              mp3.stopPlay();
 +              delay(50);
             }             }
-            + 
             // Display the HTML web page             // Display the HTML web page
             client.println("<!DOCTYPE html><html>");             client.println("<!DOCTYPE html><html>");
Ligne 163: Ligne 190:
             client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");             client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");
             client.println(".button2 {background-color: #77878A;}</style></head>");             client.println(".button2 {background-color: #77878A;}</style></head>");
-            + 
             // Web Page Heading             // Web Page Heading
             client.println("<body><h1>ESP8266 Web Server</h1>");             client.println("<body><h1>ESP8266 Web Server</h1>");
-            + 
             // Display current state, and ON/OFF buttons for GPIO 5               // Display current state, and ON/OFF buttons for GPIO 5  
             client.println("<p>GPIO 5 - State " + output5State + "</p>");             client.println("<p>GPIO 5 - State " + output5State + "</p>");
Ligne 175: Ligne 202:
               client.println("<p><a href=\"/5/off\"><button class=\"button button2\">OFF</button></a></p>");               client.println("<p><a href=\"/5/off\"><button class=\"button button2\">OFF</button></a></p>");
             }              } 
-               + 
             // Display current state, and ON/OFF buttons for GPIO 4               // Display current state, and ON/OFF buttons for GPIO 4  
             client.println("<p>GPIO 4 - State " + output4State + "</p>");             client.println("<p>GPIO 4 - State " + output4State + "</p>");
Ligne 185: Ligne 212:
             }             }
             client.println("</body></html>");             client.println("</body></html>");
-            + 
             // The HTTP response ends with another blank line             // The HTTP response ends with another blank line
             client.println();             client.println();
Ligne 206: Ligne 233:
   }   }
 } }
- 
 </code> </code>
  
-===== Photos et médias=====+{{:projets:cctv_disco:capture_d_ecran_2022-03-05_111300.png?400|{{:projets:cctv_disco:img_4082.jpg?400|{{:projets:cctv_disco:img_4082.jpg?400|{{:projets:cctv_disco:screenshot_20220223-235110_samsung_internet.jpg?400|}}}}}}}}===== Photos et médias=====
 Code pour afficher les images du projet : Code pour afficher les images du projet :
 {{gallery>?&crop&lightbox }} {{gallery>?&crop&lightbox }}
  • projets/cctv_disco/start.1637586763.txt.gz
  • Dernière modification: 2021/11/22 14:12
  • de admin