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

Alexa-betriebener Weihnachtsbaum

Komponenten und Verbrauchsmaterialien

Amazon Alexa Amazon Echo
× 1
Arduino Yun
× 1
Jumper (generisch)
× 1
WS2811 LED-Strang
× 1

Über dieses Projekt

Hier finden Sie die Quellen eines benutzerdefinierten Alexa-Skills, der einen LED-Strang an einem Weihnachtsbaum steuert. Dieses Repository enthält:

  • Java-Code für eine AWS Lambda-Funktion, die der Endpunkt für den Alexa-Skill ist
  • Eine Arduino-Skizze, die sich zwischen AWS IoT und einem WS2811-LED-Strang befindet. Die Skizze ist für die Ausführung auf einem Arduino Yun optimiert.

Das Hardware-Setup

Wenn Sie mit Hilfe dieser Quellen Ihren eigenen Alexa-gesteuerten Weihnachtsbaum bauen möchten, benötigen Sie spezielle Hardware. Dieses Projekt verwendet die folgenden Komponenten:

  • 1 x Arduino Yun mit Linino OS
  • 2 x WS2811 LED-Strang mit je 50 LEDs
  • 3 x Überbrückungsdrähte
  • 1 x Netzteil und 2,1 mm x 5,5 mm DC-Anschluss
  • 1 x Micro-USB-zu-USB-Kabel
  • 1 x Amazon Echo oder Amazon Dot oder Amazon Tap

Die Softwarelösung

Die folgende Abbildung veranschaulicht einen typischen Roundtrip zur Bearbeitung einer Sprachbenutzeranfrage.

Die Lösung nutzt eine Reihe von AWS-Cloud-Services, um mit dem Hardware-Backend – dem Weihnachtsbaum – zu kommunizieren. Das einzige, was Sie wirklich einrichten müssen, ist die Lambda-Funktion, ein S3-Bucket mit den MP3-Dateien und eine IAM-Rolle mit AWS IoT- und Dynamo-Berechtigungen. Die Tabelle in Dynamo sowie der Ding-Schatten in AWS IoT werden beim ersten Skill-Aufruf im laufenden Betrieb erstellt.

Verstehen Sie, was bei einer Sprachbenutzeranfrage an ein Alexa-Gerät passiert:

  • Benutzer spricht mit Alexa mit " Öffne den Weihnachtsbaum " . ASR- und NLU-Magie geschieht im Alexa Cloud-Dienst.
  • Der in AWS Lambda gehostete Skillcode erhält eine Absicht. Den Code finden Sie in diesem Repo.
  • Wenn der Benutzer nur eine Aktion wie " . wünscht Schalte den Baum ein " oder " Starte die Show " Ohne dieser Fertigkeit eine Farbe für den Baum zu geben, sucht sie nach der zuletzt eingestellten Farbe in Dynamo DB. Wenn eine Farbe angegeben ist, behält die Fertigkeit die Informationen in derselben Tabelle bei. So merkt sich Alexa die zuletzt eingestellte Farbe des Baumes. Zweitens werden die Aktion und der Farbbefehl in AWS IoT in einen Ding-Schatten geschrieben.
  • Wenn der Shadow aktualisiert wird, wird eine MQTT-Nachricht dem Delta-Topic des entsprechenden Dings ausgesetzt. Das Arduino Yun hat dieses Thema abonniert. Randnotiz :Der Name des Dings, das durch den Skill-Code erstellt wird, entspricht der eingehenden Skill-ID (alle Punkte werden durch einen Bindestrich ersetzt). Dies könnte Ihnen helfen, wenn Sie das Projekt neu aufbauen möchten.
  • Der Arduino ruft das Delta-Thema ab und empfängt die Befehle als MQTT-Nachricht im JSON-Format. Die Informationen werden extrahiert und die Arduino-Skizze führt eine Aktion mit dem LED-Strang aus, die in der Nachricht angegeben ist (neue Farbe, Weihnachtsshow, an, aus).
  • Schließlich sendet der Arduino eine MQTT-Nachricht an das Update-Thema des AWS IoT-Dings, um die Welt darüber zu informieren, dass die Aktion ausgeführt wurde.
  • Die Nachricht wird vom AWS IoT-Service konsumiert und die enthaltenen Statusinformationen werden als gemeldet . in den Ding-Schatten zurückgeschrieben Zustand. Es wäre auch möglich, dass der Skill den letzten Baumstatus aus dem Ding-Schatten liest, anstatt ihn in Dynamo DB nachzuschlagen. Der Grund für diesen Fallback-Ansatz ist, dass MQTT asynchron ist und wir uns nicht darauf verlassen können, dass Arduino sofort reagiert.
  • Eigentlich erfolgt dieser Schritt direkt nach Schritt 3), da der Skill absichtlich vom Hardware-Backend entkoppelt ist. Direkt nach der Aktualisierung des Ding-Schattens in AWS IoT gibt der Skill-Code also den ausgegebenen Sprachtext und optional eine SSML . zurück mit Audioinhalten markieren. Die MP3s, die Teil der Wiedergabe von Alexa sind (Weihnachtsgeräusche), werden in einem AWS S3-Bucket gespeichert.
  • Alexa liest den von der Fertigkeit zurückgegebenen Text vor und gibt das Audio in der Antwort wieder.

