claudiusmarius

ESP32 & Vera Edge01

Jul 3rd, 2020
62
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*=====================================================================================================================================================================================
  2. ESP32_et_webpage2 enregistré            ------------ C:\Users\Claude\Documents\Bricolage électronique\ESP32 --------------
  3. Claude DUFOURMONT le 26/06/20 d'après Tommy DESROCHERS
  4. claude.dufourmont@laposte.net
  5. Fonctionne en sélectionnant NodeMCU-32S
  6. L'ESP32 récupère la page web envoyée via mon reseau local puis me fournit l'adresse IP de cette page
  7. Il sagit ici d'une page web interactive
  8. Adresse IP : 192.168.x.yy !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  9. En saisissant l'adresse IP, la page web s'affiche et me permet d'interagir avec l'ESP32
  10. =======================================================================================================================================================================================*/
  11. #include <WiFi.h>
  12. #include <WebServer.h>
  13.  
  14. const char *ssid = "mios_45107236";                    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  15. const char *password = "jjdjdjdjj";              //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  16. WebServer server(80);
  17.  
  18. const int led = 2;
  19. bool etatLed = 0;
  20. char texteEtatLed[2][10] = {"ÉTEINTE!","ALLUMÉE!"};   // Création d'un tableau avec 2 données : [2] avec chacune un maximun de 10 caractères : [10] ATTENTION : Accents = plus de caractères
  21.  
  22. //---------------------------------------------Fonction création et envoie au serveur ESP32 de la page web "texte"------------------------------------------------------------------
  23. void handleRoot()
  24. {
  25.     String page = "<!DOCTYPE html>";
  26.  
  27.     page += "<html lang='fr'>";
  28.  
  29.     page += "<head>";
  30.     page += "    <title>Serveur ESP32</title>";
  31.     page += "    <meta http-equiv='refresh' content='60' name='viewport' content='width=device-width, initial-scale=1' charset='UTF-8' />";
  32.     page += "    <link rel='stylesheet' href='https://www.w3schools.com/w3css/4/w3.css'>";
  33.     page += "</head>";
  34.  
  35.     page += "<body>";
  36.     page += "    <div class='w3-card w3-blue w3-padding-small w3-jumbo w3-center'>";
  37.     page += "        <p>ÉTAT LED: "; page += texteEtatLed[etatLed]; + "</p>";
  38.     page += "    </div>";
  39.  
  40.     page += "    <div class='w3-bar'>";
  41.     page += "        <a href='/on' class='w3-bar-item w3-button w3-border w3-jumbo' style='width:50%; height:50%;'>ON</a>";
  42.     page += "        <a href='/off' class='w3-bar-item w3-button w3-border w3-jumbo' style='width:50%; height:50%;'>OFF</a>";
  43.     page += "    </div>";
  44.  
  45.     page += "    <div class='w3-center w3-padding-16'>";
  46.     page += "        <p>Ce serveur est hébergé sur un ESP32</p>";
  47.     page += "        <p> </p>";
  48.     page += "        <p>En cliquant sur ON la LED bleue s'illumine</p>";
  49.     page += "        <p> </p>";
  50.     page += "        <p>En cliquant sur OFF la LED bleue s'éteint</p>";
  51.     page += "        <i>Créé par Claude DUFOURMONT selon Tommy Desrochers</i>";
  52.     page += "    </div>";
  53.  
  54.     page += "</body>";
  55.  
  56.     page += "</html>";
  57.  
  58.     server.setContentLength(page.length());
  59.     server.send(200, "text/html", page);
  60. }
  61. //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  62.  
  63. //--------------------------------------------------------------------Fonction Allumage LED----------------------------------------------------------------------------------------
  64. void handleOn()
  65. {
  66.     etatLed = 1;
  67.     digitalWrite(led, HIGH);
  68.     server.sendHeader("Location","/");
  69.     server.send(303);
  70. }
  71. //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  72.  
  73.  
  74. //--------------------------------------------------------------------Fonction Extinction LED--------------------------------------------------------------------------------------
  75. void handleOff()
  76. {
  77.     etatLed = 0;
  78.     digitalWrite(led, LOW);
  79.     server.sendHeader("Location","/");
  80.     server.send(303);
  81. }
  82. //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  83.  
  84.  
  85. //---------------------------------------------------------------Fonction message Not Found----------------------------------------------------------------------------------------
  86. void handleNotFound()
  87. {
  88.     server.send(404, "text/plain", "404: Not found");
  89. }
  90. //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  91.  
  92.  
  93. void setup()
  94. {
  95.     Serial.begin(115200);
  96.     delay(1000);
  97.     Serial.println("\n");
  98.  
  99.     pinMode(led, OUTPUT);
  100.     digitalWrite(led, LOW);
  101.  
  102.     WiFi.persistent(false);
  103.     WiFi.begin(ssid, password);
  104.     Serial.print("Tentative de connexion...");
  105.  
  106.     while (WiFi.status() != WL_CONNECTED)
  107.     {
  108.         Serial.print(".");
  109.         delay(100);
  110.     }
  111.  
  112.     Serial.println("\n");
  113.     Serial.println("Connexion etablie!");
  114.     Serial.print("Adresse IP: ");
  115.     Serial.println(WiFi.localIP());
  116.     //Serial.println(*ssid);
  117.  
  118.     server.on("/", handleRoot);
  119.     server.on("/on", handleOn);
  120.     server.on("/off", handleOff);
  121.     server.onNotFound(handleNotFound);
  122.     server.begin();
  123.  
  124.     Serial.println("Serveur web actif!");
  125. }
  126.  
  127. void loop()
  128. {
  129.     server.handleClient();
  130. }
RAW Paste Data