Árbol de Navidad LED Controlado por Alexa: Guía DIY
Componentes y materiales
- Amazon Alexa (Echo, Dot o Tap) ×1
- Arduino Yun con Linino OS ×1
- Tira LED WS2811 (2 tiras de 50 LEDs cada una)
- Cables jumper (genéricos) ×3
- Adaptador de alimentación y conector DC 2.1 mm ×5.5 mm ×1
- Cable Micro-USB a USB ×1
Descripción del proyecto
Este proyecto muestra cómo construir un árbol de Navidad inteligente cuyas luces LED se controlan mediante comandos de voz a través de Alexa. El repositorio incluye:
- Código Java para una función AWS Lambda que actúa como endpoint de la skill de Alexa.
- Un sketch para Arduino Yun que comunica AWS IoT con la tira LED WS2811.
Configuración del hardware
Para replicar el proyecto necesitas los componentes listados arriba. El Arduino Yun se encarga de la conexión WiFi y la comunicación MQTT con AWS IoT, mientras que la tira LED WS2811 se alimenta mediante el adaptador de corriente.
Arquitectura de software
El flujo de una petición de voz es el siguiente:
- El usuario habla a Alexa (ej. “abre el árbol de Navidad”).
- El servicio de Alexa procesa el audio y envía la intención a la skill alojada en AWS Lambda.
- La skill consulta el último color guardado en DynamoDB (o usa el color indicado) y escribe la acción y el color en un thing shadow de AWS IoT.
- El Arduino Yun, suscrito al tema delta del thing shadow, recibe el comando vía MQTT.
- El sketch de Arduino ejecuta la acción (cambio de color, encendido/apagado, modo show) sobre la tira LED.
- Arduino publica un mensaje en el tema de actualización para reportar el estado.
- AWS IoT actualiza el reported state en el thing shadow.
- La skill devuelve texto de respuesta y, opcionalmente, etiquetas SSML con audio navideño almacenado en S3.
- Alexa reproduce la respuesta de voz y los sonidos.
Indicación de estado mediante el primer LED
- 1 parpadeo rojo: fallo en la configuración de conexión AWS IoT.
- 2 parpadeos rojos: intento de conexión fallido.
- 3 parpadeos rojos: error en la configuración de conexión.
- Destello verde: conexión exitosa a AWS IoT.
- Destello azul: sondeo constante al tema de AWS IoT.
- Destello amarillo: error al sondear el tema (p. ej., pérdida de WiFi).
Al inicio, verás parpadeos rojos mientras el Arduino conecta al WiFi. Una vez conectado, aparece el destello verde seguido de parpadeos azules indicando que el árbol está listo. Si ocurre un error amarillo, el sistema reintenta hasta 10 veces antes de intentar reconectar.
Código y recursos
El código completo (Java para Lambda, sketch para Arduino) está disponible en GitHub:
https://github.com/KayLerch/alexa-xmas-tree
Esquemáticos
El diagrama de conexiones se muestra en la imagen adjunta.
Proceso de manufactura
- Análisis de Árbol de Fallas (FTA): Propósito, Proceso e Implementación Práctica
- El Arte y la Industria del Papel de Regalo: De la Historia a la Producción
- Controla tu Chromecast con Amazon Alexa usando Raspberry Pi y Python
- Demo ARDrone 2.0 Controlado por Alexa: Dron Activado por Voz con Raspberry Pi y Hologram Nova
- Controla tu Ventilador de Techo con Alexa: Guía Paso a Paso
- Sensor 3D Inteligente: Control de Lámpara por Voz para Amazon Echo
- Esparciendo Alegría: El Espíritu Navideño y la Generosidad Comunitaria de Sure Controls
- Transforme su decoración navideña con el soporte de árbol entrelazado y adornos láser de OMNI CNC
- Por qué 2017 fue el año de las interfaces de voz
- Cómo IoT está transformando las operaciones de Santa esta Navidad
- Acelere Integración Alexa con Kits de Desarrollo y Diseños de Referencia