💡 LumiSetup : Ma lampe connectée (ESP8266 + PIR + WS2812B
Salut les makers ! Aujourd’hui je vous partage un projet que j’utilise au quotidien chez moi : LumiSetup. L’idée est simple : une lampe qui s’allume toute seule quand vous passez devant, mais seulement aux heures que vous avez choisies.
Le nécessaire
| Composant | Détails | Lien |
| ESP8266 NodeMCU | ESP-12E / ESP8266MOD | AliExpress |
| Capteur PIR | HC-SR501 (recommandé) | AliExpress |
| Ruban LED | WS2812B (30 LEDs/m) | AliExpress |
| Alimentation | 5V / 3A minimum(pour 40Led) | |
| Connecteur USB | Type-C femelle 2 broches | AliExpress |
⚠️ Je recommande le HC-SR501 plutôt que le SR505. Le SR505 est plus compact mais son temps de blocage interne (~8 secondes) est fixe et sans réglage. Le HC-SR501 a deux potentiomètres pour ajuster la sensibilité et le délai — beaucoup plus pratique.
Le câblage
Le montage est rapide, 3 fils par composant :
- Capteur PIR : VCC → 3.3V | GND → GND | OUT → D5 (GPIO14)
- LEDs WS2812B : DIN → D6 (GPIO12) | 5V → alimentation externe | GND → GND commun
- Alimentation 5V : + → VIN (NodeMCU) + 5V (LEDs) | − → GND commun
⚠️ Le GND doit être commun entre l'alimentation, le NodeMCU et les LEDs — sans ça, les LEDs ne fonctionneront pas correctement.
🔴 Le ruban WS2812B a un sens de branchement ! Connectez toujours sur l'extrémité DIN (indiquée par une flèche sur le ruban). Brancher sur l'autre côté = aucun signal.

Installation
Tout le code est disponible sur GitHub. Avant d’uploader, installez les librairies suivantes dans Arduino IDE :
| Librairie | Auteur | Source |
| FastLED | Daniel Garcia | Gestionnaire Arduino |
| ArduinoJson v6 | Benoit Blanchon | Gestionnaire Arduino |
| NTPClient | Fabrice Weinberg | Gestionnaire Arduino |
| ESPAsyncTCP | me-no-dev | GitHub (installer en premier) |
| ESPAsyncWebServer | me-no-dev | GitHub |
🚫 Ne pas installer WiFiManager — il entre en conflit avec ESPAsyncWebServer. Le portail WiFi est géré directement dans le code.
ℹ️ Dans Arduino IDE, sélectionnez NodeMCU 1.0 (ESP-12E Module) et réglez le Flash Size sur 4MB (FS:2MB). Sans ce réglage, LittleFS ne fonctionnera pas et vos paramètres ne seront pas sauvegardés.
Premier démarrage
- Branchez le NodeMCU.
- Connectez-vous au WiFi « LumiSetup » (mot de passe : lumi1234).
- Une page de configuration s’ouvre automatiquement — ou tapez 192.168.4.1 dans votre navigateur.
- Choisissez votre langue (FR/EN), entrez vos identifiants WiFi et validez.
- L’ESP redémarre et rejoint votre réseau. C’est tout !
Une fois connecté, accédez à l’interface via http://lumisetup.local depuis n’importe quel appareil sur votre réseau.
L’interface web
L’interface est disponible en français ou en anglais selon votre choix — et ce choix est mémorisé. Depuis celle-ci vous pouvez gérer :
- Mode AUTO : le PIR s’active uniquement dans la plage horaire configurée (ex : 22h–07h pour une veilleuse de nuit).
- Mode ON : les LEDs restent allumées en permanence.
- Override : force l’allumage à tout moment, hors plage ou hors durée.
- Couleur & intensité : pour une ambiance tamisée ou vive selon vos envies.
- Durée d’allumage : combien de secondes les LEDs restent allumées après une détection.
- Effet fondu : fade-in / fade-out pour une transition douce.

Les fichiers
Tout est disponible en open source sur GitHub — le code complet en fichier unique, le schéma de câblage, et les instructions d’installation complètes dans le README.
Soutenir le projet
Si mes tutos t’aident, tu peux m’offrir un petit café !
