Cree habilidades de Alexa con Cloud9: no se requieren tarjetas de crédito ni hardware: 7 pasos (con fotos)

Cree habilidades de Alexa con Cloud9: no se requieren tarjetas de crédito ni hardware: 7 pasos (con fotos)

Tabla de contenido:

Anonim

Hola, hoy les mostraré cómo crear su propia habilidad Amazon Alexa usando Cloud9. Para aquellos de ustedes que no saben, Cloud9 es un IDE en línea que admite muchos idiomas diferentes y es cien por ciento gratuito, sin necesidad de tarjeta de crédito. Una habilidad de Alexa es como una aplicación pero para dispositivos de Alexa.

Siempre me ha encantado la programación y los asistentes de voz, pero recientemente empecé a programar el Amazon Echo.Mi problema es que no conozco muchos node.js, por lo que estaré programando en Python para este tutorial y, siendo estudiante de secundaria, no tengo una tarjeta de crédito, lo que significa que no puedo usar AWS lamda. La forma en que resolví este problema fue usar Cloud9.

Espero que disfruten de este tutorial. Si se queda atascado en cualquier lugar, intente las imágenes, ya que he intentado agregar sugerencias en los lugares correctos y si todavía está atascado, no dude en agregar una pregunta o comentario.

(Gracias a HeikoAL en Pixabay por la imagen de portada)

Suministros:

Paso 1: Inicie sesión en Cloud9 y Amazon Developer Console.

Para desarrollar nuestra habilidad, necesitaremos crear la lógica principal de la habilidad en Python en Cloud9 y la forma en que se integra con Alexa en la Consola de desarrollador de Amazon.

1. Cloud9

Lo más probable es que ya necesite una cuenta de Cloud9 para que esto funcione, ya que recientemente Amazon se hizo cargo de Cloud9, integrándola en AWS. Sin embargo, parece posible iniciar sesión con Github, Bitbucket o Google en la antigua plataforma, que es lo que necesitamos. hacer.

Visite este sitio web: http://c9.io/login e inicie sesión.

2. Consola de desarrollador de Amazon

Ahora visite http://developer.amazon.com e inicie sesión en la esquina superior derecha. Ahora haga clic en Alexa y luego en Alexa Dashboards en la parte superior derecha. Deberías ver una pantalla más antigua como la de arriba a la derecha. Ahora debemos hacer clic en Comenzar en el cuadro del Kit de habilidades de Alexa.

Paso 2: configura la habilidad de Alexa en la consola de desarrollo de Amazon

Ahora vamos a configurar la habilidad en el servidor de Amazon. Si ya sabe cómo hacerlo, no necesita leer esto y puede pasar al siguiente paso.

Haga clic en Agregar una nueva habilidad y se le presentará una pantalla como la de arriba.

En los botones de opción en la parte superior, debemos elegir el Modelo de interacción personalizado.

Ahora elige el idioma de tu habilidad. Es importante elegir English UK si su cuenta de Amazon tiene una dirección de UK ya que las pruebas no funcionarán en un dispositivo de eco de la vida real si elige US. Aunque todavía puede funcionar en el ecoismo.

Ahora debes ingresar el nombre y el nombre de invocación de tu habilidad. Recomendaría estos son los mismos por conveniencia. El nombre es lo que un usuario vería en la aplicación Alexa y el nombre de invocación es lo que un usuario diría al activar la habilidad, por ejemplo: Alexa, pregunte "Nombre de invocación" sobre el clima. Para mi primera habilidad los nombré ambos Test.

Nuestra habilidad no será usar las tres cosas finales para que puedan quedar solas.

Ahora tienes que hacer clic en guardar y siguiente. La consola Dev puede reformatear ligeramente aquí, pero no perderá ningún dato.

Paso 3: Modelo de interacción

Ahora debería estar en la pestaña del modelo de interacción de la consola. Aquí es donde le decimos a Alexa cómo nos gustaría que interpretara nuestros comandos. Elige la opción Beta de Launch Skill Builder.

Ahora necesitamos configurar una intención para nuestra habilidad, que es como una función que realiza. Haga clic en el botón Agregar una intención e ingrese un nombre adecuado. Esto puede ser cualquier cosa y no necesita ser conocido por el usuario, sin embargo, lo necesitaremos para la programación más adelante. He nombrado mi HelloWorld.

Ahora deberíamos agregar algunas expresiones que son cosas que un usuario podría decir si quisieran invocar esto. He escrito "para un saludo" y "para un hola" en este cuadro. Asegúrate de presionar enter en el medio. Para activar esta intención, un usuario dirá "Alexa, pida una prueba de saludo".

Una vez que esto se haya completado, ahora debemos presionar guardar modelo y construir modelo en la parte superior. Asegúrate de guardar primero y luego construir. El edificio puede tardar unos minutos.

Finalmente, necesitamos hacer clic en el botón Configuración en la parte superior izquierda.

Paso 4: En Cloud9

En este punto, debemos volver a Cloud9 y desarrollar el back-end de nuestra habilidad.

En su panel de control, cree un nuevo espacio de trabajo e ingrese un nombre memorable. Puedes agregar una descripción si lo deseas pero no es necesario. También debe elegir Python como el idioma. Ahora presione crear espacio de trabajo. La carga tardará un tiempo, pero finalmente se te presentará una pantalla como la anterior. Este es tu espacio de trabajo.

