Haut de la page
Connaitre l'adresse IP de la carte Esp32
Afficher l'adresse IP de la carte Esp32 dans le moniteur série

/*

  Afficher l'adresse IP de la carte Esp32 dans le moniteur série

 

  Arduino IDE, Esp32-WIFI-Connect-IPauto.ino

 

  http://nano-ordinateur-info.fr/

*/

 

#include <WiFi.h>        // Inclue la bibliothèque WiFi

 

const char* ssid     = "Livebox-xxxx";         // Nom du réseau WiFi que vous utilisé

const char* password = "xxx...";     // Mot de passe de ce réseau

 

void setup() {

 

  Serial.begin(115200);         // Définit le débit de données en bits par seconde pour la transmission de données série.

 

  WiFi.begin(ssid, password);             // Connexion au réseau Wifi

 

  Serial.print("Connexion à ");              // Affiche la chaine de caractère "Connexion à "

 

  Serial.print(ssid);             // Affiche le nom du réseau WiFi que vous utilisé

 

  while (WiFi.status() != WL_CONNECTED) {       // Le programme boucle temps que la connexion n'est pas trouvée

    delay(500);         // Suspend le programme pendant la durée de 500 millisecondes

    Serial.print('.');       // Affiche un point

  }

 

  Serial.println("");       // Envoie un retour à la ligne au moniteur série

  Serial.println("Connexion réussis !");              // Affiche la chaine de caractère "Connexion réussis !"

  Serial.print("IP address:\t");              // Affiche la chaine de caractère "IP address:\t"

  Serial.println(WiFi.localIP());              // Affiche l'adresse IP de la care Esp

}

 

void loop() {

 

}

Inclue la bibliothèque WiFi.

#include <WiFi.h>

 

Déclaration du nom du réseau WiFi que vous utilisé dans la constante ssid.

const char* ssid     = "Livebox-a8ec";

 

Déclaration du nom du mot de passe de votre réseau WiFi que vous utilisé dans la constante password.

const char* password = "";

 

Initialisation d’une nouvelle instance.

Serial.begin(115200);

 

Initialise les paramètres réseau de la bibliothèque WiFi.

WiFi.begin(ssid, password);

 

Affiche la chaine de caractère Température "Connexion à "

Serial.print("Connexion à ");

 

Affiche le nom du réseau WiFi que vous utilisé

Serial.print(ssid);

 

Le programme boucle temp que la connexion n'est pas trouvée

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print('.');

}

 

Envoie un retour à la ligne au moniteur série

Serial.println("");

 

Affiche la chaine de caractère "Connexion réussis !"

Serial.println("Connexion réussis !");

 

Affiche la chaine de caractère "IP address:\t"

Serial.print("IP address:\t");

 

Affiche l'adresse IP de la carte Esp

Serial.println(WiFi.localIP());

...ou coller le code suivant dans l'IDE Arduino.

Principales commandes pour afficher l'adresse IP dans le moniteur série.

Cliquer sur le bouton Téléverser pour transférer le programme à l'Esp32.

Allez dans le menu Fichier / Outils... pour ouvrir le Moniteur série... après un reset de la carte, l'adresse Ip doit s'afficher.

Téléchargé le programme à l'adresse suivante...

Tutoriels
Connexion Wi-Fi et Esp32
Attribuer une adresse IP fixe à la carte Esp32
Attribuer une adresse IP fixe à la carte Esp32

/*

  Afficher une adresse IP fixe avec la carte Esp32

 

  Arduino IDE, Esp32-WIFI-Connect-IPfixe.ino

 

  http://nano-ordinateur-info.fr/

*/

// Inclue la bibliothèque WiFi

#include <WiFi.h>       

 

const char* ssid     = "Livebox-xxxx";      // Nom du réseau WiFi que vous utilisé

const char* password = "xxx...";      // Mot de passe de ce réseau

 

// Attribue une adresse Ip fixe, la passerelle par défaut et le masque de sous-réseau.

IPAddress IP(192, 168, 0, 75);      //adresse fixe

