Alexa スマートホームスキル作成の流れ

Alexa スマートホームスキル(俺様用)作成の覚書

なんとなくな概要
命令語は Alexa側で決められており、自由なキーワードと応答メッセージ(「はい」とかしか言わない...)を作成できませんが、基本的なカテゴリ(テレビやエアコン)とそれらに対応するインターフェース(電源やチャンネル、温度設定等)が揃っており、音声の解釈も Alexa側で行われるので、プログラムでは起動されたインターフェースと値を受け取り、目的の動作を行います

(IFTTT アプレットを呼び出すだけなら、Alexa IFTTTトリガーと言わなくてよくなっていた で定形アクションを利用できるようになっています)

「テレビつけて」であれば、
TVカテゴリのプログラムへ インターフェース Alexa.PowerController が通知され、リクエスト情報に TurnOn が入っているという形です

スマートホームスキルに必須の認証
個人用なので、スマートホームスキルに必須の認証を Login with amazon で行い、oauth2ページなどは作成しません(amazonのアカウントで認証を行います)

必要なアカウント
  • Alexa で使用している amazon のアカウント・・・スキル認証など
  • amazon developer アカウント・・・ Alexa developer console で使用
  • AWS ・・・ Lambda関数(呼び出されるプログラム)で使用(無料枠でOK)

主に利用するサイト

作成手順(公式)
  1. 上記の必要なアカウントを作成・ログインしておく
  2. Alexa developer console で Alexa スキルを新規作成
     
  3. AWS Lambda で関数を新規作成(右上のリージョンが「オレゴン」であるのを確認)
      
    ※プログラムは、こちらのコーディング部分がシンプルで参考になります
  4. 作成した関数のトリガーとして、2で作成したスキルを結びつけるため
    「+トリガーを追加」で「Alexa Smart Home」を選択して、互いにARNやスキルIDをコピペする
ここまでで、Alexa と実行されるプログラム(Lambda関数)が紐付けされ、音声実行が準備できた状態です

次に、スマートホームスキルで必須の認証部分を Login with amazon で用意して、それを 2で作成した Alexa スキルへ関連付けます。スマホなどでスキルを有効にしたとき現れる認証画面がこの Login with amazon になります
  1. Login with Amazon を開いてプロファイルを新規作成
  2. 自分用なので、ここではすべての項目がテキトーでokです
  3. 作成したプロファイルの管理からウェブ設定を開いて、Alexa developer console で作成したスキルのアカウントリンクと関連付けます


    スキルのアカウントリンク側情報
    認証画面のURIhttps://www.amazon.com/ap/oa
    アクセストークンのURIhttps://api.amazon.com/auth/o2/token
    ユーザーのクライアントID(作成したセキュリティプロファイルのウェブ設定からコピペ)
    ユーザーのシークレット(作成したセキュリティプロファイルのウェブ設定からコピペ)
    スコープprofile
    Login with Amazonの「許可された返信URL」に「Alexaのリダイレクト先のURL」をコピペ
アカウントリンク上部の保存を押して完了です
あとは、スマホなどのAlexaアプリの有効なアプリ→開発に登録したアプリが表示されているハズなので、有効にする→Amazonアカウントの認証と進みます

コメント