Faire des compétences Alexa avec Cloud9 - Aucune carte de crédit ou matériel requis: 7 étapes (avec des photos)

Faire des compétences Alexa avec Cloud9 - Aucune carte de crédit ou matériel requis: 7 étapes (avec des photos)

Table des matières:

Anonim

Bonjour, je vais vous montrer aujourd'hui comment créer votre propre compétence Amazon Alexa à l'aide de Cloud9. Pour ceux d'entre vous qui ne le savent pas, Cloud9 est un IDE en ligne prenant en charge de nombreuses langues et qui est gratuit à 100% - aucune carte de crédit requise. Une compétence Alexa est comme une application mais pour les appareils Alexa.

J'ai toujours aimé la programmation et les assistants vocaux, mais ce n'est que récemment que j'ai commencé à programmer Amazon Echo.Mes problèmes sont que je ne connais pas beaucoup de node.js, je vais donc programmer en python pour ce tutoriel et, étant étudiant au secondaire, je n'ai pas de carte de crédit, ce qui signifie que je ne peux pas utiliser AWS lamda.. La façon dont j'ai résolu ce problème était d'utiliser Cloud9.

J'espère que vous apprécierez ce tutoriel. Si vous êtes coincé n'importe où, essayez les images car j'ai essayé d'ajouter des astuces aux bons endroits et si vous êtes toujours bloqué, n'hésitez pas à ajouter une question ou un commentaire.

