Serveur Web ESP32 utilisant l'IDE Arduino

Serveur Web Esp32 Utilisant L Ide Arduino



ESP32 est une carte microcontrôleur qui peut se connecter à plusieurs appareils à l'aide de ses broches GPIO. Il dispose d’un processeur dual-core avec interface Wi-Fi et Bluetooth intégrée. Ces deux fonctionnalités font de l'ESP32 une carte adaptée à la conception de projets IoT. L'une des principales caractéristiques de la carte ESP32 est sa capacité à se connecter au point d'accès existant. Non seulement cela, mais il peut également créer son point d'accès, afin que d'autres appareils puissent s'y connecter.

Dans cet article ESP32, nous explorerons comment connecter une carte ESP32 à un point d'accès et concevoir son serveur Web. En utilisant ce serveur Web, nous contrôlerons les LED et les appareils AC à l'aide d'un module relais.

Contenu:

1. Serveur Web ESP32

Le serveur Web dispose d'un programme spécial qui peut traiter et envoyer des pages Web aux clients Web. Pour ouvrir un site Web, nous utilisons un navigateur Web. Ce navigateur Web est également appelé client Web. Le site Web que vous souhaitez consulter est stocké sur un autre ordinateur appelé serveur Web.







Pour communiquer entre eux, le serveur Web et le client Web utilisent un langage commun appelé HTTP. Voici comment cela fonctionne : le client Web demande au serveur Web une page Web à l'aide d'une requête HTTP. Le serveur Web renvoie la page Web demandée. Si la page Web n'est pas présente, vous verrez un message d'erreur.



Dans ESP32, nous pouvons concevoir un serveur Web, car ESP32 peut non seulement se connecter à d'autres appareils sur un réseau, mais peut également créer son serveur Web et répondre aux requêtes reçues. Tout cela est possible car l'ESP32 peut fonctionner selon trois modes différents :



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

Vous pouvez consulter cet article pour avoir un aperçu des trois modes de l'ESP32 :





Comment définir un point d'accès (AP) ESP32 à l'aide de l'IDE Arduino

2. Comment créer un serveur Web ESP32 à l'aide de l'IDE Arduino

Pour créer un serveur Web ESP32 à l'aide de l'IDE Arduino, vous pouvez connecter l'ESP32 à un point d'accès et générer une adresse IP pour le serveur Web. Vous pouvez appliquer du HTML et du CSS pour concevoir l'interface de votre serveur.



Une fois que vous avez compris le fonctionnement du point d'accès ESP32, vous pouvez facilement concevoir un serveur Web ESP32 à l'aide du code Arduino IDE. Le code du serveur Web ESP32 utilise la bibliothèque Wi-Fi ESP32. Cela facilite notre travail, car cette bibliothèque contient toutes les fonctions importantes nécessaires pour connecter l'ESP32 à un point d'accès.

Concevons un serveur Web ESP32 à l'aide du code Arduino IDE.

3. Code du serveur Web ESP32

Le code du serveur Web ESP32 implique la connexion ESP32 avec le point d'accès et l'obtention de l'adresse IP du serveur. Une fois l'adresse IP obtenue, vous devez vous connecter au même réseau pour accéder au serveur Web ESP32. De là, vous pouvez contrôler les LED et autres appareils.

Ouvrez l'IDE Arduino et connectez-y votre carte ESP32 :

Installation de la carte ESP32 dans l'IDE Arduino

Une fois la carte ESP32 connectée, téléchargez le code suivant sur votre carte.

/***************

Linuxhint.com
Serveur Web ESP32 pour contrôler les LED

**************/
// Importer la bibliothèque pour Connexion Wifi
#include
// Entrez votre nom et votre mot de passe Wi-Fi
const char * sid = 'ESP32' ;
const char * mot de passe = '123456789' ;
// Choisissez le numéro de port pour le serveur web
Serveur WiFiServer ( 80 ) ;
// Créer une variable pour stocker la requête Web
En-tête de chaîne ;
// Créer des variables pour stocker l'état des sorties
Chaîne sortie26State = 'DÉSACTIVÉ' ;
Chaîne sortie27State = 'DÉSACTIVÉ' ;
// Attribuer les broches de sortie aux variables
const int sortie26 = 26 ;
const int sortie27 = 27 ;
currentTime long non signé = millis ( ) ;
non signé long previousTime = 0 ;
// Choisir la temps limite pour la demande Internet dans millisecondes
const long timeoutTime = 2000 ;
void setup ( ) {
Série.begin ( 115200 ) ;
// Définir les broches de sortie comme les sorties
mode pin ( sortie26, SORTIE ) ;
mode pin ( sortie27, SORTIE ) ;
// Éteignez les sorties
écriture numérique ( sortie 26, FAIBLE ) ;
écriture numérique ( sortie 27, FAIBLE ) ;
// Connectez-vous au réseau Wi-Fi
Serial.print ( 'Connexion à ' ) ;
Série.println ( sid ) ;
WiFi.commencer ( identifiant, mot de passe ) ;
// Attendez jusqu'à la connexion est établie
alors que ( Statut WiFi ( ) ! = WL_CONNECTÉ ) {
retard ( 500 ) ;
Serial.print ( '.' ) ;
}
Série.println ( '' ) ;
Série.println ( 'Wi-Fi connecté.' ) ;
Série.println ( 'Adresse IP: ' ) ;
Série.println ( WiFi.localIP ( ) ) ;
serveur.begin ( ) ;
}

boucle vide ( ) {
Client WiFiClient = serveur.disponible ( ) ; // Vérifier pour nouveaux clients
si ( client ) { // Si un client est connecté,
heure actuelle = millisecondes ( ) ;
heure précédente = heure actuelle ;
Série.println ( 'Nouvelle cliente.' ) ; // Notifier le port série
Chaîne CurrentLine = '' ; // Créer une chaîne pour stocker les données client
alors que ( client.connecté ( ) && heure actuelle - heure précédente = 0 ) {
Série.println ( 'GPIO 26 activé' ) ;
état de sortie26 = 'SUR' ;
écriture numérique ( sortie26, HAUTE ) ;
} autre si ( en-tête.indexOf ( 'OBTENEZ /26/de réduction' ) > = 0 ) {
Série.println ( 'GPIO 26 désactivé' ) ;
état de sortie26 = 'DÉSACTIVÉ' ;
écriture numérique ( sortie 26, FAIBLE ) ;
} autre si ( en-tête.indexOf ( 'OBTENIR /27/le' ) > = 0 ) {
Série.println ( 'GPIO 27 activé' ) ;
état de sortie27 = 'SUR' ;
écriture numérique ( sortie27, HAUTE ) ;
} autre si ( en-tête.indexOf ( 'OBTENEZ /27/de réduction' ) > = 0 ) {
Série.println ( 'GPIO 27 désactivé' ) ;
état de sortie27 = 'DÉSACTIVÉ' ;
écriture numérique ( sortie 27, FAIBLE ) ;
}

client.println ( '' ) ;
client.println ( ' 1 '>' ) ;
client.println ( '' ) ;
// CSS pour styliser les boutons
client.println ( '