Un module Wi-Fi est conçu pour fournir une interface sans fil à un appareil, lui
permettant de se connecter à des réseaux Wi-Fi. Ces modules fonctionnent sur la base de la
norme IEEE 802.11, qui définit les protocoles de communication pour les réseaux locaux sans
fil (WLAN).
Le *module Wi-Fi permet à l’Arduino de se connecter à un réseau sans fil pour recevoir des
commandes ou envoyer des données à distance.
Principe de fonctionnement
1. Connexion au réseau Wi-Fi
Le module se connecte à un routeur via SSID et mot de passe.
2. Communication avec Arduino
Il échange des données avec l’Arduino via UART (TX/RX) ou intégré s’il s’agit d’un
ESP32.
3. Serveur Web ou MQTT
Il peut héberger une page web (interface de commande) ou utiliser un protocole comme
MQTT pour recevoir des instructions depuis un smartphone ou PC.
4. Action sur les équipements
En fonction des commandes reçues (ex. clic sur ON/OFF), l’Arduino active les relais pour
démarrer ou arrêter les pompes, vanne ou moteur.
5. Réponse
L’Arduino peut aussi envoyer une confirmation ou des données de retour via le module Wi-
Fi.
Schema general du système
Diagraramme fonctionnel du système
Programmation du système
```cpp
#include <SoftwareSerial.h>
// Définition des broches
#define POMPE1 2
#define POMPE2 3
#define POMPE3 4
#define POMPE4 5
#define VANNE 6
#define MOTEUR 7
SoftwareSerial sim800(10, 11); // RX, TX pour GSM
void setup() {
[Link](9600); // Wi-Fi (ESP en mode AT ou via autre interface)
[Link](9600); // GSM module
pinMode(POMPE1, OUTPUT);
pinMode(POMPE2, OUTPUT);
pinMode(POMPE3, OUTPUT);
pinMode(POMPE4, OUTPUT);
pinMode(VANNE, OUTPUT);
pinMode(MOTEUR, OUTPUT);
// Éteindre tout au départ
digitalWrite(POMPE1, LOW);
digitalWrite(POMPE2, LOW);
digitalWrite(POMPE3, LOW);
digitalWrite(POMPE4, LOW);
digitalWrite(VANNE, LOW);
digitalWrite(MOTEUR, LOW);
}
void loop() {
if ([Link]()) {
char cmd = [Link](); // Commande reçue du Wi-Fi
switch (cmd) {
case '1': digitalWrite(POMPE1, HIGH); break;
case '2': digitalWrite(POMPE2, HIGH); break;
case '3': digitalWrite(POMPE3, HIGH); break;
case '4': digitalWrite(POMPE4, HIGH); break;
William agusha, [28/07/2025 09:56]
case 'V': digitalWrite(VANNE, HIGH); break;
case 'M': digitalWrite(MOTEUR, HIGH); break;
case 'X': // Simulation panne
[Link]("ATD+243XXXXXXXXX;"); // Appel GSM
delay(10000);
[Link]("ATH"); // Raccrocher
break;
default: break;
}
}
}