Comment définir un point d'accès ESPTOP 10 à l'aide d'Arduino IDE

Comment définir un point d'accès ESPTOP 10 à l'aide d'Arduino IDE

Les cartes ESP32 ont un module Wi-Fi intégré qui ouvre la porte à des options de connectivité illimitées. ESP32 peut être connecté à n'importe quel point d'accès tel qu'un routeur ou peut agir comme un hotspot et fournir un point d'accès à d'autres appareils. Ici, nous allons configurer ESP32 en mode Point d'accès et le connecter avec d'autres appareils.

Modes WiFi ESP32

Avant d'aller de l'avant, nous devons avoir une connaissance des modes de travail WiFi ESP32. WiFi ESP32 peut être utilisé dans trois différents modes.

  • Gare
  • Point d'accès
  • Station + point d'accès

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)

Dans la plupart des situations, ESP32 fonctionne dans Gare mode. Pendant ce mode, ESP32 est connecté au WiFi de tout point d'accès comme le routeur. L'image suivante montre ESP32 en mode station connecté au routeur qui est un point d'accès.

Mais nous pouvons également utiliser le WiFi ESP32 pour fonctionner comme hotspots pour d'autres appareils. En bref en utilisant le Wifi.mode (wifi_ap) Commande Nous utiliserons ESP32 comme un Accès indiquer où il créera son propre réseau wifi. Maintenant, tout appareil avec des capacités WiFi peut s'y connecter.

L'image ci-dessous montre le fonctionnement de ESP32 comme point d'accès pour d'autres appareils.

Comme la carte ESP32 n'a pas de capacité de réseau câblé, elle ne prend en charge que les réseaux sans fil, nous avons donc appelé ce point d'accès comme Palette (Point d'accès doux).

Le dernier mode de wifi pour la carte ESP32 est les deux Accès et Point de station. Ici, la carte ESP32 sera connectée à un autre routeur et agira comme une station alors qu'elle annonce également son hotspot vers d'autres appareils afin qu'ils puissent se connecter au Wi-Fi ESP32.

L'image ci-dessous met en évidence la structure de la carte ESP32 travaillant à la fois dans la station et le point d'accès.

Comment connecter la carte ESP32 comme point d'accès

Connectez la carte ESP32 avec PC et Open Arduino IDE. Sélectionnez la bonne carte et le port COM. Ouvrez l'éditeur IDE et écrivez le code donné. Ce code permettra le WiFi ESP32 qui fonctionnera accès indiquer mode.

Connectez maintenant une LED à la broche GPIO 25. Nous contrôlerons cette LED à l'aide d'un serveur Web conçu sur l'adresse IP de la carte ESP32. Un périphérique WiFi tel qu'un PC ou un smartphone sera connecté au WiFi de ESP32 et à la LED de contrôle à l'aide du serveur Web.

Code de point d'accès ESP32

Téléchargez maintenant le code ci-dessous sur la carte ESP32:

#include / * bibliothèque wifi incluse * /
const char * ssid = "esp32"; / * SSID défini pour AP * /
const char * mot de passe = "123456789"; / * Mot de passe défini, supprimé pour un réseau ouvert * /
Serveur Wifiserver (80); / * Port du serveur Web 80 * /
En-tête de chaîne; / * Variable stocke la demande http * /
String OutputgPio25 = "OFF"; / * variable pour stocker la sortie actuelle * /
const int Output_25 = 25; / * Gpio broche 25 attribué à la variable * /
void setup()
En série.commencer (115200);
pinMode (output_25, output); / * Variable Initialise pour la sortie * /
DigitalWrite (Output_25, Low); / * Sortie définie sur bas * /
En série.print ("Définition AP (point d'accès)…");
Wifi.softap (SSID, mot de passe); / * ESP32 WiFi Réglage en mode point d'accès * /
IPaddress ip = wifi.softapip (); / * L'adresse IP est initialisée * /
En série.print ("AP IP Adresse:");
En série.println (ip); / * Imprimer l'adresse IP * /
serveur.commencer();

VOID LOOP ()
Client wificlient = serveur.disponible(); / * Vérifiez la demande des clients * /
if (client) / * condition pour vérifier le nouveau client * /
En série.println ("nouveau client.");
String currentLine = ""; / * chaîne pour maintenir les données * /
Pendant (client.Connected ()) / * Loop pour la connexion du client Contrôle * /
si (client.disponible ()) / * lire si les données disponibles * /
char C = client.lire();
En série.écrire (c);
en-tête + = c;
if (c == '\ n') / * si l'octet est un caractère newline * /
/ * Au cas où la ligne actuelle est vide, deux nouveaux caractères de ligne seront disponibles * /
/ * fin de demande http client * /
if (CurrentLine.longueur () == 0)
/ * Http commence par un code de réponse http / 1.1 200 ok * /
/ * et le type de contenu pour que le client sache ce qui arrive, puis une ligne vierge: * /
client.println ("http / 1.1 200 ok ");
client.println ("contenu-type: text / html");
client.println ("Connexion: fermeture");
client.println ();
/ * allume les gpios 25 activés et désactivés * /
si (en-tête.indexof ("get / 25 / on")> = 0)
En série.println ("gpio 25 on");
Outputgpio25 = "on";
DigitalWrite (Output_25, High);
sinon si (en-tête.indexof ("get / 25 / off")> = 0)
En série.println ("gpio 25 off");
OutputgPio25 = "OFF";
DigitalWrite (Output_25, Low);

/ * Code html pour le serveur * /
client.println ("");
client.println ("");
client.println ("");
/ * y compris le bouton CSS pour personnaliser * /
client.println ("html background-color: # c4ccc8; font-family: fantasy; affiche: bloc en ligne; marge: 0px auto; text-align: Center;");
client.println (".Bouton Background-Color: # 000000; Affichage: bloc en ligne; Border-Radius: 30px; Border: 2px Gris massif; Couleur blanche; rembourrage: 16px 40px; ");
client.println ("Text-Decoration: Aucun; Font-Size: 30px; marge: 2px; curseur: pointeur;");
client.println (".Button2 Background-Color: # f70d05; ");
/ * He-têtes de page Web * /
client.println ("

Serveur Web ESP32

");
client.println ("

Linuxhint.com

");
// Afficher l'état actuel et les boutons ON / OFF pour GPIO 25
client.println ("

GPIO 25 LED "+ OutputGpio25 +"

");
// Si le OutputGPIO25 est éteint, il affiche le bouton ON
if (outputgpio25 == "off")
client.println ("

/ 25 / on ">