¿Cómo configuro Alexa para acceder a una API REST?

20

Tengo varias luces conectadas a relés que están conectados a un wiolink

Puedo encender y apagar las luces a través de la API REST, así:

curl https://us.wio.seeed.io/v1/node/GroveRelayD0/onoff/[onoff]?access_token=xxxxx

¿Cómo puedo acceder a esta API REST a través de Alexa con un Echo Dot?

Spuder
fuente

Respuestas:

14

Ver estas instrucciones .

Cree una cuenta de desarrollador de AWS y una cuenta de AWS.

En la consola de AWS

  • Crea una función lambda. Incluya en la función lambda algún código que accederá a la API. Esto puede ser python o java o node.js.

Aquí hay un script de Python. Cambiar modify_statepara ser 1 o 0

import urllib2

def modify_state( port, state, token):
    url = 'https://us.wio.seeed.io/v1/node/%s/onoff/%s?access_token=%s' % (port, state, token)
    req = urllib2.Request(url,'')
    response = urllib2.urlopen(req)

def lambda_handler(event, context):
    modify_state('GroveRelayD0', <STATE:0:1>, '<APIKEY')
    # TODO implement
    return {
        'version': '1.0',
        'sessionAttributes': {},
        'response': {
            'outputSpeech': {
                'type': 'PlainText',
                'text': '<whatever whitty remark alexa should say>'
            },
            'card': {
                'type': 'Simple',
                'title': "SessionSpeechlet - foo",
                'content': "SessionSpeechlet - bar" 
            },
            'reprompt': {
                'outputSpeech': {
                    'type': 'PlainText',
                    'text': 'I know right'
                }
            },
            'shouldEndSession': True
        }
    }
  • Asegúrese de publicar una nueva versión (copie el ARN en la esquina superior derecha, lo necesitará más adelante)

código de aws lambda

  • Establece el 'disparador' para las habilidades de alexa

configuración del disparador aws


En la consola del desarrollador

  • Crea una habilidad crear un diálogo de habilidad

  • Cree un modelo de interacción con una intención y un enunciado de muestra diálogo de esquema de intención

  • Enlace el punto final

diálogo de configuración de punto final

Puede omitir los últimos 2 pasos. La habilidad se ejecutará en modo de desarrollo y solo tú podrás acceder a ella. Complete los últimos 2 pasos solo si desea compartir su habilidad con alguien en el mundo.

Spuder
fuente
1
Si uno no publica, tengo que conectar mi Echo a una cuenta de desarrollador, ¿verdad?
Helmar