← Tous les articles Article de blog

J'ai transformé mon vieux ventilateur en ventilateur télécommandé (ESP8266 + Relais)

Viktoria Builds

Comment ajouter une télécommande Wi-Fi à un vieux ventilateur avec un ESP8266, un relais et un sketch HTTP simple.

Voir sur YouTube

J'avais un vieux ventilateur dans ma chambre depuis l'enfance — parfaitement fonctionnel, mais sans aucune télécommande. J'ai donc décidé de le transformer en ventilateur Wi-Fi que je peux allumer depuis mon téléphone sans quitter le canapé.

Liste des composants

  • ESP8266 (NodeMCU ou Wemos D1 Mini)
  • Module relais 5V
  • Vieux chargeur USB (comme source d'alimentation 5V)
  • Vieux ventilateur
  • Fer à souder + étain
  • Câble, gaine thermorétractable ou boîtier de câble

Démontage — la partie délicate

Ouvrir le ventilateur a été le premier défi. Trois vis sont sorties facilement, mais les deux autres étaient complètement abîmées — une sorte de tête inviolable que je n'avais jamais vue. Ma solution : marquer le centre de la vis avec un marqueur, chauffer le fer à souder et faire fondre juste assez de plastique autour pour la dévisser. Pas élégant, et surtout pas recommandé en espace fermé — les vapeurs de plastique fondu sont nocives. Ouvrez une fenêtre ou faites-le dehors.

Schéma et câblage

Le principe est simple : l'ESP8266 et le module relais ont besoin de 5V. Je les alimente via un vieux chargeur USB — ses fils phase et neutre se branchent sur le secteur, et la sortie 5V alimente l'ESP et le relais. Le contact normalement ouvert du relais est en série avec le fil neutre du ventilateur. Quand le relais s'enclenche, le ventilateur tourne ; quand il se relâche, il s'arrête.

  • Chargeur USB → phase & neutre → sortie 5V vers ESP8266 VIN & relais VCC
  • GPIO ESP8266 → entrée relais
  • NO relais → fil neutre du ventilateur (en série)

Après avoir soudé et isolé les connexions, j'ai vérifié la tension 5V au multimètre avant de continuer.

Le sketch

L'ESP8266 se connecte au routeur Wi-Fi de la maison et démarre un petit serveur HTTP. Une seule route — /toggle — bascule l'état du relais à chaque appel. C'est tout ce qu'il faut.

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

const char* ssid     = "VOTRE_RESEAU";
const char* password = "VOTRE_MOT_DE_PASSE";
const int   RELAY    = D1;

ESP8266WebServer server(80);
bool fanOn = false;

void handleToggle() {
  fanOn = !fanOn;
  digitalWrite(RELAY, fanOn ? HIGH : LOW);
  server.send(200, "text/plain", fanOn ? "ON" : "OFF");
}

void setup() {
  pinMode(RELAY, OUTPUT);
  digitalWrite(RELAY, LOW);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) delay(500);
  server.on("/toggle", handleToggle);
  server.begin();
}

void loop() {
  server.handleClient();
}

Le code source complet est sur GitHub : github.com/viktoriabuilds/ventilator

Interface téléphone

Un endpoint HTTP fonctionne, mais taper une adresse IP à chaque fois, c'est fastidieux. J'ai demandé à une IA de générer une page HTML minimale avec un seul bouton qui appelle la route /toggle. Enregistrée en fichier HTML, ouverte sur le téléphone — voilà. Une pression et le ventilateur répond immédiatement.

Résultat final

Après avoir remonté le ventilateur et fait un test final, tout fonctionnait parfaitement. Le ventilateur réagit instantanément au bouton, l'ESP8266 reste connecté de manière fiable et je n'ai pas eu à acheter un nouveau ventilateur connecté. Coût total : pratiquement zéro, tous les composants venaient de ma réserve de pièces. Maintenant je peux être encore plus paresseuse quand l'été arrivera.

Ce tutoriel t'a plu ?

Soutiens la chaîne sur Patreon et accède en avant-première aux projets, build logs et plus encore.

Soutenir sur Patreon →