Как настроить Alexa для доступа к REST API?

20

У меня есть несколько источников света, подключенных к реле, которые подключены к WiiLink

Я могу включать и выключать свет через REST API, вот так:

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

Как я могу получить доступ к этому REST API через Alexa с помощью Echo Dot?

spuder
источник

Ответы:

14

Смотрите эти инструкции .

Создайте аккаунт разработчика AWS и аккаунт AWS.

В консоли AWS

  • Создайте лямбда-функцию. Включите в лямбда-функцию некоторый код, который будет обращаться к API. Это может быть либо python, либо java, либо node.js.

Вот скрипт Python. Изменить modify_stateна 1 или 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
        }
    }
  • Обязательно опубликуйте новую версию (скопируйте ARN в правом верхнем углу, она понадобится вам позже)

AWS лямбда-код

  • Установите «триггер» для навыков Алекса

конфигурация триггера AWS


В консоли разработчика

  • Создать навык создать диалог навыков

  • Создайте модель взаимодействия с намерением и примером высказывания диалог намеренных схем

  • Ссылка на конечную точку

диалог настройки конечной точки

Вы можете пропустить последние 2 шага. Навык будет работать в режиме разработки, и только вы сможете получить к нему доступ. Выполните последние 2 шага, только если вы хотите поделиться своим умением с кем-либо в мире.

spuder
источник
1
Если кто-то не публикует, я должен подключить свое эхо к учетной записи разработчика, верно?
Хелмар