2017-06-27 10 views
0

私のすべてのハードウェアはすでに開発されています。私は自分のデバイス間の通信にMQTTを使用しています。私はライト、ファン、ヒーター、さらに多くのIOアプライアンスを持っています。私はこれらのすべてを、私が構築した私のAndroidアプリケーションから制御することができます。 Google Assistantを使用してデバイスを制御したいと考えています。私のライトの状態(オン/オフ)はSQLデータベースに保存され、データベースに変更が発生すると(ハードウェアで検出された場合)、ハードウェアがその特定のライトを制御できます。私のAndroidアプリでは、ライトのデータベース値(オン/オフ)を更新するのと同じことを行い、変更はハードウェアプラットフォームで検出されます。 Google Assistantを使用してSQLデータベースの値を更新できますか? Webサーバー(ASP.NET C#)を作成して、Googleアシスタントがユーザー名または電子メール、lightIDコマンドを自分のWebサーバーに呼び出すことができる場合は、関連する顧客のSQLデータベースにコマンドを渡すことができます。 Googleのアシスタントはこれを行うことはできますか?これを達成する方法でない場合。googleでのGoogleアシスタントの行動

答えて

2

Actions on Google Smart Home APIをご覧になり、Assistants Smart Homeコントロールをコントロールサーバーで直接使用できるように思えます。

データベースや既存のWebサーバーがどのように構成され、ホストされているかを正確に把握することなく、私は広範にしか話すことができません。 Webサーバーでは、主に次の2つを実装する必要があります。

  1. ユーザーを表すトークンを発行できるOAuth2サーバーが必要です。これは、Googleがアシスタントのユーザーアカウントをあなたのアカウントに関連付ける方法と、Googleがどのユーザーがコマンドを発行しているかを特定する方法です。

  2. WebサーバーのURLにWebhookを実装する必要があります。このwebhookには、(あなたが発行した)有効な認証トークンとJSON本体のヘッダーを含むPOSTメッセージが送信されます。 JSONには、ユーザーが発行したコマンドに関する情報が含まれます。 HTTP応答本体もJSONになります。 JSON形式と送信可能なすべてのフィールドについて詳しくは、Googleのドキュメントを参照してください。

Googleがユーザーに代わって送信できるさまざまなコマンド(Googleが「インテント」と呼ぶ)がいくつかあります。あなたは、どちらかのクエリによってそれらのすべてを処理することができるか、自分のデータベースを変更する必要があります

  • SYNC - このユーザーが持っているもののデバイスのための要求、その設定情報の一部、および彼らが尊敬するコマンド。
  • QUERY - このユーザーの端末の現在の状態を教えてください。
  • EXECUTE - 一部のユーザーのデバイスの状態を変更します。
  • RESYNC - (将来の更新)ユーザーのデバイス情報の再要求。
+0

コントロールサーバーと実際に接続する方法について具体的に説明できますか?事前に感謝します – user8222166

+0

ドキュメントに詳細が必要ですが、私はより広範な概要で私の答えを更新しました。 – Prisoner

+0

申し訳ありません。私はこれを見てあなたに知らせるでしょう:)。おかげで – user8222166

関連する問題