Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Hallo, heute zeige ich dir, wie du mit Cloud9 deinen eigenen Amazon Alexa Skill erstellen kannst. Für diejenigen unter Ihnen, die es nicht wissen, Cloud9 ist eine Online-IDE, die viele verschiedene Sprachen unterstützt und hundertprozentig kostenlos ist - keine Kreditkarte erforderlich. Ein Alexa-Skill ist wie eine App, aber für Alexa-Geräte.
Ich habe Programmieren und Sprachassistenten schon immer geliebt, aber erst vor kurzem mit der Programmierung des Amazon Echo begonnen. Meine Probleme sind, dass ich nicht viel von node.js kenne, also werde ich für dieses Tutorial in Python programmieren und als Sekundarschüler habe ich keine Kreditkarte, was bedeutet, dass ich AWS lamda nicht verwenden kann. Ich habe dieses Problem mit Cloud9 gelöst.
Ich hoffe, Sie genießen dieses Tutorial. Wenn Sie irgendwo stecken bleiben, probieren Sie die Bilder aus, da ich versucht habe, Hinweise an den richtigen Stellen hinzuzufügen, und wenn Sie immer noch nicht weiterkommen, können Sie gerne eine Frage oder einen Kommentar hinzufügen.
(Danke an HeikoAL auf Pixabay für das Titelbild)
Schritt 1: Melden Sie sich bei Cloud9 und der Amazon-Entwicklerkonsole an
Um unseren Skill zu erstellen, müssen wir die Hauptlogik für den Skill in Python auf Cloud9 und die Art und Weise, wie er mit Alexa in der Amazon Developer Console integriert wird, erstellen.
1. Wolke9
Sie werden höchstwahrscheinlich bereits ein Cloud9-Konto benötigen, damit dies funktioniert, da Amazon kürzlich Cloud9 übernommen und in AWS integriert hat. Es scheint jedoch möglich zu sein, sich mit Github, Bitbucket oder Google auf der alten Plattform anzumelden, was wir benötigen tun.
Besuchen Sie diese Website: https://c9.io/login und melden Sie sich an.
2. Amazon-Entwicklerkonsole
Besuchen Sie jetzt https://developer.amazon.com und melden Sie sich oben rechts an. Klicken Sie nun oben rechts auf Alexa und dann auf Ihre Alexa-Dashboards. Sie sollten einen älter aussehenden Bildschirm wie den oben rechts sehen. Wir müssen jetzt im Feld Alexa Skills Kit auf Get Started klicken.
Schritt 2: Einrichten des Alexa Skills in der Amazon Dev Console
Jetzt richten wir den Skill auf dem Amazon-Server ein. Wenn Sie bereits wissen, wie das geht, müssen Sie dies nicht lesen und können mit dem nächsten Schritt fortfahren.
Klicken Sie auf Neue Fähigkeit hinzufügen und Sie sollten einen Bildschirm wie den obigen sehen.
In den Optionsfeldern oben sollten wir Benutzerdefiniertes Interaktionsmodell auswählen
Wählen Sie nun die Sprache Ihres Skills. Es ist wichtig, Englisch UK zu wählen, wenn Ihr Amazon-Konto eine britische Adresse hat, da das Testen auf einem echten Echogerät nicht funktioniert, wenn Sie US wählen. Es kann jedoch immer noch auf Echoism funktionieren.
Jetzt sollten Sie den Namen und den Aufrufnamen Ihres Skills eingeben. Ich würde empfehlen, dass diese aus Gründen der Bequemlichkeit gleich sind. Der Name ist das, was ein Benutzer in der Alexa-App sehen würde und der Aufrufname ist das, was ein Benutzer beim Auslösen des Skills sagen würde, zum Beispiel: Alexa, frage "Aufrufname" nach dem Wetter. Für meinen ersten Skill habe ich sie beide Test genannt.
Unsere Fertigkeit wird die letzten drei Dinge nicht verwenden, damit sie in Ruhe gelassen werden können.
Jetzt müssen Sie auf Speichern und Weiter klicken. Die Dev-Konsole kann hier leicht neu formatiert werden, aber es gehen keine Daten verloren.
Schritt 3: Interaktionsmodell
Sie sollten sich jetzt auf der Registerkarte Interaktionsmodell der Konsole befinden. Hier teilen wir Alexa mit, wie sie unsere Befehle interpretieren soll. Wählen Sie die Beta-Option von Skill Builder starten.
Wir müssen nun einen Intent für unseren Skill einrichten, der wie eine Funktion ist, die er ausführt. Klicken Sie auf die Schaltfläche Absicht hinzufügen und geben Sie einen geeigneten Namen ein. Dies kann alles sein und muss dem Benutzer nicht bekannt sein, wir werden es jedoch später für die Programmierung benötigen. Ich habe mein HelloWorld genannt.
Jetzt sollten wir einige Äußerungen hinzufügen, die ein Benutzer sagen könnte, wenn er dies aufrufen möchte. Ich habe "für eine Begrüßung" und "für ein Hallo" in dieses Feld eingegeben. Achten Sie darauf, zwischendurch die Eingabetaste zu drücken. Um diesen Intent zu aktivieren, sagt ein Benutzer "Alexa, frage nach einer Begrüßung".
Sobald dies abgeschlossen ist, müssen wir nun oben auf Modell speichern und Modell bauen klicken. Stellen Sie sicher, dass Sie zuerst speichern und dann erstellen. Der Aufbau kann einige Minuten dauern.
Schließlich müssen wir oben links auf die Schaltfläche Konfiguration klicken.
Schritt 4: Auf Cloud9
An dieser Stelle müssen wir zu Cloud9 zurückkehren und das Backend für unseren Skill erstellen.
Erstellen Sie in Ihrem Dashboard einen neuen Arbeitsbereich und geben Sie einen einprägsamen Namen ein. Sie können eine Beschreibung hinzufügen, wenn Sie möchten, dies ist jedoch nicht erforderlich. Sie sollten auch Python als Sprache wählen. Drücken Sie nun auf Arbeitsbereich erstellen. Das Laden dauert einige Zeit, aber schließlich sollte Ihnen ein Bildschirm wie der oben gezeigte angezeigt werden. Dies ist Ihr Arbeitsbereich.
Cloud9-Arbeitsbereiche sind Ubuntu-Linux-Maschinen, die sehr ähnlich wie ein Himbeer-Pi funktionieren. Sie haben den einen Vorteil, dass sie gehostet werden. Bevor wir unseren Code in diese Umgebung schreiben können, müssen wir einige Befehle ausführen, um ihn vorzubereiten.
1. Pip aktualisieren: sudo -H pip2 install --upgrade pip
2. Flask installieren: sudo pip install Flask
3. Installieren Sie Flask-Ask, die Bibliothek, die mit Alexa verbunden ist: sudo pip installflakon-ask
Jetzt können wir unser Programm schreiben. Klicken Sie oben auf das grüne Plus und wählen Sie Neue Datei. Drücken Sie Datei, Speichern und geben Sie einen geeigneten Namen mit.py am Ende ein, zum Beispiel HelloAlexa.py. Drücken Sie nun auf Speichern. Im nächsten Schritt geben wir den Code unseres Programms ein.
Schritt 5: Der Code
Jetzt ist es notwendig, den folgenden Code einzugeben, anstatt HelloWorld, verwenden Sie Ihren zuvor erstellten Intent-Namen:
from Flask import Flask, render_templatefrom Flask_ask import Ask, Statement
Importieren von OS
app = Flasche(_name_)
fragen = fragen(app, '/')
auf jeden Fall hallo():
return-Anweisung("Hallo Welt.")
if _name_ == "_main_":
host = os.getenv('IP', '0.0.0.0')
port = int(os.getenv('PORT', 8080))
app.debug = True
app.run(host=host, port=port)
Lassen Sie uns den Code durchgehen:
Die ersten drei Zeilen importieren unsere notwendigen Module Flask-Ask für Amazon Alexa und Flask, die eine Voraussetzung für Flask-Ask ist. Die nächsten beiden Zeilen erstellen app und fragen, die wie die Master-Variablen unseres Programms sind. Um auf die Bits zuzugreifen, auf die wir zugreifen möchten, benötigen wir sie. Linie 6 ist ein Dekorateur. Es sagt, wenn wir einen Aufruf an die Webadresse erhalten, auf der unser Programm ausgeführt wird, wenn die URL "HelloWorld" enthält, wird der folgende Codeblock ausgeführt. Die Funktion unterhalb des Decorators führt keinen Code aus, sondern gibt nur den Wert Hello, world zurück. Der Befehl statement() wird benötigt, um den String in eine für Alexa verständliche Form umzuwandeln. Schließlich ist der Rest des Codes eine Möglichkeit, sicherzustellen, dass unser Programm ordnungsgemäß auf Cloud9 ausgeführt wird. Es besagt im Grunde: Wenn wir diesen Code direkt ausführen, also nicht als Modul, dann wird der Code auf Port 8080 lauschen. Die app.debug-Zeile stellt sicher, dass der Code nicht vorzeitig beendet wird. Wenn Sie jemals eine solche Anwendung auf Cloud9 erstellen, müssen Sie sich immer die letzten 5 Zeilen merken, sonst erhalten Sie die Fehlermeldung "Keine Anwendung scheint hier ausgeführt zu werden". Die Ports, die Cloud9 verwendet, sind 8080, 8081 und 8082, also wäre jeder davon in Ordnung gewesen.
Stellen Sie sicher, dass Sie Ihren Code speichern und fahren Sie dann mit dem nächsten Schritt fort.
Schritt 6: Verknüpfen Sie Cloud9 mit Alexa
Jetzt müssen wir unseren Cloud9-Code mit unserer Alexa-App im Dev-Portal verknüpfen.
Drücken Sie die grüne Run-Taste in der Ecke. Kopieren Sie nun den Link oben auf Ihrem Terminal und fügen Sie ihn in Ihren Webbrowser ein. Sehen Sie sich das Bild an, wenn Sie es nicht finden können. Wenn Sie einen orangefarbenen Bildschirm mit einer Schaltfläche zum Öffnen der Anwendung sehen, sollten Sie darauf klicken. Sie sollten einen weißen Bildschirm sehen, der darauf steht, dass Methode nicht zulässig ist. Das mag schlecht klingen, aber das bedeutet nur, dass Flask-Ask richtig konfiguriert wurde, sodass nur der Alexa-Dienst diese Seite besuchen kann. Wenn dies gut funktioniert hat, kehren Sie zur Dev Console in Amazon zurück und stellen Sie sicher, dass Sie sich auf der Registerkarte Konfiguration befinden. Drücken Sie nun HTTPS und fügen Sie die URL, die Sie gerade hatten, in das Textfeld ein, das sich öffnet. Sie können den Rest der Einstellungen ignorieren, drücken Sie einfach auf Speichern und Weiter. Sie sollten nun ein kleines Kästchen sehen, in dem Sie nach Zertifikaten gefragt werden. Wählen Sie die zweite Option „Mein Entwicklungsendpunkt ist eine Unterdomäne einer Domäne, die ein Platzhalterzertifikat von einer Zertifizierungsstelle hat“und klicken Sie nun auf Speichern und dann auf Weiter.
Sie sollten jetzt in der Testphase sein. Wenn ja, ist das ein großer Fortschritt für die nächste Stufe. Wenn nicht, überprüfen Sie, ob Sie die Anweisungen richtig befolgt haben.
Schritt 7: Testen
Sie sollten nun eine Seite wie die obige sehen. Wenn das i-Feld mit der Aufschrift Bitte das Interaktionsmodell abschließen auf Deaktiviert gesetzt ist, aktivieren Sie es. Wir können damit beginnen, den Skill hier zu testen, und dann können wir es mit einem echten Echogerät versuchen. Gehen Sie zum Abschnitt Dienstsimulator und geben Sie eine der zuvor erstellten Äußerungen ein. Drücken Sie nun Ask Test. Sie sollten auf beiden Seiten etwas blauen Text sehen. Die rechte Hand sollte die Worte "Hallo, Welt" oder einen anderen Text enthalten, mit dem Sie Ihre Fähigkeit festlegen, mit dem Sie antworten möchten. Wenn Ihre rechte Seite einen Fehler enthält, überprüfen Sie, ob Ihr Code noch läuft und Sie ihn richtig eingegeben haben.
Sobald das funktioniert, können Sie es mit einem echten Echogerät testen. Stellen Sie sicher, dass das Echo-Gerät mit demselben Konto angemeldet ist, und Sie sollten es dann ausprobieren können. Denken Sie daran, "Alexa, frage Test" und dann Ihre Äußerung zu sagen. Wenn Sie kein Echo-Gerät haben, können Sie den Echo-Simulator https://echosim.io/welcome verwenden. Sie müssen sich mit Ihrem Amazon-Entwicklerkonto anmelden.
Vielen Dank für das Lesen meines Instructable. Ich hoffe, es hat bei dir funktioniert. Wenn Sie Fragen haben, schreiben Sie einen Kommentar und wenn es Ihnen gefallen hat, stimmen Sie bitte für mich im Voice Activated-Wettbewerb und beim Erstautoren-Wettbewerb.
Vielen Dank!