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:
- Serveur Web ESP32
- Comment créer un serveur Web ESP32 à l'aide de l'IDE Arduino
- Code du serveur Web ESP32
- Adresse IP du serveur Web ESP32
- Contrôle des LED à l'aide du serveur Web ESP32
- Interface de bureau
- Interface mobile
- Contrôle des appareils AC à l'aide du serveur Web ESP32
- Conclusion
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 ( '