Deep Tech. Blog

ガジェットや技術についての紹介や自身のメモとして記事を書いていくブログ

【Google Home】Google Homeに喋らせたい(IFTTT連携自動化)

概要

 前回,IFTTTのButton Widgetを使ってIFTTTアプリのボタンを押すことでGoogle Homeを喋らせることが可能になりました.今回はボタンを押すのではなく,IFTTTアプリが取得している自己位置をトリガーとしてGoogle Homeが喋れるようにしてみたいと思います.

手順

 基本的な手順は前回のButton Widgetと同様で,トリガーの設定が異なります.今回もIFTTTのWebサイトでAppletを追加していきます.まず,ホームの右上ドロップダウンメニューから「New Applet」を選択します. f:id:deep_tech:20180909005633p:plain
 「+ this」をクリックしてトリガーの設定を開始します. f:id:deep_tech:20180909005631p:plain
 今回はIFTTTアプリが端末から取得している自己位置情報をトリガーにするので「location」サービスを選択します. f:id:deep_tech:20180909005654p:plain
 次にどんなタイミングでイベントを発生させるのかを選択します.選択肢として以下の3つタイミングが選べます.

  • You enter an area:エリアに入ったタイミング
  • You exit an area:エリアから出たタイミング
  • You enter or exit an area:エリアから入ったか出たタイミング

 ここでは自宅に帰るタイミングで喋らせたいのでエリアから出たタイミングをトリガーとします. f:id:deep_tech:20180909005652p:plain
 次にエリアを設定します.地図とエリアを示す円が表示されているので,エリアの中心と地図の拡大率を変更することでエリアを調整します.GPSWiFiベースの測位は誤差が100m程度になることもあるので,このエリアは狭くし過ぎるとエリア内にいてもエリアから出たことになってしまったりします.普段当該エリアでどの程度の精度で測位が出来ているかを確認しておくと調整しやすいと思います. f:id:deep_tech:20180909005649p:plain
 次に「+ that」をクリックしてアクションを設定します. f:id:deep_tech:20180909005647p:plain
 google-home-notifierにPOSTするために「Webhooks」を選択します. f:id:deep_tech:20180909005645p:plain
f:id:deep_tech:20180909005643p:plain
 POSTする内容を設定します.これは前回と同様で,喋らせる内容を適当に変更します.
 URL:node example.jsを実行した際に表示されるngrokのURLを入力
 Method:CURLでPOSTしたようにPOSTを指定
 Content Type:application/x-www-form-urlencodedを指定
 Body:text=[Google Homeに喋らせる内容]形式で入力
f:id:deep_tech:20180909005641p:plain
 適当な名前を設定して「Finish」ボタンで設定完了です. f:id:deep_tech:20180909005638p:plain
f:id:deep_tech:20180909005636p:plain
 IFTTTのアプレットの作成が終ればIFTTTアプリにも設定が反映されるので,後は自動的にイベントが発生してGoogle Homeが喋ってくれます.

まとめ

 Google Homeを喋らせる方法が分かったことで自分の中でGoogle Homeの価値が上がりました.折角なので何か他のことも喋らせてみたくなりました.例えば出勤前に自動的に今日の予定を喋ってくれるとか.なんだかんだ言ってわざわざ「ねぇ,ぐーぐる」とか言ってウェイクアップさせるのって面倒ですよね.出勤前とか準備している時間が決まっているので日時をトリガーにしてGoogleカレンダーから情報を取ってくるようなことができればいいなと思います.今後時間があれば試してみたいです.