Bagaimana cara mengkonfigurasi Alexa untuk mengakses REST API?

20

Saya memiliki beberapa lampu yang terhubung ke relay yang terhubung ke wiolink

Saya bisa menyalakan dan mematikan lampu melalui REST API, seperti:

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

Bagaimana saya bisa mengakses REST API ini melalui Alexa dengan Echo Dot?

spuder
sumber

Jawaban:

14

Lihat instruksi ini .

Buat akun pengembang AWS & akun AWS.

Di konsol AWS

  • Buat fungsi lambda. Termasuk dalam fungsi lambda beberapa kode yang akan mengakses API. Ini bisa berupa python atau java atau node.js.

Berikut ini adalah skrip python. Ubah modify_statemenjadi 1 atau 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
        }
    }
  • Pastikan untuk menerbitkan versi baru (salin ARN di kanan atas, Anda akan membutuhkannya nanti)

aws kode lambda

  • Atur 'pemicu' menjadi keterampilan alexa

konfigurasi pemicu aws


Di konsol pengembang

  • Ciptakan keterampilan buat dialog keterampilan

  • Buat Model Interaksi dengan niat, dan contoh ucapan dialog skema maksud

  • Tautkan titik akhir

dialog konfigurasi titik akhir

Anda dapat melewati 2 langkah terakhir. Skill akan berjalan dalam mode pengembangan dan hanya Anda yang akan dapat mengaksesnya. Selesaikan 2 langkah terakhir hanya jika Anda ingin berbagi keahlian Anda dengan siapa pun di dunia.

spuder
sumber
1
Jika seseorang tidak mempublikasikan saya harus menghubungkan Echo saya ke akun pengembang, kan?
Helmar