RT Alexa Skill

Nach dem ich nun meinen zweiten Echo Dot mein eigen nennen kann, wollte ich auch mal einen Skill selber programmieren. Um den Einstieg leichter zu machen habe ich mir als erste Aufgabe die RT 42 Zeit vorgenommen. Die Idee, Alexa sagt mir die aktuelle Uhrzeit zur Basis 42 an.

Ich werde euch schrittweise meine Erfahrungen mit meinem ersten Alexa Skill als eine Art Tutorial zeigen.

Alexa Skill erstellen (Teil 1/2)

Als erstes wollen wir den Skill bauen. Dazu gehen wir auf die Seite https://developer.amazon.com/ und melden uns dort an. Falls ihr noch nicht registriert seid, könnt ihr das einfach mit eurem bestehenden Amazon Account machen.

https://developer.amazon.com/

Wenn ihr euch erfolgreich angemeldet habt, kommen wir zum erstellen des RT Skills.

Dashboard

Auf dem Dashboard müsst ihr den Reiter Alexa auswählen.

Alexa Reiter

Wir möchten einen Skill mit dem „Alex Skills Kit“ erstellen. Also wählen wir „Get started“ des „Alex Skills Kit“ aus.

Skill Informationen

Auf dem Reiter „Skill Informations“ müssen wir allgemeine Informationen für unseren Skill angeben:

  • Skill Type -> „Custom Interaction Model“
  • Language ->  German
  • Name -> Hier könnt ihr den Namen eintragen, der später im Skill-Store angezeigt werden soll
  • Invocation Name -> Hier müsst ihr eurer „Skill aktivierungs“-Wort eintragen. In meinem Fall ist das „r t“
  • Global Fields -> No

Next.

Interaction Model

Im Reiter „Interaction Model“ werden wir unseren Trigger (Intents) definieren. In meinem Beispiel werden keine zusätzlich gesprochenen Informationen (slots) weiter gegeben. Es werden lediglich Trigger Sätze definiert, die auf der anderen Seite (Lambda Funktion) entgegengenommen werden können.

  • Intent Schema -> Hier werden die Trigger definiert
  • Custom Slot Types -> Hier können eigene Slot Typen definiert werden, falls die Standard Typen nicht ausreichen sollten.
  • Sample Utterances -> Hier werden die Sätze festgelegt, mit dem die Trigger ausgelöst werden sollen

Next.

Skill Configuration

An dieser Stelle wechseln wir zur Amazon Console und erstellen eine AWS Lambda Funktion. Die hierbei entstehende ARN Nummer werden wir im „Skill Configuration“ Reiter später eintragen.

AWS Lambda Funktion erstellen

Genau wie beim Skill erstellen müsst ihr euch auch bei der Amazon Management Console anmelden (https://aws.amazon.com/de/console/). Lasst euch nicht abschrecken, wenn ihr eure Kreditkarten Daten eintragen müsst, die normalen Funktionen, die wir hier benutzen, sind alle umsonst.

https://aws.amazon.com/de/console/

Nach dem ihr euch angemeldet habt, könnt ihr oben rechts nach dem Lambda Service suchen.

Lambda Service Suche
Lambda Funktion erstellen

Nach dem ihr die Lambda – Service Seite aufgerufen habt, könnt ihr eine neue Funktion erstellen.

Trigger
Alexa Skill Trigger zuweisen

Als erstes müsst ihr der Lambda Funktion den Alex Skill Kit Trigger zuweisen.

Next.

Lambda Funktion Informationen

Hier könnt ihr Informationen zur Funktion eingeben. Um mein Beispiel zu benutzen, müsst ihr als Sprache Python 2.7 auswählen und den Source-Code in das vorgesehene Feld einfügen.

Lambda Funktion Informationen Rolle definieren

Eine wichtige Einstellung ist die Rolle, mir der ihr diese Funktion ausführen wollt. Falls ihr noch keine Rolle definiert habt, könnt ihr das mir der Einstellung „Create a custom role“. Hier einfach die wie folgt die Rolle erstellen:

Neue Rolle anlegen

Wenn ihr diese dann auswählt, könnt ihr die anderen Einstellung ignorieren und einen Schritt weiter gehen.

Lambda Funktion Informationen Zusammenfassung

Wenn die Zusammenfassung ungefähr so aussieht wie bei mir, seid ihr auf den richtigen Weg.

Fertige Funktion

Als letztes müssen wir noch die generierte ARN Nummer kopieren. (Oben rechts).

Alexa Skill erstellen (Teil 2/2)

Wechselt wieder zurück zur „Skill Erstellung“ und fügt die ARN Nummer im Reiter „Skill configuration“ ein. Next.

Ihr seid nun in der Lage mit dem Lambda Service über einen Sprachbefehl zu kommunizieren. Um das zu testen, könnte ihr im Reiter „Test“ einen der drei definierten Sätze im Feld „Enter Utterance “ eintippen und abschicken. Die Antwort müsste in etwa so aussehen.

Alexa Skill Test

Ich hoffe ihr seid bis hier gekommen und bekommt eine korrekte Antwort der Lambda-Funktion.

Wenn ihr jetzt euren Echo fragt „Alexa, frage r t nach der Uhrzeit“, wird dieser mit „Die aktuelle Uhrzeit lautet 4 6 @ L B Ü“ (Die Zeit ist natürlich dann eine andere bei euch) antworten.

Viel Spaß beim nachprogrammieren.

Ihr könnt wie immer sämtlichen Sourcecode auf Github finden.

Der RT42 Alexa Skill ist ab sofort auch online bei Amazon verfügbar. Einfach aktivieren und sich die aktuelle Uhrzeit ausgeben lassen.