Inhoudsopgave:
- Benodigdheden
- Stap 1: Erstellen Eines Amazon-ontwikkelaarsaccounts
- Stap 2: Erstelle Einen Neuen Skill
- Stap 3: Begrüße Den Benutzer
- Stap 4: Begrüßung Testen
- Stap 5: Intenties Hinzufügen
- Stap 6: Witze Hinzufügen
- Stap 7: Intent Handler Hinzufügen
- Stap 8: Intent Handler Registrieren
- Stap 9: Vaardigheidstest
- Stap 10: Vaardigheid Vorschau Festlegen Und Zertifizieren Lassen
Video: Alexa Skill Erstellen (Duits - Deutsch): 10 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Was het een Alexa Skill?
Alexa is in Cloud-basierter Sprachservice, der auf Geräten met Amazon Echo, Echo Dot, Echo Show of Echo Spot verfügbar ist. Entwickler können Alexa Fähigkeiten hinzufügen, dus genannte Skills, mit denen die Nutzer ihr Gerät auf ihre Bedürfnisse anpassen können. Es gibt zehntausende Skills im Alexa Skills Store zu entdecken, u. A. von Unternehmen wie Deutsche Bahn, Chefkoch of dem ZDF en vielen weiteren innovationn Designern und Entwicklern. ~ Quelle: developer.amazon.com
In diesem Tutorial wird erklärt, wie man einen solchen Alexa Skill erstellt und programmemiert.
Ziel:
Ziel ist es, einen Witze Skill, namens lustige Witze zu programmieren. Dieser Skill soll dem Benutzer Witze zufällig ausgewählte Witze erzählen.
Demo:
Um zu sehen, wie der Skill nachher Funktionieren soll, gibt es here bereits eine Demo:
skills-store.amazon.de/deeplink/dp/B07ZKH9…
Dieser Skill kann getestet werden.
Benodigdheden
- Programmeurkenntnisse
- Kenntnisse in Node.js
Stap 1: Erstellen Eines Amazon-ontwikkelaarsaccounts
Sofern Du noch keinen Amazon Developer Account besitzt, kannst Du hier einen erstellen, oder dich hier anmelden.
Stap 2: Erstelle Einen Neuen Skill
- Folge diesem Link:
- Klik op de Create Skill Button op de juiste pagina. Eine neue Seite öffnet sich anschließend.
- Gib den Namen deines Skills (in unserem Fall: Lustige Witze) im Skill name Feld ein.
- Stelle die Sprache bei Standaardtaal auf Duits (DE).
- Wir wollen einen Custom-Skill erstellen, ook wählen wir beim Model Custom aus.
- Wähle bei Kies een methode om de backend-bronnen van uw vaardigheid te hosten das zweite, ook wel Alexa-Hosted (Node.js) aus.
- Nachdem Du alles ausgewählt hast, klik op rechts auf Create skill.
- Een nieuwe Fenster öffnet sich
Stap 3: Begrüße Den Benutzer
Das erste, was ein Benutzer mit einem Skill macht, ist ihn zu öffnen. Der Intent der den Skill öffnet ist bereits im Skill eingebaut, somit muss dieser Intent nicht extra hinzugefügt werden.
-
Öffne den Code Tab → Das Code Fenster mit der index.js Datum öffnet sich.
Jeder Intent Handvat hoed zwei Functies:
- canHandle()
- handvat()
Die canHandle() Funktion beinhaltet de Request, also die Anfrage, auf die der Handler antwortet.
Die handle() Funktion gibt dem Benutzer dann einen Antwort.
Wenn dein Skill eine anfrage empfängt, so wird in der canHandle() Funktion nachgesehen, ob der Handler dieser Anfrage antworten kann.
-
In der handle() Funktion des LaunchRequestHandlers is een code die u kunt gebruiken om een begin te maken met:
const speakOutput = 'Willkommen bei "Lustige Witze"! Frage einfach nach einem Witz.';
const repromtText = 'Möchtest van een witz hören?';
-
Nun müssen wir die Antwort noch an den Benutzer senden.
return handlerInput.responsBuilder
.speak(speakOutput).reprompt(repromtText).getResponse();
Klik op Save en anschließend auf Deploy
Der bereits generierte Code gibt Antworten in het Engels Sprache. Damit der Alexa Skill später auch genehmigt wird, muss jede englische Antwort auf Deutsch umgeschrieben werden.
Bei folgenden Handler muss der Wert der speakOutput Variable auf deutsch umgeschrieben werden:
-
HelpIntentHandler
const speakOutput = 'Dieser Skill erzählt dir die lustigsten Witze. Frage einfach nach einem Witz.';
const repromtText = 'Möchtest van een witz hören?'; return handlerInput.responseBuilder.speak (speakOutput).reprompt (repromtText).getResponse ();
-
AnnulerenEnStopIntentHandler
const speakOutput = 'Bis kaal!';
-
IntentReflectorHandler
const speakOutput = `Dus ${intentName} ausgelöst.`;
-
ErrorHandler
const speakOutput = `Es tut mir leid, aber ich kann deine Frage zurzeit nicht verarbeiten.`;
Zum Schluss immer auf Save en anschließend auf Deploy klik.
Stap 4: Begrüßung Testen
Immer nachdem Du eine Funktion zu deinem Skill hinzugefügt hast, solltest Du diese unbedingt testen, damit Du, falls ein Fehler auftritt ungefähr weißt, wo der Fehler liegen könnte.
- Klik op de Test Tab → een nieuw Fenster öffnet sich.
- Aktivière das Testen, indem du in der Select-Box Development auswählst.
- Schreibe of spreche: "öffne lustige Witze." → der Skill sollte nun mit der Begrüßung antworten.
Stap 5: Intenties Hinzufügen
Nun fügen wir Möglichkeiten hinzu, wie der Benutzer mit dem Skill interagieren kann. Intents zijn ermöglichen es auf verschiedene Phrasen zu reagieren and anschließend einen bestimmten auszulösen, der die Anfrage dann verarbeitet.
- Klik op het tabblad Build → das Build Fenster öffnet sich.
- Rechts in der Navigatiesleiste steht bei Intents der HelloWorldIntent. Diesen loschen wir zu Beginn.
- Anschließend klik op wir auf den Add Button neben der Intents-Leiste.
Zuerst fügen wir bereits von Amazon vordefinierte Intents hinzu.
- Klicke dazu auf Gebruik een bestaande intentie uit de ingebouwde bibliotheek van Alexa
- Zo'n YesIntent en NoIntent en klik op beide om toe te voegen
Nun fügen wir unseren eigenen Intent hinzu.
- Klicke dazu auf Aangepaste intentie maken
- Gib dem Intent den Namen TellAJokeIntent
- Klik op een aangepaste intentie maken
Jetzt fügen wir ein paar Beispielphrasen zu unserem Intent hinzu, ook Phrasen, die der Benutzer sagen könnte. Gib dazu einfach die Phrasen ohne Punkt am Ende ein:
- Erzähle mir einen Witz
- Sag mir einen Witz
- Erzähle mir einen lustigen Witz
- Einen Witz bitte
- nach einem Witz
- mir einen Witz zu erzählen
Natürlich gibt es noch viele weitere Möglichkeiten, diesen Intent zu aktivieren, aber wir beschränken uns hier auf ein paar essentielle.
Nachdem Du alle Phrasen hinzugefügt hast click oben auf Save Model und anschlieend auf Build Model. Nachdem der Build abgeschlossen ist, navigiere zurück zum Code Tab.
Stap 6: Witze Hinzufügen
Damit unser Skill Witze erzählen kann, benötigen wir ein paar Witze.
Erstelle dazu im lambda Ordner eine neue Datei mit dem Namen jokes.json
Füge volgt in die jokes.json Datei zegt:
["Was ist weiß und guckt durchs Schlüsselloch? Ein Spannbettlaken.", "Welches Getränk trinken Firmenchefs? Leitungswasser.", "Was essen Autos am liebsten? Parkplätzchen.", "Was passiert wenn man Cola und Bier gleichtzeitig Man Cola und Bier gleichtzeitig Man.", "Wie heißt ein Spanier ohne Auto? Carlos", "Was sitzt auf einem Baum und winkt? Ein Huhu!", "Was sagt ein Gen, wenn es ein anderes trifft? Halogen.", "Was ist ein studierter Bauer? Ein Akademiker.", "Ich bin so unentschlossen. Als japanische Krieger wäre ich ein Nunja."]
Natürlich kannst Du selbst noch mehr Witze hinzufügen, zum Testen jedoch sollte es schon funktionieren.
Klik op opslaan en implementeren.
Stap 7: Intent Handler Hinzufügen
Die zuvor erstellen Intents benötigen nun einen Handler, der darauf reagiert, wann die Intents ausgelöst werden sollen. Der NoIntentHanlder beendet den Skill. Der YesIntentHandler, sowie der TellAJokeIntentHandler Antwortet mit einem Witz.
Lees meer HelloWorldIntentHandler op de index.js Datum heraus en füge an der Stelle die nieuwe IntentHandler in:
const TellAJokeIntentHandler = {
canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'TellAJokeIntent'; }, handle (handlerInput) {const jokes = JSON.parse(fs.readFileSync('./jokes.json')); const speakOutput = grappen [Math.floor(Math.random() * jokes.length)]; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } }; const YesIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON. YesIntent'; }, handle(handlerInput) {const jokes = JSON.parse(fs.readFileSync('./jokes.json')); const speakOutput = grappen [Math.floor(Math.random() * jokes.length)]; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } }; const NoIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON. NoIntent'; }, handle(handlerInput) { const speakOutput = 'Oké, vielleicht später einmal.'; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } };
Stap 8: Intent Handler Registrieren
Nun müssen nur noch die Intent Handler registriert werden. Scroll naar beneden en naar de index.js Datei.
Ersetze sterft:
exports.handler = Alexa. SkillBuilders.custom()
.addRequestHandlers (LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // zorg ervoor dat IntentReflectorHandler de laatste is, zodat deze uw aangepaste intent-handlers niet overschrijft).addErrorHandlers(). ErrorHandlerb, ().
door das:
exports.handler = Alexa. SkillBuilders.custom()
.addRequestHandlers (LaunchRequestHandler, TellAJokeIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // zorg ervoor dat IntentReflectorHandler de laatste is, zodat deze uw aangepaste intent handlers niet overschrijft)
Anschließend klik op de knop Save und Deploy. Nachdem das Deployment abgeschlossen wurde, kannst Du deinen Skill wieder testen.
Stap 9: Vaardigheidstest
- Klik op de Test Tab → een nieuw Fenster öffnet sich.
- Schreibe of spreche: "öffne lustige Witze." → der Skill sollte nun mit der Begrüßung antworten.
- Schreibe of spreche: "Erzähle mir einen Witz." → der Skill sollte nun einen der Witze erzählen.
Wenn alles funktioniert, kannst du deinen Skill auch schon zertifizieren lassen.
Stap 10: Vaardigheid Vorschau Festlegen Und Zertifizieren Lassen
Alle tekstboxen met deiner persönlichen Beschreibung des Skills aus.
Bei Voorbeeldzinnen schreibe:
- Alexa, öffne wellustige Witze.
- Erzähle mir einen Witz.
- Alexa, frage lustige Witze nach einem Witz.
Sobald du alle verpflichtenden Felder ausgefüllt hast und die Icons hochgeladen hast click auf Opslaan en doorgaan.
Wähle bei Privacy & Compliance, sowie bei Beschikbaarheid die zutreffenden Antworten aus.
Siehe dir vor der Zertifizierung die Checklists voor inzendingen an
Nun musst du ein paar Tests durchlaufen. Dies kann eine Weile dauern.
Anschließend kannst du deinen Skill zur Zertifizierung absenden. Es wird ca. 1-2 Tage dauern, bis zu ein Feedback zu deinem Skill bekommst. Wenn du alles richtig gemacht hast, sollte dein Skill sofort veröffentlicht werden.
Wenn du den Skill jetzt schon ausprobieren möchtest, aber dein Skill noch nicht zertifiziert wurde, kannst du jederzeit diesen Skill verwenden:
skills-store.amazon.de/deeplink/dp/B07ZKH9…
Aanbevolen:
Bedien de woonkamer met Alexa en Raspberry Pi: 12 stappen
Bedien de woonkamer met Alexa en Raspberry Pi: bedien de tv, verlichting en ventilator in je woonkamer met Alexa (Amazon Echo of Dot) en Raspberry Pi GPIO
Bedien LED's met Alexa of IFTTT (SINRIC PRO TUTORIAL): 6 stappen
LED's bedienen met Alexa of IFTTT (SINRIC PRO TUTORIAL): Dus je zou graag die persoon willen zijn die pronkt tijdens een alledaags diner door te zeggen: "Alexa doet het licht aan?" Dit project is voor jou! Aan het einde van deze instructables kun je een RGB-strip bedienen met een Alexa-apparaat en IFTTT om
HacKIT: een Civic Privacy Hard(wear) Kit voor het hacken van Alexa, Google en Siri: 4 stappen
HacKIT: een Civic Privacy Hard(wear) Kit voor het hacken van Alexa, Google en Siri: Moe van je "slimme" apparaten die u afluisteren? Dan is deze toolkit voor het hacken van surveillance iets voor jou! HacKIT is een low-to-high-tech civic privacy hard(wear) kit voor het herontwerpen, hacken en terugwinnen van de Amazon Echo, Google Home
Arduino WorldClock (Zwitsers-Duits, Bärndütsch): 5 stappen
Arduino WorldClock (SwissGerman, Bärndütsch): Gemaakt van een WorldClock in Zwitsers-Duits met luchttemperatuur- en lichtsensor. Gebaseerd op en geïnspireerd door: Javelins-Word-Clock/Broncode: https://bitbucket.org/ywyder/wordclock/src/ meester
Alexa Skill: Lees de nieuwste tweet (in dit geval van God): 6 stappen
Alexa Skill: Lees de nieuwste tweet (in dit geval die van God): ik heb een Alexa Skill gemaakt om "Gods nieuwste tweet" te lezen -- de inhoud, dat wil zeggen, van @TweetOfGod, het account van meer dan 5 miljoen abonnees gemaakt door een voormalige comedyschrijver van de Daily Show. Het maakt gebruik van IFTTT (If This Then That), een Google Spreadsheet en de