Le Wi-Fi est une technologie de communication sans fil qui permet de relier des appareils électroniques entre eux et à un réseau local (LAN) ou à Internet. Il permet aux appareils tels que des ordinateurs, des smartphones, des tablettes, des imprimantes, des objets connectés et bien d'autres, de se connecter à un réseau informatique et de communiquer les uns avec les autres sans avoir besoin de câbles physiques.
Le Wi-Fi utilise des ondes radioélectriques pour transmettre des données entre les appareils, généralement dans la plage de fréquences de 2,4 GHz ou 5 GHz.
Le Wi-Fi joue un rôle essentiel dans la robotique en permettant la communication sans fil entre les robots et d'autres appareils, tels que les ordinateurs, les smartphones et les serveurs. Voici quelques-uns des principaux rôles du Wi-Fi dans la robotique :
Communication à distance : Le Wi-Fi permet aux robots de communiquer avec des opérateurs humains ou d'autres systèmes à distance. Cela peut être utile dans des applications telles que la télésurveillance, la téléopération et la maintenance à distance.
Contrôle et programmation : Les robots peuvent être programmés et contrôlés via une connexion Wi-Fi, ce qui permet aux développeurs de télécharger des mises à jour logicielles, de modifier les comportements des robots et de surveiller leur performance en temps réel.
Collecte de données : Les robots peuvent utiliser le Wi-Fi pour collecter des données à partir de capteurs et d'autres sources d'information. Ces données peuvent être transmises à des serveurs distants pour l'analyse et le traitement.
Partage d'informations entre robots : Dans les environnements où plusieurs robots travaillent ensemble, le Wi-Fi permet aux robots de partager des informations, de coordonner leurs mouvements et de collaborer efficacement.
Accès à des ressources cloud : Le Wi-Fi permet aux robots d'accéder à des ressources cloud, telles que des modèles d'apprentissage automatique, des cartes et des bases de données, ce qui peut améliorer leurs capacités cognitives et leur prise de décision.
Mises à jour en temps réel : Les robots peuvent recevoir des mises à jour logicielles en temps réel via Wi-Fi, ce qui leur permet de s'adapter à de nouvelles situations et de corriger d'éventuelles erreurs sans nécessiter de révision matérielle.
Téléchargement de cartes et de données : Les robots mobiles peuvent télécharger des cartes, des images satellites et d'autres données utiles via Wi-Fi pour la navigation, la cartographie et la planification de trajets.
Interactions avec des périphériques intelligents : Les robots peuvent se connecter à des périphériques intelligents tels que des caméras, des capteurs de détection, des microphones, des haut-parleurs, etc., via Wi-Fi pour augmenter leurs capacités sensorielles et de communication.
La carte ESP32 est une carte de développement populaire qui intègre un microcontrôleur basé sur l'architecture Xtensa LX6 de Tensilica. Elle est largement utilisée pour le développement de projets IoT (Internet des objets) en raison de sa puissance de traitement, de ses capacités sans fil, notamment le Wi-Fi, et de sa polyvalence. Voici comment la carte ESP32 est associée au Wi-Fi :
Wi-Fi intégré : L'ESP32 intègre un module Wi-Fi qui permet à la carte de se connecter à des réseaux sans fil. Cela signifie que vous pouvez utiliser l'ESP32 pour créer des appareils connectés à Internet, pour la surveillance à distance, la collecte de données en temps réel, la commande à distance, et bien d'autres applications.
Support pour différentes normes Wi-Fi : L'ESP32 prend en charge différentes normes Wi-Fi, y compris les normes 802.11 b/g/n, ce qui signifie qu'il peut se connecter à une variété de réseaux Wi-Fi, y compris ceux qui sont couramment utilisés dans les environnements domestiques et professionnels.
Stack logiciel Wi-Fi : L'ESP32 est fourni avec un stack logiciel Wi-Fi complet qui facilite la configuration, la gestion et la communication sur des réseaux Wi-Fi. Vous pouvez configurer des réseaux Wi-Fi, établir des connexions sécurisées, et transférer des données via le Wi-Fi à l'aide de bibliothèques de programmation compatibles.
Mode d'accès en point d'accès (AP) : L'ESP32 peut également fonctionner en mode point d'accès, ce qui signifie qu'il peut créer son propre réseau Wi-Fi, permettant à d'autres appareils de s'y connecter. Cela est utile lorsque l'ESP32 agit comme un serveur ou une interface de configuration pour d'autres dispositifs.
Sécurité Wi-Fi : L'ESP32 prend en charge diverses méthodes de sécurité Wi-Fi, telles que WPA2-PSK, WPA2-Enterprise, et la sécurité WEP, pour garantir que les communications sans fil sont sécurisées.
Créer un serveur web avec une carte ESP32 est une tâche courante dans de nombreux projets IoT. Vous pouvez utiliser l'ESP32 pour créer un serveur web qui peut afficher des pages web, gérer des requêtes HTTP et interagir avec d'autres appareils ou services sur votre réseau local. Voici les étapes de base pour créer un serveur web avec une carte ESP32 :
1- Configuration de l'environnement de développement :
Assurez-vous d'avoir un environnement de développement tel que Thonny configuré pour travailler avec l'ESP32. Vous devrez également installer les bibliothèques ESP32 nécessaires.
2- Inclure les bibliothèques nécessaires :
Pour créer un serveur web, vous devrez inclure les bibliothèques WiFi et WebServer dans votre code. Voici comment le faire en utilisant le Micropython:
Importez les modules network et ure pour gérer la connexion Wi-Fi, et le module usocket pour créer un serveur socket.
Le serveur web avec une carte ESP32 et MicroPython est un excellent moyen de créer des applications IoT (Internet des objets) qui peuvent être contrôlées et surveillées à distance via un navigateur web. Voici les étapes de base pour créer un serveur web avec une carte ESP32 et MicroPython :
Matériel requis :
- Carte ESP32
- Câble USB pour la programmation
- Accès à un réseau Wi-Fi
Étapes à suivre :
1- Installer MicroPython sur la carte ESP32 :
- Téléchargez la dernière version de MicroPython pour ESP32 depuis le site officiel de MicroPython.
- Utilisez un outil comme esptool pour flasher le firmware MicroPython sur votre carte ESP32.
2- Se connecter au port série :
Utilisez un terminal série (par exemple, PuTTY, Minicom, ou l'outil de terminal intégré de l'IDE Thonny) pour vous connecter au port série de la carte ESP32. Vous devrez connaître le port COM ou /dev/tty de votre carte.
3- Écrire le code du serveur web :
- Vous pouvez écrire le code pour votre serveur web directement depuis le terminal série ou en utilisant un éditeur de texte comme Thonny.
- Voici un exemple simple de code pour un serveur web minimal :
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 |
import network import usocket as socket # Configurer la connexion Wi-Fi ssid = 'VotreSSID' password = 'VotreMotDePasse' sta_if = network.WLAN(network.STA_IF) sta_if.active(True) sta_if.connect(ssid, password) # Attendre que la connexion Wi-Fi soit établie while not sta_if.isconnected(): pass # Définir la fonction de gestion de la requête HTTP def handle_request(client_socket): request = client_socket.recv(1024) print("Requête reçue:") print(request) response = "HTTP/1.1 200 OK\nContent-Type: text/html\n\nHello, ESP32!" client_socket.send(response) client_socket.close() # Configurer le serveur web addr = ('0.0.0.0', 80) s = socket.socket() s.bind(addr) s.listen(1) print("Serveur web en cours d'exécution sur http://0.0.0.0:80") while True: client, addr = s.accept() handle_request(client) |
4- Exécuter le code sur l'ESP32 :
- Enregistrez le code dans un fichier avec l'extension .py (par exemple, main.py).
- Transférez le fichier sur la carte ESP32 à l'aide d'un outil de transfert de fichiers comme Ampy ou WebREPL.
- Une fois le fichier transféré, il devrait être exécuté automatiquement.
5- Accéder au serveur web :
- Connectez-vous au même réseau Wi-Fi que votre ESP32.
- Ouvrez un navigateur web et accédez à l'adresse IP de l'ESP32 (vous pouvez la trouver dans la sortie du terminal série).
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 contrôler le module LED RGB par les boutons poussoirs vous aurez besoin des composants suivants :
1- Carte ESP32 :
La carte ESP32 est un microcontrôleur basé sur le système sur puce (SoC) ESP32, développé par Espressif Systems. L'ESP32 est une plate-forme matérielle populaire pour le développement de projets IoT (Internet des objets) en raison de sa puissance de traitement, de sa connectivité sans fil intégrée et de sa polyvalence.
2- Module LED RGB
Vous aurez besoin d'un module LED RGB. Ces modules sont généralement composés de plusieurs LED (une rouge, une verte et une bleue) intégrées dans un seul boîtier.
3- Breadboard (Plaque d'essai) :
Une breadboard est utile pour créer un circuit temporaire et connecter facilement les composants entre eux.
4- Fils de connexion :
Des fils de connexion sont nécessaires pour relier les différents composants ensemble, tels que la connexion entre la carte ESP32 et le module LED RGB.
Le montage de la carte ESP32 avec un module LED RGB est assez simple et nécessite quelques composants de base. Voici comment vous pouvez connecter un module LED RGB à une carte ESP32 :
Étapes du montage :
1- Connectez la carte ESP32 à votre ordinateur à l'aide du câble USB.
2- Prenez le module LED RGB. Il a quatre broches : une pour la masse et trois pour les couleurs rouge, verte et bleue. Les broches peuvent être étiquetées comme R, G, B, et GND . Utilisez les fils de raccordement pour connecter le module LED RGB à la carte ESP32 :
- Connectez la broche R (rouge) du module LED RGB à la broche GPIO23 de la carte ESP32.
- Connectez la broche G (verte) du module LED RGB à la broche GPIO22 de la carte ESP32.
- Connectez la broche B (bleue) du module LED RGB à la broche GPIO21 de la carte ESP32.
- Connectez la broche GND du module LED RGB à la broche GND de la carte ESP32.
Pour contrôler un module LED RGB avec un ESP32 en utilisant MicroPython via le Wi-Fi, vous devrez suivre plusieurs étapes. Voici un exemple de code pour allumer un module LED RGB à l'aide de MicroPython et le contrôler via une interface Web via Wi-Fi. Assurez-vous d'avoir MicroPython installé sur votre ESP32.
1- Connexion à un réseau Wi-Fi :
Avant de contrôler le module LED RGB via Wi-Fi, assurez-vous que votre ESP32 est connecté à votre réseau Wi-Fi. Vous devrez configurer les paramètres Wi-Fi en fonction de votre réseau: modifiez le fichier boot.py pour configurer la connexion Wi-Fi au démarrage. Le fichier boot.py
est exécuté automatiquement au démarrage de l'ESP32.
Voici un exemple de contenu pour boot.py:
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 |
# Complete project details at https://RandomNerdTutorials.com try: import usocket as socket except: import socket from machine import Pin import network import esp esp.osdebug(None) import gc gc.collect() ssid = 'HUAWEI Y5 2019' password = 'b582058c4d86' station = network.WLAN(network.STA_IF) station.active(True) station.connect(ssid, password) while station.isconnected() == False: pass print('Connection successful') print(station.ifconfig()) red_led = Pin(23, Pin.OUT) green_led = Pin(22, Pin.OUT) blue_led=Pin(21,Pin.OUT) |
2- Configurer le serveur Web :
Vous pouvez utiliser le micro-framework WebREPL pour créer un serveur Web minimal pour contrôler le module LED RGB: Créez le fichier main.py pour contrôler le module LED RGB et le serveur web.
Voici un exemple de contenu pour main.py :
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
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;}</style></head> <body> <h1>ESP Web Server</h1> <p><a href="/?led=green"><button class="button">Green LED</button></a></p> <p><a href="/?led=blue"><button class="button button2">Blue LED</button></a></p> <p><a href="/?led=red"><button class="button button3">Red LED</button></a></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 blue_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) red = request.find('/?led=red') green = request.find('/?led=green') blue = request.find('/?led=blue') if red == 6: # si on appuie sur le bouton rouge if red_on==0: print('RED') red_led.value(1) # allumer LED rouge red_on=1 else: red_on=0 red_led.value(0) # éteindre LED rouge if green == 6: # si on appuie sur le bouton vert if green_on==0: print('green') green_led.value(1) # allumer LED verte green_on=1 else: green_led.value(0) # éteindre LED verte green_on=0 if blue == 6: # si on appuie sur le bouton bleu if blue_on==0: print('blue') blue_led.value(1) # allumer LED bleue blue_on=1 else: blue_led.value(0) # éteindre LED bleue blue_on=0 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() |
3- Exécution du serveur Web :
Vous pouvez maintenant exécuter le serveur Web pour contrôler le module LED RGB. L'ESP32 écoutera les demandes HTTP et activera ou désactivera le module LED en conséquence.
4- Contrôle via une interface Web :
Ouvrez un navigateur Web et accédez à l'adresse IP de votre ESP32 pour contrôler le module LED RGB via l'interface 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