Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Animierter Smart-LED-Strip per Alexa steuern – Arduino-Projekt

Komponenten und Zubehör

KomponenteMengeHinweise
Arduino UNO (oder Nano/Mega)1Arduino Nano funktioniert ebenso; Mega für mehr LED-Pixel sinnvoll
Raspberry Pi 3 Model B1Für MQTT-Client und USB-Kommunikation mit Arduino
NeoPixel-Strip (WS2812/WS2812B)1Beliebige adressierbare RGB-LED-Strips nutzbar

Apps und Online-Dienste

Projektüberblick

Dieses Projekt ermöglicht die sprachgesteuerte Kontrolle eines adressierbaren RGB-LED-Strips über Amazon Alexa. Die Architektur besteht aus mehreren miteinander verbundenen Komponenten:

Systemarchitektur

Animierter Smart-LED-Strip per Alexa steuern – Arduino-Projekt

Zweiteiliger Aufbau

Das Projekt ist in zwei aufeinander aufbauende Phasen unterteilt:

Phase 1: Hardware-Grundlage (Web-Steuerung)

Basierend auf dem Hackster.io-Projekt „Web-Controlled LED Animations with Raspberry Pi and Arduino“ werden Raspberry Pi, Arduino und LED-Strip verbunden. Am Ende dieser Phase lässt sich der Strip über einen Webbrowser (Smartphone/PC) steuern.

Phase 2: Alexa-Integration (hier beschrieben)

Erweiterung um Sprachsteuerung über Amazon Alexa. Die folgenden Schritte sind sorgfältig auszuführen.

AWS IoT einrichten

IoT Thing erstellen

  1. Im AWS-Konsole anmelden (kostenloses Konto erstellen falls nötig).
  2. Region US East (N. Virginia) oder EU (Ireland) wählen.
  3. Service AWS IoT Core öffnen, „Get Started“ klicken.
  4. Sicherheitsrichtlinie erstellen: Secure → Policies → Create Policy
    • Name: LightStripPolicy
    • Action: *
    • Resource: *
    • Effect: Allow ✓
  5. Thing registrieren: Manage → Things → Register a Thing → Create a single thing
    • Name: LS01
    • One-click certificate creation → Zertifikate erstellen
    • Alle 3 Gerätezertifikate + Root CA herunterladen (Root CA: Rechtsklick → Speichern)
    • Zertifikate aktivieren, Policy LightStripPolicy anhängen, Thing registrieren
  6. WICHTIG: AWS IoT Endpoint notieren (Settings → Endpoint).

Raspberry Pi für MQTT konfigurieren

# AWS IoT Device SDK für Python installieren
sudo pip3 install AWSIoTPythonSDK

# Repository klonen
mkdir -p /home/pi/LightStrip
cd /home/pi/LightStrip
wget https://github.com/bportaluri/LightStrip/archive/master.zip
unzip master.zip

# Zertifikate in /home/pi/LightStrip/LightStrip-master/pi kopieren

# Konfiguration anpassen
cd /home/pi/LightStrip/LightStrip-master/pi
nano lightstripcfg.py

In lightstripcfg.py folgende Werte eintragen:

Skript starten (Arduino meist an /dev/ttyACM0):

sudo python3 lightstrip.py /dev/ttyACM0

Erfolgreiche Verbindung zeigt Bestätigung im Terminal. Test via AWS IoT Console: Thing LS01 → Shadow → Edit → JSON eingeben:

{ "desired": { "animation": "101" } }

Der Strip startet die Animation. Farbtest:

{ "desired": { "color": "0066CC" } }

AWS Lambda Funktion

  1. AWS Console → Lambda → Create Function → Author from scratch
  2. Name: LightStrip, Runtime: Python 3.6+
  3. Role: Custom Role → lambda_basic_execution erstellen
  4. Lambda ARN notieren (oben rechts)
  5. Code inline bearbeiten: Handler lambda_function.lambda_handler
  6. Inhalt von LightStrip/lambda/lambda_function.py und ala_controller.py aus GitHub-Repo einfügen
  7. Save klicken

Alexa Skill erstellen

  1. Amazon Developer Console → Alexa Skills Kit → Add a New Skill
  2. Skill Information:
    • Type: Custom Interaction Model
    • Language: English (U.S.) / Deutsch (optional)
    • Name: LightStrip
    • Invocation Name: light strip
  3. Interaction Model → Launch Skill Builder → Code Editor → Inhalt von LightStrip/alexaskill/lightstrip_skill.json einfügen → Save Model → Build Model
  4. Configuration → Service Endpoint: AWS Lambda ARN → Lambda ARN eintragen → Save

Skill mit Lambda verknüpfen

  1. Zurück zur Lambda-Funktion → Triggers → Alexa Skills Kit hinzufügen
  2. Application Id = Skill ID aus Developer Console → Add → Save

Fertig! Sprachbefehle testen

Erweiterte Interaktion

Du: Alexa, open Light Strip
Alexa: Welcome to LightStrip – LED leuchtet blau
Du: Launch an animation
Alexa: Relaxing or exciting?
Du: Relaxing
Alexa: OK – Zufällige Animation startet
Du: Next animation
Alexa: OK – Nächste Animation

Verbesserungen & Tipps

Autostart beim Boot

lightstrip.py als Systemd-Service oder via crontab @reboot automatisch starten.

Animationen anpassen

In ala_controller.py (ca. Zeile 80) sind 20 Animationen definiert. Eigene Animationen lassen sich durch Anpassung von Preset, Farbpalette und Geschwindigkeit einfach hinzufügen.

Quellcode & Ressourcen

Gesamter Code auf GitHub: https://github.com/bportaluri/LightStrip

Schaltplan

Animierter Smart-LED-Strip per Alexa steuern – Arduino-Projekt

Herstellungsprozess

  1. Arduino Nano Flight Simulator 2020 Kontrollpanel – LCD & CDI Display
  2. Arduino-basiertes Schalter- & LED-Panel für Microsoft Flight Simulator 2020
  3. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  4. Intelligente selbstschnürende Schuhe mit integrierter Energiegewinnung
  5. Intelligenten Arduino-Vierbeiner-Roboter bauen: Schritt-für-Schritt-Anleitung
  6. Arduino & MPU6050: Präzise Servomotor-Steuerung mit SG90 & MG996R
  7. Stufenlose LED-Helligkeitssteuerung mit Bolt IoT und Arduino UNO
  8. u-blox LEA-6H 02 GPS-Modul: Arduino & Python Integrationsanleitung
  9. Intelligenter Arduino-Roboterarm bauen: Einfaches DIY-Tutorial
  10. Spracherkennung & Sprachsynthese auf Arduino Due meistern