社内でGoogle Home使ってハッカソンしました
タイトル通り1日エンジニアの業務をストップしてハッカソンしました
作ったものは大したことないんですが、3人チームでメンバーの一人がGoogle Homeを持っていたのでそれを使っての開発が楽しかったので振り返りを
作ったもの
「我々には仕事より大切なものがある」をテーマにGoogle Homeでアイドルやアーティストのライブに遅刻しないように、逐一Google Homeに喋ってもらおうと頑張りました。
ひたすらググって出てきた参考ソースをほぼコピペしてだけなのですが…
喋ってもらうもの
- 公式ブログ
- 公式アカウントのツイート
- 特定ワードのツイート
- 「残り時間教えて!」と聞くと、ライブまでの残り時間教えてくれる
- etc…
使用したライブラリなど
Google Homeに指定した文言を喋ってもらうのには
github.com ツイートの取得には
以上2つお世話になりました。
また独自の音声コマンド「残り時間教えて」を実行するのにIFTTTを使いました
これらの3つはGoogle Homeでググるといっぱい先人の経験があるのでおかげさまで楽できました
それらを組み合わせてこんな感じになりました
基本的にツイートを喋ってもらう分には問題無い作りです。StreamingAPIで流れてくるテキストをgoogle-home-notifierにcurlを投げつければいいだけなので
ただ独自の音声コマンド追加して何かさせるというのがGoogle Homeあまり向いてないんですかね…こんなめんどくさいことするとは思わなかったです。
- 「残り時間教えて」って言うとGoogleHomeが反応
- IFTTTのApplet実行し、特定のワードをTwitterに投稿
- 特定のワードがStreamingAPIで流れてきて、ローカルPCで取得
- 残り時間計算して、google-home-notifierにcurlなげて計算結果しゃべってもらう
なんじゃこりゃ…ハッカソンなので許してください
ハマったところ
google-home-notifierを使うためにGoogle Homeの固定IPを取得する必要があったのですが、スマホの端末とGoogle Homeとの接続が同一ネットワーク内にあるにも関わらずうまく接続できないということがありました。
結果社内のwifiが悪いということが判明して手持ちのiPhoneでテザリングして繋いだらあっさりセットアップできたのでなんとかなりました。
改善点
- やはりgoogle-home-notifierを常駐しておく用のラズパイなり何かが欲しかった
- もっと別のいいやり方や連携サービス使えたかもしれないが知識が足りなかった