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:11]
admin [Notes techniques et matériaux]
projets:cctv_disco:start [2022/04/06 17:31] (Version actuelle)
risbo [Photos et médias]
Ligne 20: Ligne 20:
  
 ===== Notes techniques et matériaux ===== ===== Notes techniques et matériaux =====
- 
-  * Esp 32 
-  * Camera shield esp 32 
-  * esp8266 
-  * led de couleur assez puissantes 
-  * booster 5V-12v 
-  * lecteur mp3 pour arduino + ampli + enceinte   OU  enceinte bluetooth powerbank 
- 
  
   * **ESP32 cam** [[https://www.amazon.fr/XTVTX-ESP32-CAM-Bluetooth-ESP32-CAM-MB-compatible/dp/B093GSCBWJ/ref=sr_1_2_sspa?keywords=esp32+cam&qid=1637572898&sr=8-2-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExVFlWMFU3VUdITTBJJmVuY3J5cHRlZElkPUEwNzc5OTg2MTBLODAzWTkyUTNYSSZlbmNyeXB0ZWRBZElkPUEwMjMwMzMyMlMzUVpVSU9SUVpUTiZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=|Chez amazon]]   * **ESP32 cam** [[https://www.amazon.fr/XTVTX-ESP32-CAM-Bluetooth-ESP32-CAM-MB-compatible/dp/B093GSCBWJ/ref=sr_1_2_sspa?keywords=esp32+cam&qid=1637572898&sr=8-2-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExVFlWMFU3VUdITTBJJmVuY3J5cHRlZElkPUEwNzc5OTg2MTBLODAzWTkyUTNYSSZlbmNyeXB0ZWRBZElkPUEwMjMwMzMyMlMzUVpVSU9SUVpUTiZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=|Chez amazon]]
Ligne 38: Ligne 30:
   * :!: **Led 4mm** [[https://www.amazon.fr/BOJACK-couleurs-pi%C3%A8ces-assored-Transparent/dp/B07RTWQSJB/ref=sr_1_1_sspa?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=led+4mm&qid=1637574016&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzTlBMVUJGWEUzNFpHJmVuY3J5cHRlZElkPUEwMjE4MzA2M0NCMFJPQk5MN1JVQyZlbmNyeXB0ZWRBZElkPUEwNzg1MTEzMjJSOTc1VU5QOTdaTiZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=|Amazon]]  ne seront pas puissante a cette taille.... ou COB 3W (necessitant radiateur) [[https://fr.aliexpress.com/item/4001197438816.html?src=google&src=google&memo1=freelisting&albch=shopping&acnt=248-630-5778&isdl=y&slnk=&plac=&mtctp=&albbt=Google_7_shopping&aff_platform=google&aff_short_key=UneMJZVf&albagn=888888&isSmbAutoCall=false&needSmbHouyi=false&albcp=10191220526&albag=107473525328&trgt=1284054470089&crea=fr4001197438816&netw=u&device=c&albpg=1284054470089&albpd=fr4001197438816&gclid=CjwKCAiAnO2MBhApEiwA8q0HYcGiRxQ_a_-R3cDrbKuW4i2Z3E9pK4Vlkhx3w2dXck8m3Jbc1fTYIhoCy1wQAvD_BwE&gclsrc=aw.ds|Ali]] ?   * :!: **Led 4mm** [[https://www.amazon.fr/BOJACK-couleurs-pi%C3%A8ces-assored-Transparent/dp/B07RTWQSJB/ref=sr_1_1_sspa?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=led+4mm&qid=1637574016&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzTlBMVUJGWEUzNFpHJmVuY3J5cHRlZElkPUEwMjE4MzA2M0NCMFJPQk5MN1JVQyZlbmNyeXB0ZWRBZElkPUEwNzg1MTEzMjJSOTc1VU5QOTdaTiZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=|Amazon]]  ne seront pas puissante a cette taille.... ou COB 3W (necessitant radiateur) [[https://fr.aliexpress.com/item/4001197438816.html?src=google&src=google&memo1=freelisting&albch=shopping&acnt=248-630-5778&isdl=y&slnk=&plac=&mtctp=&albbt=Google_7_shopping&aff_platform=google&aff_short_key=UneMJZVf&albagn=888888&isSmbAutoCall=false&needSmbHouyi=false&albcp=10191220526&albag=107473525328&trgt=1284054470089&crea=fr4001197438816&netw=u&device=c&albpg=1284054470089&albpd=fr4001197438816&gclid=CjwKCAiAnO2MBhApEiwA8q0HYcGiRxQ_a_-R3cDrbKuW4i2Z3E9pK4Vlkhx3w2dXck8m3Jbc1fTYIhoCy1wQAvD_BwE&gclsrc=aw.ds|Ali]] ?
  
 +  * Jumper
 +  * Breadboard
 +  * Powerbank et peut être booster...
 +  * Enceinte Bluetooth si besoin son fort
  
  
Ligne 53: 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 
-  Rui Santos +#include <SoftwareSerial.h> 
-  Complete project details at http://randomnerdtutorials.com   +#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 88: 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 97: 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 113: 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 138: 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 144: 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 168: 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 180: 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 190: 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 211: 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.1637586665.txt.gz
  • Dernière modification: 2021/11/22 14:11
  • de admin