IPAddress gateway(192, 168, 0, 1);      //passerelle par défaut

IPAddress subnet(255, 255, 255, 0);     //masque de sous réseau

IPAddress dns(8, 8, 8, 8);  //DNS

 

void setup() {

 

  Serial.begin(115200);     // Définit le débit de données en bits par seconde pour la transmission de données série.

 

  WiFi.config(IP,gateway,subnet,dns);     //Permet de configurer l’adresse IP et les paramètres de connexion au réseau WiFi local.

 

  WiFi.begin(ssid, password);     // Connexion au réseau Wifi

 

  Serial.print("Connexion à ");     // Affiche la chaine de caractère "Connexion à "

 

  Serial.print(ssid);     // Affiche le nom du réseau WiFi que vous utilisé

 

  while (WiFi.status() != WL_CONNECTED) {     // Le programme boucle temps que la connexion n'est pas trouvée

    delay(500);     // Suspend le programme pendant la durée de 500 millisecondes

    Serial.print('.');      // Affiche un point

  }

 

  Serial.println("");     // Envoie un retour à la ligne au moniteur série

  Serial.println("Connexion réussis !");      // Affiche la chaine de caractère "Connexion réussis !"

  Serial.print("IP address:\t");      // Affiche la chaine de caractère "IP address:\t"

  Serial.println(WiFi.localIP());     // Affiche l'adresse IP de la care Esp

}

 

void loop() {

 

}

Attribue une adresse Ip fixe, la passerelle par défaut et le masque de sous-réseau.

IPAddress local_IP(192, 168, 1, 75);

 

IPAddress gateway(255, 255, 255, 0);

 

IPAddress subnet(255, 255, 0, 0);

 

Permet de configurer l’adresse IP et les paramètres de connexion au réseau WiFi local.

WiFi.config(IP,gateway,subnet,dns);

Téléchargé le programme complet à l'adresse suivante...

A partir du programme précédent...

...on va ajouter les lignes suivantes...

Connaitre l'adresse IP de la carte Esp32

Cliquer sur le bouton Téléverser pour transférer le programme à l'Esp32.

 

Allez dans le menu Fichier / Outils... pour ouvrir le Moniteur série... après un reset de la carte, la nouvelle adresse Ip fixe doit s'afficher.

L'adresse IP est bien la même que celle du programme.

Sommaire
Connaitre l'adresse IP de la carte Esp32 Attribuer une adresse IP fixe à la carte Esp32

Ouvrir l'IDE Arduino.

Dans le menu Outils / Gérer les bibliothèques, assurez-vous que la librairie WiFi est bien installé.

Commander la LED de la carte Esp32 à partir d'une page Web
Connexion Wi-Fi avec la carte Esp32 Seekool

Avant de commencer, assurez-vous que la dernière version de l'IDE Arduino est installée sur votre ordinateur...

... et que les pilotes de la carte soit bien installer dans l'IDE Arduino.

... voir également...

Télécharger la dernière version de l'IDE Arduino Installer Arduino IDE sous Windows 7 Connecter la carte Esp32 Seekool avec l'IDE Arduino

Dans beaucoup de projets d'ESP32, la connexion au réseau Wi-Fi est indispensable. L'ESP32 peut fonctionner dans trois modes différents: station Wi-Fi, point d'accès Wi-Fi et les deux en même temps. Nous allons voir quelques une des différentes façons d'y arriver.

Commander la LED de la carte Esp32 à partir d'une page Web
Commander la LED de la carte Esp32 à partir d'une page Web

A partir du programme précédent on va ajouter les lignes suivantes...

/*

  Commander la LED de la carte Esp32 à partir d'une page Web

 

  Arduino IDE, Esp32-WIFI-IPfixe-Page-Web-Led.ino

 

  http://nano-ordinateur-info.fr/

*/

 

// Inclue la bibliothèque WiFi

#include <WiFi.h> 

 

#define LED_PIN  2 // Attribu la valeur 2 à la constante LED_PIN (La LED présente sur la carte est connectée au port GPIO 2).

 

