Sapin de Noël à LED piloté par Alexa : Guide DIY complet
Composants et fournitures
| Composant | Quantité |
|---|---|
| Amazon Echo (Alexa) | 1 |
| Arduino Yun | 1 |
| Fil de câblage (genérique) | 1 |
| Bande LED WS2811 (50 LED × 2) | 2 |
| Alimentation 5V + connecteur DC 2.1×5.5 mm | 1 |
| Câble Micro-USB vers USB | 1 |
À propos du projet
Ce projet open-source permet de contrôler une guirlande LED WS2811 sur un sapin de Noël via commandes vocales Alexa. Le dépôt GitHub contient :
- Le code Java d'une fonction AWS Lambda servant d'endpoint pour la skill Alexa
- Un sketch Arduino optimisé pour l'Arduino Yun, faisant l'interface entre AWS IoT et la bande LED WS2811
Configuration matérielle
Pour reproduire ce projet, vous aurez besoin du matériel suivant :
- 1 × Arduino Yun avec Linino OS
- 2 × Bandes LED WS2811 (50 LED chacune)
- 3 × Fils de câblage
- 1 × Alimentation 5V avec connecteur DC 2.1×5.5 mm
- 1 × Câble Micro-USB vers USB
- 1 × Amazon Echo, Dot ou Tap
Architecture logicielle

La solution s'appuie sur plusieurs services AWS pour relier la commande vocale au matériel :
- AWS Lambda : héberge le code de la skill Alexa
- AWS IoT Core : gère le "device shadow" (jumeau numérique) pour l'échange de messages MQTT
- Amazon DynamoDB : persiste la dernière couleur choisie
- Amazon S3 : stocke les fichiers MP3 (sons de Noël) pour la réponse Alexa
- IAM Role : permissions pour IoT et DynamoDB
Flux d'une commande vocale
- L'utilisateur dit :
"Alexa, ouvre le sapin de Noël"ou"allume le sapin". Le service Alexa (ASR/NLU) transforme la voix en intent. - L'intent est transmis au code de la skill hébergé dans Lambda.
- Si l'utilisateur ne précise pas de couleur, la skill récupère la dernière couleur enregistrée dans DynamoDB. Si une couleur est donnée, elle est persistée. L'action + la couleur sont écrites dans le device shadow AWS IoT.
- La mise à jour du shadow publie un message MQTT sur le topic
$aws/things/{thingName}/shadow/update/delta. L'Arduino Yun, abonné à ce topic, reçoit la commande JSON. - L'Arduino extrait les informations (couleur, animation, on/off) et pilote la bande WS2811 en conséquence.
- L'Arduino publie un message de confirmation sur le topic
updatedu shadow, mettant à jour l'état reported. - La skill Alexa, découplée du matériel, répond immédiatement avec du texte (SSML) et lance la lecture audio (MP3 depuis S3).
- Alexa lit la réponse et joue le son de Noël.
Note : Le nom du "thing" AWS IoT est généré automatiquement à partir du skill-id (points remplacés par des tirets).
Indication d'état via la première LED
La première LED de la bande sert d'indicateur visuel :
- 1 clignotement rouge : échec de configuration de la connexion AWS IoT
- 2 clignotements rouges : échec de tentative de connexion AWS IoT
- 3 clignotements rouges : échec de configuration de la connexion
- Flash vert : connexion AWS IoT réussie
- Flash bleu clignotant : interrogation (polling) constante du topic AWS IoT
- Flash jaune : erreur lors du polling du topic AWS IoT
Au démarrage, des flashes rouges peuvent apparaître le temps de la connexion Wi-Fi. Une fois connecté : flash vert puis bleu clignotant = prêt. Si jaune clignote (perte Wi-Fi), l'Arduino réessaie 10 fois avant de tenter une reconnexion complète (rouge/vert puis bleu).
Code source
Disponible sur GitHub : KayLerch/alexa-xmas-tree
Schémas

Processus de fabrication
- L'art et l'industrie du papier cadeau : de l'histoire à la production
- Comment l'IoT transforme les opérations du Père Noël ce Noël
- Accélérer l'intégration d'Alexa avec les kits de développement et designs de référence
- Pourquoi 2017 est devenue l'année des interfaces vocales
- Contrôler votre Chromecast avec Amazon Alexa via un Raspberry Pi et Python
- Démo ARDrone 2.0 contrôlé par Alexa : Drone activé vocalement avec Raspberry Pi & Hologram Nova
- Transformez votre décoration de fêtes avec le sapin interlocking et ornements laser OMNI CNC
- Analyse par arbre de défaillance (FTA) : Objectif, processus et mise en œuvre pratique
- Partager la joie : l'esprit de Noël et l'engagement communautaire de Sure Controls