Modes WiFi ESP32
WiFi ESP32 peut être utilisé dans trois différents modes. Les modes suivants peuvent être appelés en utilisant le Wifi.mode() fonction en définissant le mode souhaité à l'intérieur de l'argument de cette fonction.
Mode wifi | Fonction |
Gare | Wifi.mode (wifi_sta) |
Point d'accès | Wifi.mode (wifi_ap) |
Station + point d'accès | Wifi.mode (wifi_sta_ap) |
Station wifi
L'utilisation d'ESP32 comme station WiFi vous permet de l'utiliser comme un routeur WiFi à la maison. Lorsque ESP32 est connecté à un réseau à l'aide d'un routeur WiFi, le routeur attribue une adresse IP unique à la carte ESP32. Pour échanger des informations avec d'autres matériels connectés au même routeur, nous devons appeler leur adresse IP unique dans le code ESP32.
Une fois que le routeur est connecté à la carte ESP32, il a la même connexion Internet que d'autres appareils. À l'aide d'Internet, nous pouvons télécharger des données sur le serveur ou contrôler d'autres appareils connectés au même routeur WiFi. Nous pouvons également lire les données des API telles que les données météorologiques et pouvons également publier des images de données ou des icônes sur des serveurs Web.
Connectez ESP32 comme station WiFi
Pour connecter la carte ESP32 en tant que station Wi-Fi, la première chose que nous devons faire est de définir le mode WiFi en utilisant la commande mentionnée:
Wifi.mode (wifi_sta)
Si ESP32 est connecté à un autre réseau afin que le réseau soit en mode station pour l'utiliser avec ESP32.
Ensuite en utilisant Wifi.commencer() fonction et en passant le réseau SSID et le mot de passe comme argument, nous pouvons nous connecter à n'importe quel réseau. Voici la syntaxe de la carte ESP32 pour se connecter à un réseau Wi-Fi en mode station:
Wifi.commencer (mot de passe SSID)
Lorsque la connexion est établie, la sortie suivante apparaîtra:
Pendant que (wifi.statut() != Wl_connected)
Point d'accès
Lorsque ESP32 est en mode Point d'accès, tout appareil ayant un wifi peut y être connecté, tout comme un routeur conventionnel. Il peut également fournir des appareils avec une connexion Internet, et nous pouvons construire notre propre réseau Wi-Fi autour de lui. En mode Point d'accès, nous pouvons contrôler les appareils indépendamment d'avoir un routeur Wi-Fi séparé.
Le point d'accès ESP32 n'est pas comme le routeur Wi-Fi normal car sa seule option de connectivité est sans fil. ESP32 ne prend pas en charge la connexion filaire pour Internet comme un routeur normal, il est donc appelé un Soft AP (Point d'accès doux).
Connectez ESP32 comme point d'accès
Définissez d'abord le mode WiFi comme point d'accès à l'aide de la commande donnée:
Wifi.mode (wifi_ap)
Puis en utilisant le softap () La fonction donne à un nom SSID à votre réseau ESP32 et à votre mot de passe quels autres appareils nécessaires pour se connecter à ESP32. Les deux sont passés comme arguments à la fonction softap (). Dans le cas où aucun mot de passe n'est nécessaire, définissez-le sur nill.
Wifi.softap (SSID, mot de passe);
Il existe des paramètres facultatifs que nous pouvons également transmettre au softap () fonction.
Wifi.SoftAP (const char * ssid, const char * mot de passe, chaîne int, int ssid_hidden, int max_connection)
Station + point d'accès
Pour définir ESP32 en tant que station Wi-Fi et point d'accès, suivez la commande donnée ci-dessous:
Wifi.mode (wifi_ap_sta)
Scanner un réseau wifi
Pour rechercher des connexions Wi-Fi à proximité, nous utiliserons un exemple de balayage Wi-Fi ESP32 pour nous assurer que la carte ESP32 est installée dans Arduino IDE. Pour lire sur l'installation d'ESP32 dans Arduino IDE Cliquez ici.
Aller à: Fichiers> Exemples> WiFi> WiFi Scan:
Le code suivant s'ouvrira dans une nouvelle fenêtre. Sélectionnez le port com d'ESP32 et téléchargez le code:
#include "WiFi.H "
void setup()
En série.commencer (115200);
// Définir ESP32 WiFi sur le mode Station
Wifi.mode (wifi_sta);
Wifi.déconnecter ();
retard (100);
En série.println ("Configuration fait");
VOID LOOP ()
En série.println ("Scan Start");
// Wifi.scannetworks donnera des réseaux WiFi trouvés totaux
int n = wifi.scannetworks ();
En série.println ("scan fait");
if (n == 0)
En série.println ("Pas de réseaux trouvés");
autre
En série.imprimer (n);
En série.println ("réseaux trouvés");
pour (int i = 0; i < n; ++i)
// Imprime le nom et la force du signal SSID
En série.imprimer (i + 1);
En série.imprimer(": ");
En série.imprimer (wifi.Ssid (i));
En série.imprimer(" (");
En série.imprimer (wifi.RSSI (i));
En série.imprimer(")");
En série.println ((wifi.EncryptionType (i) == wifi_auth_open)?"": "*");
retard (10);
En série.println ("");
// retard de 5 secondes
retard (5000);
Ici dans le code ci-dessus Wifi.scannetworks () retournera le réseau disponible total à l'intérieur de la gamme des cartes ESP32.
Une fois que tous les réseaux sont analysés, nous pouvons accéder à leur SSID en utilisant la commande ci-dessous:
En série.imprimer (wifi.Ssid (i));
Le Wifi.RSSI () La fonction nous donnera le RSSI (indicateur de résistance du signal reçu) d'un réseau. C'est un niveau de puissance ou une force de signal estimée qu'un ESP32 reçoit d'un point d'accès.
Sortir
La sortie suivante est imprimée sur le moniteur en série nous affichant tous les réseaux disponibles que la carte ESP32 a scanné:
Connectez-vous à un réseau Wi-Fi
Pour connecter ESP32 à un réseau Wi-Fi, nous devons connaître le SSID et son mot de passe. De plus, le réseau qui doit être connecté doit entrer dans la plage d'ESP32. Pour voir si un certain Wi-Fi est sous la plage ESP32 ou non l'exemple de numérisation donnée ci-dessus.
Téléchargez le code ci-dessous pour connecter la carte ESP32 au réseau Wi-Fi:
#inclure
const char * ssid = "Votre nom SSID";
const char * mot de passe = "mot de passe ssid";
void setup()
En série.commencer (115200);
retard (1000);
Wifi.mode (wifi_sta);
Wifi.Begin (SSID, mot de passe);
En série.println ("\ nconnecting");
Pendant que (wifi.statut() != Wl_connected)
En série.imprimer(".");
retard (100);
En série.println ("\ nconned au réseau WiFi");
En série.print ("IP ESP32 local:");
En série.println (wifi.localip ());
void loop ()
Le code commence par inclure le Wifi.H bibliothèque. Ensuite, nous entrons le réseau SSID et le mot de passe auquel nous voulons connecter. Le prochain ESP32 est mis en mode station qui est facultatif que l'on peut ignorer car ESP32 par défaut est disponible en mode station.
Ensuite en utilisant le Wifi.Begin (SSID, mot de passe); La fonction ESP32 recherchera le réseau défini et essaiera de se connecter. Une fois l'ESP32 connecté, l'adresse IP du réseau sera affichée sur le moniteur série:
Obtenez des informations sur le réseau Wi-Fi
Pour vérifier les détails du réseau Wi-Fi auquel la carte ESP32 est connectée au code suivant sera utilisée:
#inclure
const char * ssid = "Votre nom SSID";
const char * mot de passe = "mot de passe ssid";
void get_network_info ()
if (wifi.status () == wl_connected)
En série.print ("ESP32 connecté à");
En série.println (ssid);
En série.println ("bssid:" + wifi.BSSIDSTR ());
En série.print ("Gateway ip:");
En série.println (wifi.GATEWAYIP ());
En série.print ("Masque de sous-réseau:");
En série.println (wifi.Subtmask ());
En série.println ((String) "RSSI:" + WiFi.RSSI () + "DB");
En série.print ("ESP32 IP:");
En série.println (wifi.localip ());
void setup()
En série.commencer (115200);
retard (1000);
Wifi.Begin (SSID, mot de passe);
En série.println ("\ nconnecting");
Pendant que (wifi.statut() != Wl_connected)
En série.imprimer(".");
retard (100);
En série.println ("\ nconned au réseau WiFi");
get_network_info ();
void loop ()
La sortie nous donnera les informations suivantes liées au réseau Wi-Fi connecté ESP32:
Tous ces résultats peuvent être vus sur le moniteur en série:
Conclusion
ESP32 est une carte de microcontrôleur fournie avec un support Wi-Fi et double Bluetooth. Cet article met en évidence les principales fonctions utilisées pour contrôler le Wi-Fi d'ESP32. La carte ESP32 peut fonctionner en trois modes de Wi-Fi et peut être connecté à n'importe quel réseau tout en connaissant le SSID et le mot de passe du réseau. Cet article aidera à contrôler le Wi-Fi ESP32 à l'aide d'Arduino IDE.