const char* ssid     = "Livebox-xxxx";         // Nom du réseau WiFi que vous utilisé

const char* password = "xxx...";     // Mot de passe de ce réseau

 

// Etat de la LED pour l'affichage sur la page Web.

String Etat_Led = "LED éteinte !";

 

// Attribue une adresse Ip fixe, la passerelle par défaut et le masque de sous-réseau.

IPAddress IP(192, 168, 1, 75);      //adresse fixe

IPAddress gateway(192, 168, 1, 1);      //passerelle par défaut.

IPAddress subnet(255, 255, 255, 0);     //masque de sous réseau.

 

WiFiServer MonServeur(80); // Créer le serveur web sur le port 80.

WiFiClient MonClient; // Créer le client.

 

void setup() {

 

  pinMode(LED_PIN, OUTPUT);  // Configure le port GPIO spécifiée (2) pour qu'il se comporte en sortie.

  digitalWrite(LED_PIN, LOW);  // Eteindre la LED au départ.

 

  //Permet de configurer l’adresse IP et les paramètres de connexion au réseau WiFi local.

  WiFi.config(IP,gateway,subnet);

 

  WiFi.begin(ssid, password);     // Connexion au réseau Wifi

 

  while (WiFi.status() != WL_CONNECTED) {     // Le programme boucle temps que la connexion n'est pas trouvée

    delay(500);     // Suspend le programme pendant la durée de 500 millisecondes

    Serial.print('.');      // Affiche un point

  }

 

  MonServeur.begin(); // Démarre le seveur Web.

 

}

 

void loop() {

    // Le programme continue que si un utilisateur se connecte à partir de son navigateur.

    MonClient = MonServeur.available();

    if (!MonClient) return;

 

    //Lorsque qu'un utilisateur se connecte avec l'adresse IP 192.168.1.75, On récupère la requête HTTP dans une variable de type String.

    String request = MonClient.readStringUntil('\r\n');

 

    // Le programme continue que si la longueur de la vaiable request est différente de 0.

    if (request.length() == 0)return;

 

    // Si le début le la chaîne request correspond à "/ ", on appelle la fonction qui affiche la page Web.

    if(request.indexOf("/ ") != -1){

         Affiche_PageWeb(Etat_Led);

    }

    //Si la requête envoyée par le navigateur correspond au bouton et que la LED est éteinte, on modifie l'affichage de la page Web et l'état de la LED.

    else if ((request.indexOf("/BOUTON") != -1) && (Etat_Led == "LED éteinte !")){

        Etat_Led = "LED Allumée !";  // Etat de la LED pour l'affichage sur la page Web.

        digitalWrite(LED_PIN, HIGH);  // On allume la LED présente sur la carte.

        Affiche_PageWeb(Etat_Led);  // On rafraichit la page Web.

    }

    //Si la requête envoyée par le navigateur correspond au bouton et que la LED est allumée, on modifie l'affichage de la page Web et l'état de la LED.

    else if ((request.indexOf("/BOUTON") != -1) && (Etat_Led == "LED Allumée !")){

        Etat_Led = "LED éteinte !";  // Etat de la LED pour l'affichage sur la page Web.

        digitalWrite(LED_PIN, LOW);  // On allume la LED présente sur la carte.

        Affiche_PageWeb(Etat_Led);  // On rafraichit la page Web.

    }

}

void Affiche_PageWeb(const String Etat_Led){

   // Code html pour l'affichage de la page Web.

    MonClient.println("HTTP/1.1 200 OK");

    MonClient.println("Content-Type: text/html");

    MonClient.println("Connection: close");

    MonClient.println("");

    MonClient.println("<!DOCTYPE html>");

    MonClient.println("<html style=\"text-align:center;\">");

    MonClient.println("<head>");

    MonClient.println("<meta charset=\"utf-8\">");   

    MonClient.println("<br>");

    MonClient.println("<h2>Esp32 Web Serveur</h2>"); 

    MonClient.println("<br>");   

    MonClient.println("</head>");   

    MonClient.println("<body>");

    MonClient.println("<h1>Nano-Ordinateur.Info</h1>");

    MonClient.println("<br>");   

    MonClient.println("<p Style=\"color:rgb(200,0,0);\"> Allumer ou éteindre la LED présente sur la carte.</p><br>");

    MonClient.println("<p>" + Etat_Led + "</p>");

    MonClient.println("<br>");

    MonClient.println("<a href=\"BOUTON\"><button Style=\"padding: 10px 70px;\">Intérupteur</button></a>");

    MonClient.println("<br><br>");

    MonClient.println("<a href=\"https://nano-ordinateur-info.fr\" target=\"_blank\">Nano-Ordinateur-Info</a>");

    MonClient.println("</body>");

    MonClient.println("</html>");

}