Los espacios de trabajo de Cloud9 son máquinas de Ubuntu Ubuntu que funcionan de manera muy similar a una pi raspberry. Tienen la única ventaja de que están alojados. Antes de que podamos escribir nuestro código en este entorno, tendremos que ejecutar algunos comandos para que esté listo.

1. Actualice pip: sudo -H pip2 install --upgrade pip

2. Instalar el matraz: sudo pip instalar el matraz

3. Instale Flask-Ask, la biblioteca que se interconecta con Alexa: sudo pip install flask-ask

Ahora podemos escribir nuestro programa. Haga clic en el signo más verde en la parte superior y elija Nuevo archivo. Presione Archivo, Guardar e ingrese un nombre adecuado con.py al final, por ejemplo, HelloAlexa.py. Ahora presiona guardar. En el siguiente paso introduciremos el código de nuestro programa.

Paso 5: ¡El Código!

Ahora es necesario ingresar el siguiente código, en lugar de HelloWorld, use su nombre de intención que creó anteriormente:

del matraz de importación Matraz, render_template

de flask_ask import Ask, statement

importación OS

aplicación = Frasco (__ nombre__)

ask = Ask (aplicación, '/')

@ ask.intent ('HelloWorld')

def hola ():

Declaración de retorno ("Hola, mundo").

si __name__ == "__main__":

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

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

app.debug = Verdadero

app.run (host = host, port = port)

Repasemos el código:

Las tres primeras líneas importan nuestros módulos necesarios, Flask-Ask, para Amazon Alexa y Flask, que es un requisito previo de Flask-Ask. Las siguientes dos líneas crean la aplicación y preguntan cuáles son como las variables maestras de nuestro programa. Para acceder a los bits que queremos acceder los necesitamos. La línea 6 es un decorador. Dice que cuando recibamos una llamada a la dirección web en la que se ejecuta nuestro programa, si la URL contiene "HelloWorld", se ejecutará el siguiente bloque de código. La función que se encuentra debajo del decorador no ejecuta ningún código, solo devuelve el valor Hola, mundo. El comando statement () es necesario para convertir la cadena en una forma que Alexa pueda entender. Finalmente, el resto del código es una forma de asegurarse de que nuestro programa se ejecuta correctamente en Cloud9. Básicamente dice: si ejecutamos este código directamente, como no como un módulo, entonces el código escuchará en el puerto 8080. La línea app.debug garantiza que el código no se detenga prematuramente. Si alguna vez creas otra aplicación como esta en Cloud9, siempre tendrás que recordar las últimas 5 líneas o, de lo contrario, aparecerá el error "No hay ninguna aplicación ejecutándose aquí". Los puertos que usa Cloud9 son 8080,8081 y 8082, por lo que cualquiera de estos habría estado bien.

Asegúrese de guardar su código y luego continúe con el siguiente paso.

Paso 6: Enlace Cloud9 a Alexa

Ahora necesitamos vincular nuestro código Cloud9 a nuestra aplicación Alexa en el portal de desarrollo.

Presiona el botón verde de correr en la esquina. Ahora copie y pegue el enlace en la parte superior de su terminal en su navegador web. Mira la imagen si no la encuentras. Si ve una pantalla naranja con el botón Abrir la aplicación, debe hacer clic en ella. Debería ver una pantalla blanca que dice Método no permitido en ella. Esto puede sonar mal, sin embargo, todo esto significa que Flask-Ask se ha configurado correctamente para que solo el servicio de Alexa pueda visitar esa página. Si esto ha funcionado bien, vuelva a la Consola de Dev en Amazon y asegúrese de estar en la pestaña de configuración. Ahora presione HTTPS y pegue la URL que acaba de tener en el cuadro de texto que aparece. Puede ignorar el resto de la configuración, solo presione Guardar y Siguiente. Ahora debería ver un pequeño cuadro que le pregunta acerca de los certificados. Elija la segunda opción, "Mi punto final de desarrollo es un subdominio de un dominio que tiene un certificado comodín de una autoridad de certificación" y ahora presione Guardar y luego Siguiente.

Deberías estar en la etapa de prueba ahora. Si es así, eso es un gran progreso para la siguiente etapa. Si no, compruebe que ha seguido las instrucciones correctamente.

Paso 7: ¡Pruebas!

Ahora debería ver una página como la de arriba. Si el cuadro i donde dice Completar el modelo de interacción está configurado como Desactivado, habilítelo. Podemos comenzar probando la habilidad aquí y luego podemos probar con un dispositivo de eco real. Vaya a la sección del simulador de servicios e ingrese una de las expresiones que creó anteriormente. Ahora presiona Ask Test. Deberías ver algún texto azul en ambos lados. La mano derecha debe contener las palabras "Hola, Mundo" o algún otro texto con el que configures tu habilidad para responder. Si su mano derecha contiene un error, verifique que su código todavía se esté ejecutando y que lo haya escrito correctamente.

Una vez que funcione, puede pasar a probarlo con un dispositivo de eco real. Asegúrese de que el dispositivo de eco haya iniciado sesión con la misma cuenta y luego debería poder probarlo. Recuerda decir "Alexa, pregunta Test" y luego tu pronunciación. Si no tiene un dispositivo de eco, puede usar el simulador de eco http://echosim.io/welcome. Deberá iniciar sesión con su cuenta de desarrollador de Amazon.

Gracias por leer mi Instructable. Espero que te haya funcionado. Si tiene alguna pregunta, asegúrese de publicar un comentario y si le gustó, vote por mí en el concurso Activado por voz y en el concurso por primera vez.

¡Gracias!