Pebble + Snowy + IFTTT + Wemo で時計から音声コマンドで灯りを点けたり消したりする話

Posted about 1 year ago by yoosee.
  iot pebble

さて最近は Pebble Time Round を思ったより腕につけているが、そんな Pebble に Snowy という、Pebble の音声入力を使って色々な音声コマンドを実行することができるアプリがある。Google Now や Siri ほど複雑なことはできないが、単位の変換やチップ計算、タイマーのセットなどが音声コマンドから簡単にできるので結構役に立つ。

この Snowy には IFTTT との連携機能がある。この手の実装によくある形だが IFTTT Maker Channel との連携になっている。つまり Snowy で何かしらコマンドを入れると、それに対応する Maker Channel のトリガーが実行される。

IFTTT Maker to Wemo

まずスマホ側 Pebble アプリの Snowy 設定 IFTTT MAKER KEY に Maker Channel を Activate すると表示される API Key を設定。Maker には例えば snowy_light_on というトリガー名を設定する。この snowy_ 以降のトリガー名がそのまま Pebble でのコマンド名になるので、Snowy に対して “Snowy, Light on” のように音声コマンドを入れるとこの Maker のトリガーが実行される。このトリガーに IFTTT の Recipe にて例えば WeMo Switch Channel の Power Toggle を設定しておけば、WeMo に接続された電灯が点灯・消灯する。

Maker Channel を使えば Pebble から IFTTT の任意のトリガーを引けるので、割と使い勝手があるんじゃないかと思う。唯一の問題は Snowy の音声認識は予め決まった Command であれば割と問題ないのだがこの場合は任意の英語、上記の例だと Light on になるが、これを正確に渡すための発音認識が結構厳しい…。まあ実体と違っても認識しやすい単語セットにするのが手だろうか。

余談になるが IFTTT の Maker Channel は非常に単純な構造で、アカウント毎に払いだされる Key を用いて HTTPS の POST を受けるとトリガーが発動するよう設定できる。設定をすればトリガーからパラメータも渡せる。

% curl -X POST https://maker.ifttt.com/trigger/snowy_light_on/with/key/abcdefg012345xyzzz

元々 Raspberry Pi などの DIY の電子キットなどから呼ぶ目的のチャネルらしいので、使い方を考えてみるのも面白いと思う。