Come configuro Alexa per accedere a un'API REST?


20

Ho diverse luci collegate ai relè che sono collegati a un wiolink

Posso accendere e spegnere le luci tramite l'API REST, in questo modo:

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

Come posso accedere a questa API REST tramite Alexa con un Echo Dot?

Risposte:


14

Vedi queste istruzioni .

Crea un account sviluppatore AWS e un account AWS.

Nella console AWS

  • Crea una funzione lambda. Includi nella funzione lambda del codice che accederà all'API. Può essere python o java o node.js.

Ecco uno script Python. Cambia modify_statein 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
        }
    }
  • Assicurati di pubblicare una nuova versione (copia l'ARN in alto a destra, ne avrai bisogno in seguito)

codice aws lambda

  • Imposta il "trigger" sulle abilità di alexa

configurazione trigger di aws


Nella console per gli sviluppatori

  • Crea un'abilità creare una finestra di dialogo di abilità

  • Crea un modello di interazione con un intento e una frase di esempio finestra di dialogo dello schema di intenti

  • Collegare l'endpoint

finestra di dialogo di configurazione dell'endpoint

Puoi saltare gli ultimi 2 passaggi. L'abilità verrà eseguita in modalità di sviluppo e solo tu sarai in grado di accedervi. Completa gli ultimi 2 passaggi solo se desideri condividere le tue abilità con chiunque nel mondo.


1
Se uno non pubblica devo collegare il mio Echo a un account sviluppatore, giusto?
Helmar
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.