(Merci à HeikoAL sur Pixabay pour l'image de couverture)

Provisions:

Étape 1: connectez-vous à Cloud9 et à Amazon Developer Console.

Pour développer nos compétences, nous devons créer la logique principale de la compétence python sur Cloud9 et de la manière dont elle s’intègre à Alexa sur la console de développement Amazon.

1. Cloud9

Vous aurez probablement déjà besoin d'un compte Cloud9 pour que cela fonctionne, car Amazon a récemment pris le contrôle de Cloud9 et l'a intégré à AWS. Toutefois, il semble possible de vous connecter à Github, Bitbucket ou Google sur l'ancienne plate-forme. faire.

Visitez ce site Web: http://c9.io/login et connectez-vous.

2. Amazon Developer Console

Maintenant, visitez http://developer.amazon.com et connectez-vous dans le coin supérieur droit. Maintenant, cliquez sur Alexa puis sur Vos tableaux de bord Alexa en haut à droite. Vous devriez voir un écran plus ancien, comme celui en haut à droite. Nous devons maintenant cliquer sur Démarrer dans la boîte de dialogue Alexa Skills Kit.

Étape 2: Configuration de la compétence Alexa dans la console Amazon Dev Console

Nous allons maintenant configurer la compétence sur le serveur Amazon. Si vous savez déjà comment faire cela, vous n’avez pas besoin de lire ceci et vous pouvez passer à l’étape suivante.

Cliquez sur Ajouter une nouvelle compétence et vous devriez voir un écran comme celui ci-dessus.

Dans les boutons radio en haut, nous devrions choisir un modèle d'interaction personnalisé.

Maintenant, choisissez la langue de votre compétence. Il est important de choisir le Royaume-Uni anglais si votre compte amazon a une adresse au Royaume-Uni, car les tests ne fonctionneront pas sur un appareil d'écho réel si vous choisissez les États-Unis. Cela peut quand même marcher sur l'échoïsme.

Vous devez maintenant entrer le nom et le nom d'invocation de votre compétence. Je recommanderais ceux-ci sont les mêmes pour plus de commodité. Le nom correspond à ce qu'un utilisateur verrait dans l'application Alexa et le nom de l'invocation à ce qu'il dirait lorsqu'il déclencherait la compétence, par exemple: Alexa, demandez "Nom de l'invocation" à propos de la météo. Pour ma première compétence, je les ai nommés tous les deux Test.

Notre savoir-faire n’utilisera pas les trois dernières choses pour pouvoir les laisser seules.

Maintenant, vous devez cliquer sur Enregistrer, puis sur Suivant. La console de développement peut reformater légèrement ici mais elle ne perdra aucune donnée.

Étape 3: Modèle d'interaction

Vous devriez maintenant être sur l'onglet modèle d'interaction de la console. C'est ici que nous disons à Alexa comment nous voudrions qu'il interprète nos commandes. Choisissez l'option Lancer la version bêta de Skill Builder.

Nous devons maintenant définir une intention pour notre compétence qui est comme une fonction qu’elle remplit. Cliquez sur le bouton Ajouter une intention et entrez un nom approprié. Cela peut être n'importe quoi et l'utilisateur n'a pas besoin de le savoir, mais nous en aurons besoin ultérieurement pour la programmation. J'ai nommé mon HelloWorld.

Maintenant, nous devrions ajouter quelques énoncés qui sont des choses qu'un utilisateur pourrait dire s'il voulait invoquer cela. J'ai tapé "pour une salutation" et "pour un bonjour" dans cette case. Assurez-vous d'appuyer sur Entrée entre les deux. Afin d'activer cette intention, un utilisateur dira "Alexa, demandons au test une salutation".

Une fois que cela est terminé, nous devons maintenant appuyer sur enregistrer le modèle et construire le modèle en haut. Assurez-vous de sauvegarder d'abord, puis de construire. La construction peut prendre quelques minutes.

Enfin, nous devons cliquer sur le bouton Configuration en haut à gauche.

Étape 4: sur Cloud9

À ce stade, nous devons revenir à Cloud9 et renforcer nos compétences.

Dans votre tableau de bord, créez un nouvel espace de travail et entrez un nom mémorable. Vous pouvez ajouter une description si vous le souhaitez mais ce n'est pas nécessaire. Vous devriez également choisir Python comme langage. Maintenant, appuyez sur Créer un espace de travail. Cela prendra du temps à charger, mais vous devriez éventuellement avoir un écran comme celui-ci. Ceci est votre espace de travail.

Les espaces de travail Cloud9 sont des machines ubuntu linux qui fonctionnent de manière très similaire à un raspberry pi. Ils ont l'avantage d'être hébergés. Avant de pouvoir écrire notre code dans cet environnement, nous devrons exécuter quelques commandes pour le préparer.

1. Mise à niveau pip: sudo -H pip2 install --upgrade pip

2. Installer le flacon: le flacon sudo pip install

3. Installez Flask-Ask, la bibliothèque qui s’interface avec Alexa: sudo pip installe flask-ask

Maintenant nous pouvons écrire notre programme. Cliquez sur le signe plus vert en haut et choisissez Nouveau fichier. Appuyez sur Fichier, Enregistrer et entrez un nom approprié avec.py à la fin, par exemple HelloAlexa.py. Maintenant, appuyez sur Enregistrer. Dans la prochaine étape, nous entrerons le code de notre programme.

Étape 5: Le code!

Maintenant, il est nécessaire de saisir le code suivant, au lieu de HelloWorld, utilisez le nom de votre intention que vous avez créé précédemment:

depuis flask import Flask, render_template

from flask_ask import Ask, déclaration

importation os

app = Flacon (__ nom__)

ask = Ask (app, '/')

@ ask.intent ('HelloWorld')

def bonjour ():

déclaration de retour ("Hello, world.")

si __name__ == "__main__":

host = os.getenv ('IP', '0.0.0.0')

port = int (os.getenv ('PORT', 8080))

app.debug = True

app.run (hôte = hôte, port = port)

Passons en revue le code:

Les trois premières lignes importent nos modules nécessaires, Flask-Ask, pour amazon Alexa et Flask, une condition préalable à Flask-Ask. Les deux lignes suivantes créent une application et demandent quelles sont les variables principales de notre programme. Pour accéder aux bits auxquels nous voulons accéder, nous en avons besoin. Line 6 est décoratrice. Il indique que lorsque nous recevons un appel à l'adresse Web sur laquelle notre programme est exécuté, si l'URL contient "HelloWorld", le bloc de code suivant sera exécuté. La fonction située sous le décorateur ne lance aucun code, elle renvoie simplement la valeur Hello, world. La commande statement () est nécessaire pour convertir la chaîne en une forme que Alexa peut comprendre. Enfin, le reste du code est un moyen de s’assurer que notre programme fonctionne correctement sur Cloud9. Il dit en gros: si nous exécutons ce code directement, car ce n'est pas sous forme de module, le code sera écouté sur le port 8080. La ligne app.debug garantit que le code ne s'arrête pas prématurément. Si vous créez une autre application comme celle-ci sur Cloud9, vous devrez toujours vous rappeler des 5 dernières lignes, sinon vous obtiendrez une erreur «Aucune application ne semble fonctionner ici». Les ports utilisés par Cloud9 sont 8080, 8081 et 8082, de sorte que l’un d’entre eux aurait fonctionné correctement.

Veillez à enregistrer votre code, puis passez à l'étape suivante.

Étape 6: Liez Cloud9 à Alexa

Nous devons maintenant associer notre code Cloud9 à notre application Alexa sur le portail de développement.

Appuyez sur le bouton vert dans le coin. Maintenant, copiez et collez le lien en haut de votre terminal dans votre navigateur Web. Visualisez l'image si vous ne la trouvez pas. Si vous voyez un écran orange avec un bouton Ouvrir l'application, vous devez cliquer dessus. Vous devriez voir un écran blanc portant l’indication Méthode non autorisée. Cela peut sembler mauvais, mais cela signifie simplement que Flask-Ask a été configuré correctement pour que seul le service Alexa puisse accéder à cette page. Si cela a bien fonctionné, revenez à la console de développement d'Amazon et assurez-vous d'être dans l'onglet Configuration. Maintenant, appuyez sur HTTPS et collez l'URL que vous venez d'avoir dans la zone de texte qui apparaît. Vous pouvez ignorer le reste des paramètres, appuyez simplement sur Enregistrer et sur Suivant. Vous devriez maintenant voir une petite boîte vous demandant des informations sur les certificats. Choisissez la deuxième option, "Mon noeud final de développement est un sous-domaine d'un domaine doté d'un certificat générique d'une autorité de certification", puis cliquez sur Enregistrer, puis sur Suivant.

Vous devriez être sur la scène de test maintenant. Si vous êtes, c'est un grand progrès à la prochaine étape. Sinon, vérifiez que vous avez bien suivi les instructions.

Étape 7: Test!

Vous devriez maintenant voir une page comme celle ci-dessus. Si la case i dans laquelle il est écrit «Veuillez compléter le modèle d'interaction» est définie sur Désactivé, activez-le. Nous pouvons commencer par tester la compétence ici et ensuite, nous pouvons essayer avec un véritable appareil d'écho. Accédez à la section simulateur de service et entrez l’un des énoncés que vous avez créés précédemment. Maintenant, appuyez sur Ask Test. Vous devriez voir du texte bleu des deux côtés. La main droite doit contenir les mots "Hello, World" ou un autre texte avec lequel vous voulez que votre habileté réponde. Si votre main droite contient une erreur, vérifiez que votre code est toujours en cours d'exécution et que vous l'avez entré correctement.

Une fois que cela fonctionne, vous pouvez le tester avec un véritable appareil d'écho. Assurez-vous que le périphérique d'écho est connecté avec le même compte et vous devriez pouvoir l'essayer. N'oubliez pas de dire "Alexa, ask Test" et ensuite votre énoncé. Si vous ne possédez pas de périphérique écho, vous pouvez utiliser le simulateur d'écho http://echosim.io/welcome. Vous devez vous connecter avec votre compte Amazon Developer.

Merci d'avoir lu mon Instructable. J'espère que cela a fonctionné pour vous. Si vous avez des questions, assurez-vous de poster un commentaire. Si cela vous a plu, votez pour moi au concours Activation vocale et au concours Auteur pour la première fois.

Merci!