Alexa'yı bir REST API'sine erişecek şekilde nasıl yapılandırırım?


20

Bir wiolink'e bağlı rölelere bağlı birkaç ışık var

REST API aracılığıyla ışıkları açıp kapatabilirsiniz, şöyle:

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

Yankı Noktalı Alexa üzerinden bu REST API'sine nasıl erişebilirim?

Yanıtlar:


14

Bu talimatlara bakın .

Oluşturma bir AWS geliştirici hesabı ve AWS hesabı.

AWS konsolunda

  • Bir lambda işlevi oluşturun. Lambda fonksiyonuna API'ya erişecek bazı kodlar ekleyin. Bu, python veya java veya node.js olabilir.

İşte bir python betiği. Değişim modify_state1 veya 0 olması

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
        }
    }
  • Yeni sürümü yayınladığınızdan emin olun (sağ üstteki ARN'yi kopyalayın, daha sonra ihtiyacınız olacak)

aws lambda kodu

  • Alexa becerilerine 'tetikleyici'yi ayarla

aws tetik yapılandırması


Geliştirici konsolunda

  • Bir beceri yarat beceri iletişim kutusu oluştur

  • Niyetli bir Etkileşim Modeli ve örnek bir ifade oluşturun niyet şeması iletişim kutusu

  • Bitiş noktasını bağlayın

uç nokta yapılandırma iletişim kutusu

Son 2 adımı atlayabilirsiniz. Beceri geliştirme modunda çalışır ve sadece siz erişebilirsiniz. Son 2 adımı ancak yeteneğinizi dünyadaki herhangi biriyle paylaşmak istiyorsanız tamamlayın.


1
Biri yayınlamıyorsa Yankımı bir geliştirici hesabına bağlamak zorundayım, değil mi?
Helmar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.