start:arduino:esp32:wifi
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
start:arduino:esp32:wifi [2022/01/10 14:28] – créée gerardadmin | start:arduino:esp32:wifi [2022/01/10 14:43] – gerardadmin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======== Reconnecter ESP32 au WIFI après une connexion perdue ======== | ======== Reconnecter ESP32 au WIFI après une connexion perdue ======== | ||
+ | |||
+ | [[https:// | ||
Dans ce tutoriel, nous allons apprendre à reconnecter la carte ESP32 au réseau WIFI lorsqu' | Dans ce tutoriel, nous allons apprendre à reconnecter la carte ESP32 au réseau WIFI lorsqu' | ||
Ligne 14: | Ligne 16: | ||
Vous pouvez également utiliser la fonction WiFi.disconnect() puis WiFi.begin(ssid, | Vous pouvez également utiliser la fonction WiFi.disconnect() puis WiFi.begin(ssid, | ||
- | Le nom de votre réseau WIFI appelé SSID est le premier argument. | + | |
- | Le deuxième argument est le mot de passe de votre réseau WIFI associé. Assurez-vous de spécifier les fonctions dans le bon ordre. | + | |
- | 2ème méthode : ESP.restart() | + | ===2ème méthode : ESP.restart()=== |
L' | L' | ||
Ligne 26: | Ligne 28: | ||
Suivez le croquis Arduino ci-dessous. La fonction boucle infinie () exécutera la fonctionnalité susmentionnée. Après toutes les 20 secondes, il vérifiera si la carte est toujours connectée au WIFI ou non. Sinon, il essaiera de se reconnecter en se déconnectant d' | Suivez le croquis Arduino ci-dessous. La fonction boucle infinie () exécutera la fonctionnalité susmentionnée. Après toutes les 20 secondes, il vérifiera si la carte est toujours connectée au WIFI ou non. Sinon, il essaiera de se reconnecter en se déconnectant d' | ||
+ | <code c 003.ino> | ||
#include < | #include < | ||
Ligne 62: | Ligne 65: | ||
} | } | ||
} | } | ||
+ | </ | ||
Vous pouvez augmenter le temps de revérification en modifiant la valeur du délai dans la ligne suivante : | Vous pouvez augmenter le temps de revérification en modifiant la valeur du délai dans la ligne suivante : | ||
+ | <code c 004.ino> | ||
unsigned long delay = 20000; // 20 seconds delay | unsigned long delay = 20000; // 20 seconds delay | ||
+ | </ | ||
Cette méthode est une bonne solution pour reconnecter le WiFi à l' | Cette méthode est une bonne solution pour reconnecter le WiFi à l' | ||
L' | L' | ||
- | 3ème méthode : événements WiFi ESP32 | + | |
+ | ===3ème méthode : événements WiFi ESP32=== | ||
La méthode de boucle infinie () indiquée ci-dessus aidera à récupérer la connexion WIFI perdue, mais est légèrement gênante et gaspille les ressources ESP32. Pour une meilleure approche, nous allons essayer d' | La méthode de boucle infinie () indiquée ci-dessus aidera à récupérer la connexion WIFI perdue, mais est légèrement gênante et gaspille les ressources ESP32. Pour une meilleure approche, nous allons essayer d' | ||
Ligne 76: | Ligne 83: | ||
À des fins de détection et de reconnexion, | À des fins de détection et de reconnexion, | ||
- | SYSTEM_EVENT_STA_CONNECTED: | + | |
- | SYSTEM_EVENT_STA_DISCONNECTED: | + | |
Nous utiliserons un croquis Arduino pour expliquer comment les événements WIFI fonctionneront. Grâce à ces événements, | Nous utiliserons un croquis Arduino pour expliquer comment les événements WIFI fonctionneront. Grâce à ces événements, | ||
- | Esquisse Arduino | ||
- | Ouvrez votre IDE Arduino | + | ==Esquisse |
+ | Ouvrez votre IDE Arduino et accédez à Fichier > Nouveau pour ouvrir un nouveau fichier. Copiez le code ci-dessous dans ce fichier. Ce code fonctionnera pour votre carte de développement ESP32. Vous devez remplacer les informations d' | ||
+ | <code c 005.ino> | ||
#include < | #include < | ||
const char* ssid = " | const char* ssid = " | ||
Ligne 121: | Ligne 129: | ||
delay(1000); | delay(1000); | ||
} | } | ||
+ | </ | ||
- | Comment fonctionne le code ? | + | ==Comment fonctionne le code ?== |
Premièrement, | Premièrement, | ||
+ | <code c 006.ino> | ||
#include < | #include < | ||
+ | </ | ||
Ensuite, nous allons créer deux variables globales, une pour le SSIDet l' | Ensuite, nous allons créer deux variables globales, une pour le SSIDet l' | ||
+ | <code c 007.ino> | ||
const char* ssid = " | const char* ssid = " | ||
const char* password = " | const char* password = " | ||
+ | </ | ||
Fonctions définies par l' | Fonctions définies par l' | ||
Ligne 137: | Ligne 150: | ||
Ensuite, nous définirons des fonctions que nous devrons appeler plus tard dans le code. Dans un premier temps, nous définirons leWifi_connecté()une fonction. Cette fonction sera appelée lorsque notre ESP32 se connectera à un point d' | Ensuite, nous définirons des fonctions que nous devrons appeler plus tard dans le code. Dans un premier temps, nous définirons leWifi_connecté()une fonction. Cette fonction sera appelée lorsque notre ESP32 se connectera à un point d' | ||
+ | <code c 008.ino> | ||
void Wifi_connected(WiFiEvent_t event, WiFiEventInfo_t info){ | void Wifi_connected(WiFiEvent_t event, WiFiEventInfo_t info){ | ||
Serial.println(" | Serial.println(" | ||
} | } | ||
+ | </ | ||
Dans un deuxième temps, nous définirons le Get_IPAddress()une fonction. Celui-ci sera appelé lorsque notre carte ESP32 utilisera l' | Dans un deuxième temps, nous définirons le Get_IPAddress()une fonction. Celui-ci sera appelé lorsque notre carte ESP32 utilisera l' | ||
+ | <code c 009.ino> | ||
void Get_IPAddress(WiFiEvent_t event, WiFiEventInfo_t info){ | void Get_IPAddress(WiFiEvent_t event, WiFiEventInfo_t info){ | ||
Serial.println(" | Serial.println(" | ||
Ligne 148: | Ligne 164: | ||
Serial.println(WiFi.localIP()); | Serial.println(WiFi.localIP()); | ||
} | } | ||
+ | </ | ||
Enfin, nous définirons le Wifi_déconnecté()une fonction. Cette fonction sera appelée lorsque notre ESP32 se déconnectera d'un point d' | Enfin, nous définirons le Wifi_déconnecté()une fonction. Cette fonction sera appelée lorsque notre ESP32 se déconnectera d'un point d' | ||
+ | <code c 010.ino> | ||
void Wifi_disconnected(WiFiEvent_t event, WiFiEventInfo_t info){ | void Wifi_disconnected(WiFiEvent_t event, WiFiEventInfo_t info){ | ||
Serial.println(" | Serial.println(" | ||
Ligne 159: | Ligne 176: | ||
} | } | ||
- | Fonction Setup() | + | </ |
+ | |||
+ | ==Fonction Setup()== | ||
À l' | À l' | ||
+ | <code c 012.ino> | ||
Serial.begin(115200); | Serial.begin(115200); | ||
+ | </ | ||
Ensuite, nous appellerons WiFi.déconnecter()fonction avec true comme paramètre à l' | Ensuite, nous appellerons WiFi.déconnecter()fonction avec true comme paramètre à l' | ||
+ | <code c 013.ino> | ||
WiFi.disconnect(true); | WiFi.disconnect(true); | ||
+ | </ | ||
- | Ensuite, nous appellerons WiFi.onEvent()fonction pour les trois événements WIFI. Ceux-ci seront SYSTEM_EVENT_STA_CONNECTED, | + | Ensuite, nous appellerons WiFi.onEvent()fonction pour les trois événements WIFI. |
+ | Ceux-ci seront SYSTEM_EVENT_STA_CONNECTED, | ||
+ | |||
+ | Nous les passerons individuellement en tant que deuxièmes paramètres à l' | ||
+ | |||
+ | <code c 014.ino> | ||
WiFi.onEvent(Wifi_connected, | WiFi.onEvent(Wifi_connected, | ||
WiFi.onEvent(Get_IPAddress, | WiFi.onEvent(Get_IPAddress, | ||
WiFi.onEvent(Wifi_disconnected, | WiFi.onEvent(Wifi_disconnected, | ||
+ | </ | ||
Ensuite, nous connecterons notre carte ESP32 au point d' | Ensuite, nous connecterons notre carte ESP32 au point d' | ||
Ligne 184: | Ligne 213: | ||
==Manifestation== | ==Manifestation== | ||
- | Assurez-vous de choisir la bonne carte et le bon port COM avant de télécharger votre code sur la carte. Allez dans Outils > Carte et sélectionnez ESP32 Dev Module. Ensuite, allez dans Outils > Port et sélectionnez le port approprié via lequel votre carte est connectée. | + | Assurez-vous de choisir la bonne carte et le bon port COM avant de télécharger votre code sur la carte. |
+ | |||
+ | Allez dans Outils > Carte et sélectionnez ESP32 Dev Module. | ||
+ | |||
+ | Ensuite, allez dans Outils > Port et sélectionnez le port approprié via lequel votre carte est connectée. | ||
Cliquez sur le bouton de téléchargement pour télécharger le code dans la carte de développement ESP32. | Cliquez sur le bouton de téléchargement pour télécharger le code dans la carte de développement ESP32. | ||
+ | |||
Après avoir téléchargé votre code sur la carte de développement, | Après avoir téléchargé votre code sur la carte de développement, | ||
- | Ouvrez votre Serial Monitor à un débit en bauds de 115200. Connectez-vous maintenant à votre réseau WIFI local. Interrompre la connexion. Le code du programme le détecte automatiquement et se reconnecte. | + | Ouvrez votre Serial Monitor à un débit en bauds de 115200. |
+ | |||
+ | Connectez-vous maintenant à votre réseau WIFI local. | ||
+ | |||
+ | Interrompre la connexion. Le code du programme le détecte automatiquement et se reconnecte. | ||
+ | |||
Reconnecter ESP32 à la démo WIFI Moniteur série | Reconnecter ESP32 à la démo WIFI Moniteur série | ||
/home/chanteri/www/fablab37110/data/pages/start/arduino/esp32/wifi.txt · Dernière modification : 2023/01/27 16:08 de 127.0.0.1