0

私は、現在多くの顧客が使用しているホームオートメーションシステムを構築しました。ホームオートメーションシステムは、常にクラウドサーバーに接続され、さまざまなノードデバイスを制御する中央ハブで構成されています。リモートデバイスを制御するためのモバイルアプリも開発しました。ホームオートメーションシステムにamazonエコーを統合する方法。

私は自分のシステムに音声制御機能を追加したいと思います。私の顧客のほとんどがAlexaを所有しているため、Amazon Alexaが私の必要性に最適です。私が実装したいことの概要を説明します。

お客様がAlexaにAlexa, turn on living room's floor lightのような音声コマンドを発しているとします。そのようなコマンドを受け取った後、AlexaはAPIを使ってTurn On, Living Room, Floor Lightというパラメータを使って自分のクラウドサーバにPOST要求を行うべきです。サーバーはAlexaにAPI応答をTurned on floor light of living roomのような文字列で返します。これはAlexaで再生する必要があります。

ここに私の質問があります。 AlexaがAPIを呼び出し、API応答を再生するように設定するにはどうすればよいですか?エコーとホームオートメーションシステムを所有するすべてのユーザーにこの機能を提供するにはどうすればよいですか?

答えて

1

あなたはAlexa Smart Home Skill APIを使用してAlexaスキルを構築したいと思うでしょう。

このAPIは、具体的な目的で設計されています。

すべての血みどろの詳細はここで見つけることができます:

https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html

短編小説がある:

  1. あなたはアレクサ
  2. によって最初に呼び出されるAWSラムダを作成しますあなたのラムダが "ディスカバリー"コールであることを呼び出す。すべての自宅のオートメーション機器のリストと、あなたが参照したい名前(例えば、機器ID = 7は「フロアライト」と呼ばれます)を返します。
  3. 「Alexa、Floor Lightをオンにする」と言うと、Alexaは「デバイスID#7をオンにする」というラムダに電話します。その後、あなたの家に手を伸ばす必要があり、そのデバイスをオフからオンに変えるために必要なことは何でもしなければなりません。
+0

サービスを使用する前に、ユーザーを認証する必要があります。 Alexaを使用して私のシステムにログインするようにユーザに促すにはどうすればよいですか? –

1

私は実際には、on GitHubのプロセスを簡略化するのに役立つSDKを作成しました。キットを使用する方法を段階的に説明します。あなたが何か問題があるなら、幸運なことに、lmk。

+0

このSDKはamazon IoT権限を使用します。私はそれを使用していません –

+0

@albinantonyそれは正しいです、なぜあなたはAWS IoTに反対しているのですか? –

1

私はtigに同意します。アレクサのスマートホームスキルが行く方法です。

ユーザーを認証する方法を決定する必要があります。あなたのサーバーが既にOAuth2を提供している場合は、Alexaスキルをインストールするときにアカウントのリンクを使用してユーザーを認証することができます。

Alexaスマートホームがすべてのダイアログを処理します。あなたは単に機能を公開します:endpointIdはあなたのコード(すなわち "lrfloor")にデバイスを識別し、friendlyNameはAlexaが応答するものです(例えば、 "living floor floor light")。 Alexaはその後、 "Alexa、turn on ..."などを扱います。

Amazonは最近、スマートホームAPIのV3を発表しているので、ご覧になるチュートリアルや例は、新しいAPIをサポートしています。古いV2。 APIは非常に異なります。おそらく、廃止予定のAPIを学習するために多額の投資をしたくない場合があります。

関連する問題