*この記事は初期のGHKitならびにGHKit Plusの利用方法について記載しています。* *最新の「GHKit Zero」の利用方法については[こちら](https://qiita.com/tetotetote/items/5320a9e833a91c1e128b)をご参照ください。* --- 「[GHKit](http://ghkit.jp/ "GHKit")」は、Google Home などのスマートスピーカーや、Amazon Echo など Bluetooth で接続できるスピーカーに、プッシュ通知機能を追加することを目的に開発されたキットです。
ここでは、「GHKit」と、サービス連携プラットフォーム「IFTTT」との連携手順を説明します。
具体的には、IFTTT の「Date & Time」サービスを用い、あらかじめ設定した時間になった際に、Google Home に特定のメッセージ(例:おやつの時間です)を送信(再生)する手順について記載します。
この手順をマスターすれば、「時間」以外にも、「メールを受信したとき」や「(条件に合う)ツイートがあった時」など、IFTTT で利用できる数百ものイベントをトリガーにして、Google Homeにメッセージを送信(再生)することが可能になります。
また、接続するスピーカーを変更することで、Amazon Echo など Google Home以外のスマートスピーカーや、様々な Bluetooth スピーカーで、同様のプッシュ通知を実現できます。
設定前の準備
連携を設定する前に、以下の項目を確認してください。
1. 「スピーカー」と「GHKit」のセットアップ
最初に、Google Home など使用したいスピーカをセットアップし、利用できる状態にしておいてください。
次に、HP上の手順を参考に「GHKit」のセットアップと、使用したいスピーカーとの接続を確認してください。
2. IFTTTのアカウント作成
IFTTT にアクセスし、アカウント作成(Sign up)してください。
Google アカウントをお持ちの方は「Continue with Google」を選択されると簡単です。
3. 連携情報の用意
「GHKit」購入時に送付される下記の情報を用意してください。
- GHKit ID:ここでは例として「abcde12345」を用います。
連携の設定
連携の設定は、全て IFTTT の WEBサイトで行います。
あらかじめログイン(Sign in)しておいてください。
利用したいサービスの検索と接続(Connect)
まず最初に、利用したいサービスを検索します。
上部メニューの「Search」をクリックし、興味のあるサービスを探します。
今回は決まった時間にアクションを起こす「Date & Time」サービスと、HTTPリクエストを送信できる「Webhooks」サービスを利用します。
###「Date & Time」サービス
「Date & Time」サービスに接続(Connect)して利用できるようにします。
検索ボックスに「Date」と入力すると「Date & Time」サービスが表示されます。
選択すると下記の画面が表示されるので、「Connect」をクリックします。
下記のようにタイムゾーンを設定し、もう一度「Connect」をクリックします。
これでこのサービスを利用できるようになりました。
###「Webhooks」サービス
同様に「Webhooks」サービスに接続(Connect)して利用できるようにします。
検索ボックスに「Webhooks」と入力し、「Webhooks」サービスを選択し、「Connect」をクリックします。
追加の設定なしに利用できるようになりました。
アプレット(Applet)の作成(トリガーの設定)
IFTTT では、連携をアプレット(Applet)という形で作成します。
上部メニューの「My Applets」を選択し「New Applet」ボタンをクリックします。
(「New Applet」は右上のアカウント部分からも選択できます)
クリックすると、下記の作成画面が表示されます。
IFTTT では、連携を「This」した時、「That」するという形で設定します。
「This」がトリガー、「That」がアクションとなります。
ここではまず「This」をクリックしトリガーを設定します。
先ほど接続(Connect)した「Date & Time」サービスを選択します。
いくつかあるメニュー(トリガー)のうち「Every day at」を選択します。
これは「毎日決まった時間になったら」を表現するトリガーです。
時間を設定します。テストの際は、現在時刻と近い時間で設定してください。
「Create trigger」をクリックします。
アプレット(Applet)の作成(アクションの設定)
次に「That」をクリックし、トリガーに対するアクションを設定します。
ここでは GHKit へメッセージを送信するアクションを設定します。
検索窓に「webhook」と入力し、先ほど接続(Connect)した「Webhooks」サービスを選択します。
アクションとして「Make a web request」を選択します。
ここで下記のように GHKit への接続情報を記載します。
- URL:https://ifttt.ghkit.jp/
- Method:POST
- Content Type:application/json
- Body:{ "message" : "IDと一緒にGoogle Homeに喋らせたい内容をここに記載" }
特にBody部分が重要です。括弧やダブルクオテーションなどがきちんと含まれるように入力してください。
逆に「Body:」部分は不要です。「{」から「}」までを記載してください。
今回は例として、GHKit ID を「12345abcde」、Google Home に喋らせたい内容を「おやつの時間です」で設定します。
その際は、次のように入力します。( GHKit ID は事前に準備した内容に置き換えてください)
- { "message" : "12345abcde おやつの時間です" }
「Create action」ボタンを押し、次に「Finish」ボタンを押して作成を完了します。
上部メニューの「My Applets」をクリックすると、作成したアプレットの一覧が表示されます。
また上部メニューの「Activity」でアプレットの実行状況を確認できます。
指定した時間に Google Home(スピーカー)から「おやつの時間です」という音声が流れれば成功です。
流れない場合は、設定を見直したり、「Activity」を確認してみてください。
最後に
今回は、IFTTT の「Date & Time」サービスを用い、あらかじめ設定した時間になったら、Google Home に特定のメッセージ(例:おやつの時間です)を送信(再生)する手順について説明しました。
この中でトリガーとなる「This」部分を変更すれば、IFTTT が用意する数百のサービスをトリガーにして、Google Home にメッセージを送信(再生)することが可能になります。
また、GHKit と接続するスピーカーを変更することで、Amazon Echo などの他のスマートスピーカーや、Bluetooth スピーカーで、同様のプッシュ通知を実現することができます。
加えて、今回は取り上げていませんが、アプレット作成画面中の「Add ingredient」ボタンをクリックすると、様々な付加情報をメッセージに追加できます。(「Date & Time」サービスでは時間情報を付加して、メッセージに時間を含めることも可能です)
どのように利用するはかアイデア次第です。面白い使い方を是非発見してください。