ฉันจะกำหนดค่า Alexa ให้เข้าถึง REST API ได้อย่างไร


20

ฉันมีไฟเชื่อมต่อกับรีเลย์ซึ่งเชื่อมต่อกับWiolink หลายดวง

ฉันสามารถเปิดและปิดไฟผ่าน REST API ได้เช่น:

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

ฉันจะเข้าถึง REST API นี้ผ่าน Alexa ด้วย Echo Dot ได้อย่างไร

คำตอบ:


14

เห็นเหล่านี้คำแนะนำ

สร้างบัญชีนักพัฒนา AWS และบัญชี AWS

ในคอนโซล AWS

  • สร้างฟังก์ชั่นแลมบ์ดา รวมอยู่ในฟังก์ชั่นแลมบ์ดาบางรหัสที่จะเข้าถึง API นี่อาจเป็นไพ ธ อนหรือจาวาหรือโหนด.

นี่คือสคริปต์หลาม เปลี่ยน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

  • ตั้ง 'ทริกเกอร์' เป็นทักษะ alexa

การกำหนดค่าทริกเกอร์ aws


ในคอนโซลนักพัฒนาซอฟต์แวร์

  • สร้างทักษะ สร้างกล่องโต้ตอบทักษะ

  • สร้างรูปแบบการโต้ตอบด้วยเจตนาและตัวอย่างเสียงพูด ไดอะล็อกสกีมาเจตนา

  • เชื่อมโยงจุดสิ้นสุด

ไดอะล็อกคอนฟิกูเรชันปลายทาง

คุณสามารถข้าม 2 ขั้นตอนสุดท้ายได้ ทักษะจะทำงานในโหมดการพัฒนาและมีเพียงคุณเท่านั้นที่จะสามารถเข้าถึงได้ ทำ 2 ขั้นตอนสุดท้ายให้สมบูรณ์หากคุณต้องการแบ่งปันทักษะของคุณกับทุกคนในโลก


1
หากไม่มีการเผยแพร่ฉันต้องเชื่อมต่อ Echo ของฉันกับบัญชีนักพัฒนาซอฟต์แวร์ใช่ไหม
Helmar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.