「アレクサ、パソコンつけて」でPCを起動します
- Wake on LAN 対応のAlexaデバイス
- Wake on LAN (S5) 対応のPC
- Amazon開発者アカウント
- AWSアカウント
- AWS Lambda 及び Python に関する知識
- OAuth2.0に関する理解
公式ドキュメントスマートホームスキル作成手順の一読を推奨します
Alexaから呼び出すスマートホームスキルを作成します
-
Amazon開発者ポータルからAlexa Skills Kitを開きます
-
アクセス権限を開き、Akexaイベントを送るをONにします
スキルで実行するプログラムを作成します
-
AWSコンソールにログインします
-
リージョンを「米国西部 (オレゴン)us-west-2」に変更します(AlexaSkillの極東地域での推奨。想像ですが、AlexaAPIの動作環境と地理的に近いんだと思います)
-
デザイナーの関数名を選択し、関数コードにlambda_function.pyの内容を記述して[Deploy]します
-
Lambdaの環境変数を編集して以下の内容を設定します
Alexaにイベントを送信するためのOAuthトークンを管理するためにDynamoDBを使用します
スキルとLambda関数を接続します
スマートホームスキルを使用するためには、何らかのOAuth2.0対応アカウント(操作対象デバイスを管理するサービスが想定されているはず)とリンクする必要があります
今回はログインだけ出来ればよいのでLogin with Amazonを利用します
Login with Amazonについての詳細は公式ドキュメントを参照してください
-
Amazon開発者ポータルからLogin with Amazonを開きます
-
作成されたクライアントID、クライアントシークレットを控えます
-
スキルの画面に戻り、アカウントリンクに以下の内容を設定します
- Web認証画面のURI: https://www.amazon.com/ap/oa
- アクセストークンのURI: https://api.amazon.com/auth/o2/token
- ユーザーのクライアントID: {Login with Amazonで取得したクライアントID}
- ユーザーのシークレット: {Login with Amazonで取得したクライアントシークレット}
- ユーザーの認可スキーム: HTTP Basic認証
- スコープ: profile:user_id
-
Alexaのリダイレクト先URLを控えます