Statusanzeige

Während Arduino seine Arbeit verrichtet, informiert es Sie über den aktuellen Zustand über die erste LED im Strang.

  • ein einmal rot blinkendes Licht weist auf einen Fehler bei der Einrichtung der AWS IoT-Verbindung hin
  • ein zweimal rot blinkendes Licht zeigt einen fehlgeschlagenen AWS IoT-Verbindungsversuch an
  • ein dreimal rotes Blinklicht zeigt eine fehlgeschlagene AWS IoT-Verbindungskonfiguration an
  • eine grüne Taschenlampe zeigt eine erfolgreiche Verbindung mit AWS IoT an
  • eine blaue Taschenlampe zeigt an, dass das AWS IoT-Thema ständig abgefragt wird
  • eine gelbe Taschenlampe weist auf einen Fehler beim Abfragen des AWS IoT-Themas hin

Beim Start sehen Sie möglicherweise rote Taschenlampen für die Zeit, die der Arduino benötigt, um sich mit dem WLAN zu verbinden. Wenn WLAN verbunden ist, gibt es die grüne Taschenlampe gefolgt von einem ständig blinkenden blauen Licht, um anzuzeigen, dass der Baum für Befehle bereit ist.

Wenn Gelb blinkt, konnte das AWS IoT-Thema nicht erreicht werden. Wenn dies passiert (z. B. Arduino hat die WLAN-Verbindung verloren), versucht es noch neun Mal, bis es automatisch versucht, die Verbindung wiederherzustellen. Das heißt, nach zehnmaliger gelber Taschenlampe sollte eine rote / grüne Taschenlampe für den Wiederverbindungsfortschritt angezeigt werden. Sobald sich der Arduino wieder mit dem WLAN verbindet und AWS IoT wieder erreicht ist, leuchten die blauen Taschenlampen auf.

Code

Alexa-betriebener Weihnachtsbaum
Hier finden Sie die Quellen eines benutzerdefinierten Alexa-Skills, der einen LED-Strang an einem Weihnachtsbaum steuert. Bearbeitenhttps://github.com/KayLerch/alexa-xmas-tree

Schaltpläne


Herstellungsprozess

  1. Geschenkpapier
  2. Neuer Weihnachtsmann-Helfer:Rolle des Internets der Dinge zu Weihnachten
  3. Dev-Kits beschleunigen die Alexa-Integration
  4. Ist 2017 das Jahr der Sprachschnittstelle?
  5. Amazon Alexa Steuern eines Chromecast
  6. MajorTom:Alexa Voice Controlled ARDrone 2.0
  7. Dieses weihnachtliche Dekorationshaus mit Weihnachtsbaum und Ornamenten aus Holz
  8. Was ist eine Fehlerbaumanalyse und wie man sie durchführt
  9. Aktivieren Sie die Alexa-Steuerung für Ihren Deckenventilator
  10. Weihnachtsstimmung bei Sure Controls