L'ESP32 est un microcontrôleur très populaire et polyvalent fabriqué par Espressif Systems. Il est doté de nombreuses fonctionnalités, notamment une connectivité Wi-Fi intégrée, ce qui en fait un choix populaire pour les projets IoT (Internet des objets), les systèmes embarqués et les projets électroniques nécessitant une communication sans fil.
Voici quelques points clés à connaître sur l'ESP32 et sa connexion Wi-Fi :
1- Connectivité Wi-Fi intégrée : L'ESP32 est équipé d'un module Wi-Fi intégré, ce qui signifie qu'il peut se connecter à des réseaux Wi-Fi existants pour la communication sans fil. Il prend en charge plusieurs modes Wi-Fi, notamment le mode station (STA) pour se connecter à un réseau Wi-Fi existant et le mode point d'accès (AP) pour créer son propre réseau Wi-Fi.
2- Utilisations courantes : En raison de sa connectivité Wi-Fi intégrée, l'ESP32 est couramment utilisé pour des projets tels que la surveillance à distance, la domotique, la collecte de données à partir de capteurs et leur transmission vers le cloud, la commande à distance d'appareils et bien plus encore.
3- Bibliothèques et outils : Il existe de nombreuses bibliothèques et outils disponibles pour l'ESP32 qui facilitent la configuration et l'utilisation de la connectivité Wi-Fi. Arduino IDE, PlatformIO et l'IDE officiel d'Espressif, ESP-IDF, sont quelques-uns des environnements de développement populaires pour programmer l'ESP32 en utilisant le Wi-Fi.
4- Sécurité Wi-Fi : L'ESP32 prend en charge des fonctionnalités de sécurité Wi-Fi, notamment le chiffrement WPA2/WPA3, ce qui signifie que vous pouvez sécuriser vos communications sans fil.
5- Consommation d'énergie : L'une des caractéristiques importantes de l'ESP32 est sa capacité à gérer efficacement la consommation d'énergie, ce qui en fait un choix approprié pour les projets alimentés par batterie. Vous pouvez mettre en veille ou désactiver le Wi-Fi lorsque vous n'en avez pas besoin pour économiser de l'énergie.
En résumé, l'ESP32 est une carte de développement puissante avec une connectivité Wi-Fi intégrée qui offre de nombreuses possibilités pour la création de projets IoT et sans fil. Sa flexibilité, ses performances et son faible coût en font un choix populaire pour les développeurs et les amateurs. Vous pouvez utiliser l'ESP32 pour créer des appareils connectés, des capteurs sans fil, des objets intelligents et bien d'autres applications.
Le serveur web pour la carte ESP32 est un programme ou un ensemble de fonctionnalités intégrées dans le microcontrôleur ESP32 qui lui permet de répondre aux requêtes HTTP, permettant ainsi de créer un serveur web embarqué.
Cela signifie que le microcontrôleur ESP32 peut être programmé pour agir en tant que serveur, recevant des demandes (comme accéder à une page web ou envoyer des données) depuis un navigateur web ou tout autre client HTTP, et répondre à ces demandes en conséquence.
En utilisant des bibliothèques telles que WiFi.h et WebServer.h dans l'environnement de développement Arduino, on peut configurer et gérer le serveur web sur la carte ESP32. Cela permet de créer des applications IoT (Internet des objets) où la carte ESP32 peut être contrôlée ou communique avec d'autres appareils via un navigateur web, une application mobile ou tout autre client HTTP.
Les fichiers boot.py et main.py sont deux fichiers importants dans le contexte d'une carte ESP32, qui est un microcontrôleur populaire pour les projets IoT (Internet des objets) et les applications embarquées. Voici leurs rôles respectifs :
1-boot.py :
- Ce fichier est exécuté dès que la carte ESP32 est alimentée ou redémarrée.
- Il est principalement utilisé pour initialiser des paramètres de bas niveau et configurer l'environnement d'exécution, comme l'initialisation de la communication série (UART) et la configuration des broches (pins) GPIO.
- Vous pouvez également y mettre des tâches de maintenance ou des paramètres de configuration critiques qui doivent être définis au démarrage.
2-main.py :
- Après que boot.py ait été exécuté, le fichier main.py est exécuté automatiquement, s'il est présent sur la carte.
- main.py est l'endroit où vous mettez généralement votre code principal pour votre projet. Il contient le programme principal que vous souhaitez exécuter sur votre ESP32.
- Vous pouvez y charger des bibliothèques, définir des fonctions, configurer des broches, et écrire votre logique de contrôle spécifique au projet.
- Il est important de noter que si vous ne créez pas un fichier main.py, l'ESP32 continuera à fonctionner normalement après l'exécution de boot.py, mais il n'exécutera aucun code utilisateur spécifique.
En résumé, boot.py est principalement utilisé pour la configuration de bas niveau et l'initialisation de l'environnement, tandis que main.py est le point d'entrée de votre programme utilisateur principal sur la carte ESP32. Vous pouvez personnaliser le comportement de votre carte en fonction de vos besoins en écrivant du code dans ces fichiers.
Pour utiliser le capteur DHT11 avec une carte ESP32, vous aurez besoin des éléments suivants :
Carte ESP32 :
L'ESP32 est un microcontrôleur à faible consommation d'énergie, doté de fonctionnalités Wi-Fi et Bluetooth intégrées. Il est largement utilisé dans le domaine de l'IoT (Internet des Objets), du développement de projets embarqués et dans d'autres applications nécessitant une connectivité sans fil et un traitement de données sur une petite échelle.
Capteur DHT11 :
Le capteur DHT11 est utilisé pour mesurer la température et l'humidité de l'environnement.
Fils de connexion :
Pour établir les connexions physiques entre la carte ESP32 et le capteur DHT11 Assurez-vous d'avoir des fils de bonne qualité pour des connexions stables.
Plaque d'essai (Breadboard) :
On utilise le plaque d'essai pour faciliter le câblage des différents composants.
Pour connecter le capteur DHT11 à une carte ESP32 :
Connecter la broche VCC(+) du capteur à la broche Broche 3.3V de la carte ESP32
Connecter la broche DATA du capteur à la broche GPIO23 de la carte ESP32
Connecter la broche GND(-) du capteurà la broche GND de la carte ESP32
Pour créer un serveur web avec MicroPython sur l'ESP32 afin de lire et envoyer la température et l'humidité via Wi-Fi en utilisant boot.py et main.py, suivez ces étapes:
1- Créez un fichier boot.py qui s'exécutera au démarrage de l'ESP32. Il peut être utilisé pour effectuer des configurations initiales. Par exemple:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
try: import usocket as socket except: import socket import network from machine import Pin import dht import esp esp.osdebug(None) import gc gc.collect() # Configurer le Wi-Fi ssid = 'HUAWEI Y5 2019' # Nom du point d'accès password = 'b582058c4d86' # Mot de passe du point d'accès station = network.WLAN(network.STA_IF) station.active(True) station.connect(ssid, password) while station.isconnected() == False: pass print('Connection successful') print(station.ifconfig()) # Configurer le capteur DHT11 dht_pin = dht.DHT11(Pin(23)) |
2- Créez un fichier main.py qui contient le code principal pour lire la température et l'humidité, ainsi que le serveur web. Par exemple:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
def web_page(): html = """<html><head> <title>ESP Web Server</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" href="data:,"> <style>html{font-family: Helvetica; display:inline-block; margin: 0px auto; text-align: center;} h1{color: #0F3376; padding: 2vh;}p{font-size: 1.5rem;}.button{display: inline-block; background-color: #009933; border: none; border-radius: 4px; color: white; padding: 16px 40px; text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;} .button2{background-color: #e7bd3b;} .button3{background-color: #ff0000;} .button4{background-color: #0014ff;}</style></head> <body> <h1>ESP Web Server</h1> <h2> Receive data from DHT11 sensor </h2> <p class="button button3">Temperature: """+str(temp)+""" <span>℃</span></p> <p class="button button4">Humidity: """+str(hum)+""" %</p></body></html>""" return html s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(('', 80)) s.listen(5) red_on=0 green_on=0 while True: conn, addr = s.accept() print('Got a connection from %s' % str(addr)) request = conn.recv(1024) request = str(request) print('Content = %s' % request) dht_pin.measure() temp = dht_pin.temperature() hum = dht_pin.humidity() response = web_page() conn.send('HTTP/1.1 200 OK\n') conn.send('Content-Type: text/html\n') conn.send('Connection: close\n\n') conn.sendall(response) conn.close() |
Exécution du code:
1- Enregistrez les fichiers boot.py et main.py sur votre ESP32.
2- Appuyer sur un bouton EN (Reset) de la carte ESP32 pour afficher l'adresse IP dans le console (exemple d'adresse IP est 192.168.1.75).
Maintenant, votre ESP32 devrait se connecter au Wi-Fi au démarrage et lancer un serveur web qui répondra aux requêtes GET avec les données de température et d'humidité.
Vous pouvez accéder à ces données en naviguant vers l'adresse IP de votre ESP32 depuis un navigateur web.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info