Reconnectez Esptop 10 au réseau WiFi après la perte de connexion

Reconnectez Esptop 10 au réseau WiFi après la perte de connexion
ESP32 est une carte de microcontrôleur basée sur le wifi. ESP32 est livré avec un module WiFi préinstallé qui lui offre des capacités de communication sans fil. ESP32 peut être exploité en trois modes de wifi gare, accès, ou les deux. Parfois, le WiFi ESP32 est déconnecté lorsque ESP32 est en mode station, nous devons donc le régler ou le reconnecter. Lisez ce guide pour apprendre à reconnecter ESP32 au réseau WiFi:

Comment reconnecter ESP32 avec le réseau WiFi

Trois fonctions différentes peuvent être utilisées pour reconnecter le wifi après une connexion perdue. Voici les trois façons:

  1. Wifi.Reconnect () Fonction
  2. En particulier.redémarrage()
  3. Événements WiFi ESP32

1: reconnecter le wifi à l'aide du wifi.Reconnect () Fonction

Pour reconnecter ESP32 avec le wifi, nous pouvons utiliser la fonction suivante qui vérifie les réseaux WiFi disponibles. Une fois que le wifi est déconnecté, la carte ESP32 essaiera de se connecter à nouveau avec elle.

Wifi.reconnecter ()

Ou alternativement, nous pouvons également déconnecter d'abord le réseau connecté en utilisant Wifi.déconnecter () puis recommencer la connexion WiFi à l'aide de la commande Wifi.commencer (SSID, mot de passe).

2: Reconnectez-vous au réseau WiFi après la connexion perdue à l'aide du WiFi.Fonction Redémarrer ()

Une autre façon de connecter ESP32 avec le wifi perdu est de redémarrer l'ESP32 une fois la connexion perdue. Nous allons maintenant écrire un code qui vérifiera l'état de la connexion tous les 30 secondes et si la connexion est perdue, il redémarrera la connexion et essaiera de se connecter à ESP32 avec le réseau perdu.

Ouvrez Arduino IDE et exécutez le code.

#include / * bibliothèque wifi incluse * /
const char * ssid = "ABC"; / * SSID du réseau pour se connecter * /
const char * password = "Password123"; / * Mot de passe pour SSID * /
Long précédent Millis = 0;
Intervalle long non signé = 30000;
void initwifi ()
Wifi.mode (wifi_sta);
Wifi.Begin (SSID, mot de passe);
En série.print ("Connexion au WiFi…");
Pendant que (wifi.statut() != Wl_connected)
En série.imprimer('.');
retard (1000);

En série.println (wifi.localip ());

void setup()
En série.commencer (115200);
initwifi ();
En série.print ("RSSI (résistance WiFi):");
En série.println (wifi.RSSI ());

VOID LOOP ()
Current Long Millis non signé = Millis ();
/ * Si condition pour vérifier la reconnexion wifi * /
if ((wifi.statut() != Wl_connected) && (currentMillis - PREVERMILLIS> = Interval))
En série.Print (Millis ());
En série.println ("Reconnecte au WiFi…");
Wifi.déconnecter ();
Wifi.reconnecter ();
PREBERMILLIS = CurrentMillis;

Ici dans le code ci-dessus, écrivez d'abord le SSID et le mot de passe pour le réseau que l'on veut se connecter. Définissez ensuite le millis et le temps total après quoi ESP32 vérifiera l'état de connexion. N'oubliez pas de définir les millis précédents au début car chaque code de temps exécute ESP32 prendra le millis comme référence pour le temps pour calculer les intervalles de temps de 30 sec.

Le code vérifiera le réseau disponible si le réseau est disponible et que les informations d'identification correctes sont écrites dans le code ESP32 sera automatiquement connectée à lui.

Sortie sur le moniteur en série

La sortie suivante apparaîtra sur le moniteur en série. Ici, nous pouvons voir l'adresse IP et la force du réseau WiFi ESP32 est connecté à.

Note: Les mesures RSSI en DBM et sa valeur sont négatives.

3: Comment reconnecter ESP32 WiFi à l'aide d'événements WiFi

