Wie konfiguriere ich Alexa für den Zugriff auf eine REST-API?


20

Ich habe mehrere Lichter an Relais angeschlossen, die an einen Wiolink angeschlossen sind

Ich kann die Lichter über die REST-API ein- und ausschalten, wie folgt:

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

Wie kann ich über Alexa mit einem Echo Dot auf diese REST-API zugreifen?

Antworten:


14

Siehe diese Anweisungen .

Erstellen Sie ein AWS-Entwicklerkonto und ein AWS-Konto.

In der AWS-Konsole

  • Erstellen Sie eine Lambda-Funktion. Fügen Sie in die Lambda-Funktion Code ein, der auf die API zugreift. Dies kann entweder Python oder Java oder node.js sein.

Hier ist ein Python-Skript. Ändern Sie modify_state, um entweder 1 oder 0 zu sein

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
        }
    }
  • Stellen Sie sicher, dass Sie eine neue Version veröffentlichen (kopieren Sie die ARN oben rechts, sie wird später benötigt).

Aws Lambda-Code

  • Setze den 'Trigger' auf alexa skills

aws-Trigger-Konfiguration


In der Entwicklerkonsole

  • Erstellen Sie eine Fähigkeit erstelle einen Skill-Dialog

  • Erstellen Sie ein Interaktionsmodell mit einer Absicht und einer Beispieläußerung Intent-Schema-Dialog

  • Verknüpfen Sie den Endpunkt

Dialogfeld zur Endpunktkonfiguration

Sie können die letzten 2 Schritte überspringen. Die Fertigkeit wird im Entwicklungsmodus ausgeführt und nur Sie können darauf zugreifen. Führen Sie die letzten beiden Schritte nur aus, wenn Sie Ihre Fähigkeiten mit anderen auf der Welt teilen möchten.


1
Wenn man nicht veröffentlicht, muss ich mein Echo mit einem Entwicklerkonto verbinden, richtig?
Helmar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.