Attribut la valeur 2 à la constante LED_PIN (La LED présente sur la carte est connectée au port GPIO 2).

#define LED_PIN  2

 

Etat de la LED pour l'affichage sur la page Web.

String Etat_Led = "LED éteinte !";

 

Créer le serveur web sur le port 80.

WiFiServer MonServeur(80);

 

Créer le client.

WiFiClient MonClient;

 

Configure le port GPIO spécifiée (2) pour qu'il se comporte en sortie.

pinMode(LED_PIN, OUTPUT);

 

Eteind la LED au départ du programme.

digitalWrite(LED_PIN, LOW);

 

Démarre le seveur Web.

MonServeur.begin();

 

Le programme continue que si un utilisateur se connecte à partir de son navigateur.

MonClient = MonServeur.available();

if (!MonClient) return;

 

Lorsque qu'un utilisateur se connecte à partir d'un navigateur internet avec l'adresse IP 192.168.1.75, On récupère la requête HTTP dans une variable de type String.

String request = MonClient.readStringUntil('\r\n');

 

Le programme continue que si la longueur de la vaiable request est différente de 0.

if (request.length() == 0)return;

 

Si le début le la chaîne request correspond à "/ ", on appelle la fonction qui affiche la page Web.

if(request.indexOf("/ ") != -1){

     Affiche_PageWeb(Etat_Led);

}

 

Si la requête envoyée par le navigateur correspond au bouton et que la LED est éteinte, on modifie l'affichage de la page Web et l'état de la LED.

else if ((request.indexOf("/BOUTON") != -1) && (Etat_Led == "LED éteinte !")){

    Etat_Led = "LED Allumée !";  // Etat de la LED pour l'affichage sur la page Web.

    digitalWrite(LED_PIN, HIGH);  // On allume la LED présente sur la carte.

     Affiche_PageWeb(Etat_Led);  // On rafraichit la page Web.

}

 

Si la requête envoyée par le navigateur correspond au bouton et que la LED est allumée, on modifie l'affichage de la page Web et l'état de la LED.

else if ((request.indexOf("/BOUTON") != -1) && (Etat_Led == "LED Allumée !")){

    Etat_Led = "LED éteinte !";  // Etat de la LED pour l'affichage sur la page Web.

    digitalWrite(LED_PIN, LOW);  // On allume la LED présente sur la carte.

    Affiche_PageWeb(Etat_Led);  // On rafraichit la page Web.

}

 

Code html pour l'affichage de la page Web

void Affiche_PageWeb(const String Etat_Led){

    MonClient.println("HTTP/1.1 200 OK");

    MonClient.println("Content-Type: text/html");

    MonClient.println("Connection: close");

    ...

    ...

    MonClient.println("</html>");

}

 

 

Téléchargé le programme à l'adresse suivante...

...ou coller le code suivant dans l'IDE Arduino.

Attribuer une adresse IP fixe à la carte Esp32 Attribuer une adresse IP fixe à la carte Esp32

Cliquer sur le bouton Téléverser pour transférer le programme à l'Esp32.

 Lorsque le téléversement est términé...

... à partir d'un navigateur sur PC, Smartphone, Tablette, ect... entrer l'adresse IP de la carte, 192.168.1.75 , le navigateur doit afficher la page Web...

...vous pouvez maintenant cliquer sur le bouton pour allumée ou éteindre la LED présente sur la carte.