ESP32 en raison de sa bibliothèque WiFi a plusieurs événements WiFi qui bénéficient d'un déguisement. ESP32 a des événements spécifiques qui s'exécutent automatiquement si un certain événement se produit, après cela, il appellera automatiquement une certaine fonction.

Voici quelques fonctions importantes qui aident ESP32 O à rétablir automatiquement la connexion perdue:

  • Arduino_event_wifi_sta_conned: ESP32 en mode station connecté avec le routeur
  • Arduino_event_wifi_sta_disconnected: ESP32 Soyez déconnecté du routeur

Code pour les événements WiFi

Vous trouverez ci-dessous le code pour trois événements différents de la connexion WiFi dans ESP32. Open Arduino IDE, compilez et téléchargez le code donné.

#include / * bibliothèque wifi incluse * /
const char * ssid = "ABC"; / * SSID du réseau pour se connecter * /
const char * password = "Password123"; / * Mot de passe pour SSID * /
void wifi_connected (événement wifieVent_t, info wiveventinfo_t)
En série.println ("ESP32 WiFi connecté au point d'accès");

void get_ipaddress (événement wifivent_t, wiveventinfo_t info)
En série.println ("WiFi connecté!");
En série.println ("Adresse IP du wifi connecté:");
En série.println (wifi.localip ());

void wifi_disconnected (événement wifieVent_t, wifieVentinfo_t info)
En série.println ("déconnecté de WiFi");
En série.print ("Resse de connexion Lost:");
En série.println (info.débranché.raison);
En série.println ("reconnecter…");
Wifi.Begin (SSID, mot de passe);

void setup()
En série.commencer (115200);
Wifi.déconnecter (true);
retard (1000);
Wifi.onevent (wifi_connected, system_event_sta_conned);
Wifi.onevent (get_ipaddress, system_event_sta_got_ip);
Wifi.onevent (wifi_disconnected, system_event_sta_disconnected);
Wifi.Begin (SSID, mot de passe);
En série.println ("En attente de réseau wifi…");

VOID LOOP ()
retard (1000);

Dans le code ci-dessus, trois événements différents sont définis:

  • System_event_Sta_Connected: Lorsque ESP32 s'est connecté au WiFi
  • System_event_sta_got_ip: Lorsque ESP32 obtient l'adresse IP du réseau connecté
  • System_event_Sta_Disconnected: Lorsque ESP32 a été déconnecté d'un réseau

Lorsque ESP32 est connecté à un réseau WiFistationConnedCed () La fonction sera appelée. Il imprimera simplement que ESP32 est connecté à un réseau avec succès. Cependant, nous pouvons également le modifier pour allumer une LED ou autre chose lorsque ESP32 est connecté à un réseau.

Deuxièmement lorsque ESP32 obtient l'adresse IP d'un réseau Wifigotip () La fonction fonctionnera. Cette fonction comme la précédente imprimera l'adresse IP.

Et le dernier événement que nous décrivons est quand il exécutera la fonction Wifistationdisconnected (), Cette fonction imprimera le message que WiFi est déconnecté et essaie de reconnecter ESP32 avec le réseau WiFi.

Sortie sur le moniteur en série

La sortie suivante apparaîtra sur le moniteur série: il affiche l'adresse IP et un message que le WiFi est connecté. De même, si le wifi est déconnecté, il vérifiera automatiquement la connexion WiFi toutes les 30 secondes et essaiera de reconnecter ESP32 avec le réseau.

Nous avons réussi à régler la question de la connexion perdue WiFi ESP32 en utilisant trois méthodes différentes.

Conclusion

ESP32 WiFi est parfois déconnecté afin de reconnecter trois méthodes différentes peuvent être utilisées. Le premier consiste simplement à réécouter la connexion en utilisant Wifi.commencer (SSID, mot de passe) commande. La deuxième méthode comprend une vérification constante de la connexion Internet ESP32 et se reconnecte automatiquement une fois sa connexion perdue. La dernière méthode que nous avons couverte exécuterait certaines fonctions lorsqu'un événement WiFi spécifique se produit tel que la connexion ou la déconnexion.