LED-Lichter per Alexa mit Arduino Yún steuern – Smart-Home-Tutorial
Komponenten und Materialien
| Arduino Yún | 1 |
| Amazon Alexa Echo | 1 |
| LED (generisch) | 1 |
| Micro-SD-Karte | 1 |
Apps und Online-Dienste
- Amazon Web Services (AWS) IoT
- AWS Lambda
- Alexa Skills Kit
Projektüberblick
Dieses Projekt verbindet ein Arduino Yún Board mit einem Alexa Smart Home Skill (v3). Die Architektur besteht aus:
- Alexa Smart Home Skill (v3)
- AWS Lambda Funktion
- AWS IoT Thing (Thing Shadow)
- Arduino Yún, das die Thing-Shadow-Deltas abonniert
Das folgende Diagramm zeigt den Datenfluss beim Einschalten des Lichts:
Gehen Sie jeden Schritt einzeln an und testen Sie zwischendurch. Nichts ist übermäßig komplex, aber die vielen Verzweigungen können anfangs verwirren. Planen Sie pro Schritt ca. 1+ Stunden ein.
Schritt 1: Smart Home Skill & Lambda erstellen
Erstellen Sie einen Smart Home Skill und eine Lambda-Funktion und verknüpfen Sie beide. Folgen Sie dem offiziellen Tutorial – besonders den LWA-Schritten für Client-ID und Client-Secret. Nutzen Sie Python 2.7 (das Tutorial verwendet 3.6). Kopieren Sie nur den handle_discovery-Teil aus meiner Lambda-Funktion.
Erfolg: Im Alexa-Dashboard das neue Gerät erkennen („Discover“).
Schritt 2: AWS IoT Thing anlegen
Erstellen Sie ein IoT Thing gemäß AWS-Anleitung. Wir nutzen den Thing Shadow – eine Kopie des Gerätestatus plus gewünschte Änderungen. Der Arduino abonniert den Delta-Feed.
Laden Sie unter „Security“ öffentliche/private Keys, Zertifikat und Root-CA herunter und aktivieren Sie das Zertifikat. Im „Shadow“-Tab fügen Sie folgende Eigenschaft hinzu:
{ "reported": { "light": "on" } }
Schritt 3: Lambda mit Thing verbinden
Aktualisieren Sie den Lambda-Code so, dass er den Thing Shadow aktualisiert. Übernehmen Sie meinen vollständigen Lambda-Code, behalten Sie aber Ihre Discovery-Änderungen. Die IAM-Rolle der Lambda-Funktion benötigt AWSIoTFullAccess-Berechtigung.
Testen Sie in der Lambda-Konsole mit den Directives TurnOn und TurnOff (v3-JSON). Der Thing Shadow sollte den gewünschten Status widerspiegeln.
Schritt 4: Arduino Yún einrichten
Richten Sie die Yún-Hardware ein (offizieller Guide oder dieser Guide). Windows-Nutzer: SD-Karte als FAT32 formatieren (nicht exFAT). Ethernet-Verbindung erleichtert den ersten Zugriff auf die Upgrade-Seite; danach funktioniert WLAN.
Erfolgreich, wenn Sie per SSH auf die Yún zugreifen können (df -h zeigt die SD-Karte) und der Blink-Sketch läuft.
Schritt 5: Yún mit AWS IoT verbinden
Installieren Sie das AWS Arduino IoT SDK und führen Sie das ShadowThing-Beispiel aus (Datei → Beispiele → AWS-IoT-Arduino-Yun-Library). Bearbeiten Sie aws_iot_config.h mit Ihren Endpunkten und Zertifikatsnamen.
Serielle Ausgabe sollte erfolgreiche Verbindung anzeigen. Änderungen im IoT-Dashboard → Thing Shadow → Delta-Benachrichtigung im Serial Monitor.
Bei Problemen: Zertifikatspfade prüfen, Root-CA-Datei korrekt erstellt?
Schritt 6: Shadow-Änderungen auf Arduino verarbeiten
Kopieren Sie meinen Sketch (im Code-Bereich). Er basiert auf dem ThingShadow-Beispiel und reagiert speziell auf Änderungen des Keys light. Je nach Wert („on“/„off“) werden alle Pins im ledArray auf HIGH/LOW gesetzt. Pin 13 (Onboard-LED) ist enthalten – funktioniert also auch ohne externe LEDs.
Für einen LED-Würfel: Siehe dieses Projekt für Verdrahtung und Pin-Nummern im ledArray eintragen.
Schritt 7: Testen & Feiern
Fragen Sie Alexa, das benutzerdefinierte Gerät ein-/auszuschalten. Klappt es nicht, testen Sie über Lambda-Testfunktionen (mehr Debug-Info).
Geschafft! Arduinos können fast alles – jetzt per Sprachbefehl. Die IoT-Welt steht Ihnen offen.
Code
Lambda-Funktion (Python) und Arduino-Sketch (.ino/.h) sind als Gist verfügbar:
Herstellungsprozess
- Chromecast mit Amazon Alexa per Raspberry Pi und Python steuern
- Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
- Alexa-gesteuerter ARDrone 2.0: Sprachaktivierte Drohne mit Raspberry Pi & Hologram Nova
- Gesteuerter RGB-Tischlampe – Interaktive, berührungslose Beleuchtung
- MIDI-Keyboard zum smarten Klavierlehrer umbauen – Arduino, LEDs & MuseScore
- LEDs mit Alexa über Raspberry Pi steuern – Einfache Schritt-für-Schritt-Anleitung
- Altes RC-Auto per Xbox-Controller & Arduino zum Joystick-Fahrzeug umbauen
- Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
- Sprachgesteuerter Roboter mit Arduino Nano bauen
- Ethernet-gesteuerter Roboterarm: Fernsteuerung leicht gemacht