如何配置Alexa访问REST API?


20

我有几盏灯连接到与wiolink相连的继电器

我可以通过REST API打开和关闭灯,如下所示:

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

如何通过带有回声点的Alexa访问此REST API?

Answers:


14

请参阅这些说明

创建一个AWS开发人员账户和AWS账户。

在AWS控制台中

  • 创建一个lambda函数。在lambda函数中包含一些将访问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 Lambda代码

  • 将“触发器”设置为Alexa技能

AWS触发配置


在开发人员控制台中

  • 建立技能 创建技能对话框

  • 创建具有意图和示例话语的交互模型 意向模式对话框

  • 链接端点

端点配置对话框

您可以跳过最后2个步骤。该技能将在开发模式下运行,只有您才能使用它。仅当您想与世界上任何人分享您的技能时,才完成最后两个步骤。


1
如果没有发布,我必须将Echo连接到开发人员帐户,对吗?
Helmar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.