memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

まわりくどい時報システム

いつも拝聴しているテック系人気ポッドキャストGoogle AssistantとIFTTTを連携してテレビをオンオフする話がありました。

Rebuild: 174: One Thousand Custom Emojis (sotarok)

「テレビつけて」というとテレビのスイッチがはいる。未来ですねぇー。知ってはいましたがスルーしていたAmazon AlexaGoogle Homeとか欲しくなってきました。値段も手頃なので個人輸入してみようかと思いましたが技適が通ってないとかでとりあえず諦めました。

話は戻して。

スマホAndroidに変えたことだし宮川さんと同じことがしてみたいな、と思いまして、今日の午前に時間をとって調査してみました。結論からいうとGoogle Assistantは僕のZenfoneでは使えず(厳密にいうとGoogle AssistantはAlloアプリで使えたのですがIFTTTでは反応してくれませんでした)Google Pixelじゃないとダメなんだそうです。残念。。。Google PixelはZenfoneのように安くはないので勢いではなかなか買えません。

IRKITは数年前に買ったものの、スマホアプリで研究室のエアコンを入り切りできるようにした程度で放置してました。せっかくしIFTTTとの連携はやったことなかったのでトライしてみました。

以下、その作業ログです。

まず、IRKITの準備です。IRKITと macwindowsは試してませんができるはずです)を同じLAN内におきます。そして、以下のコマンドをターミナルで実行します。IRKITのインタフェース名を取得します。

dns-sd -B _irkit._tcp

取得したインタフェース名を以下のコマンドに当てはめてコマンドを実行します。IRKITのIPアドレスがわかります。

dns-sd -G v4 ここにインタフェース名をいれる.local

インターネットからIRKITにアクセスして通信するにはclientkey, deviceidが必要とのことです。まず以下のコマンドを実行してclienttokenを取得します。以下では、IRKITのIPアドレスを仮に192.168.1.1とします。

curl -i "http://192.168.1.1/keys" -d '' -H "X-Requested-With: curl"

取得したclienttokenをXXXXに入れて以下を実行するとclientkey, deviceidがわかります。

curl -i -d "clienttoken=XXXX" "https://api.getirkit.com/1/keys"

最後に、リモコンをIRKITに向けて記憶させたいボタンを押します。その後、以下のコマンドを実行するとリモコンから送信されたデータがわかります。

curl -i "http://192.168.1.1/messages" -H "X-Requested-With: curl"

以上についての、より詳しい解説はIRKITのホームページに書かれています。

IRKit - Open Source WiFi Connected Infrared Remote Controller


これで準備完了です。あとはIFTTTの設定になります。

IFTTTの設定については以下の記事を参照してください。

blog.hello-world.jp.net

で、何を制御しようかと思ったのですが。。。(その前に考えておけよ。。。自分)

研究室に赤外線リモコンに対応した装置はエアコンだけ。。。それもなんだな。。。と諦めかけたとき、卒業生に記念にもらったフォトフレームがあることを思い出しました。調べると2008年卒。。。10年近く前ですね。。。いろいろな意味で元気で優秀なメンバーでした。みんなどうしているかなぁ?しばらく使っていなかったので電池が切れてて。。。セブンに電池を買いに行き(細かいっ)。

操作してみるとリモコンの再生ボタンで音楽を再生できることがわかりました。

f:id:ke_takahashi:20170216145859j:plain

とりあえず猫の写真をGoogleで検索してもってきていれておき再生ボタンを押すと。。。いい感じです。研究室で一人でもくもくと作業しているといつのまにか真っ暗。。。ということもよくあるので、時間経過を知らせる何かはあるといいかな。。。と思いました。

音楽は何にしようかなと思ってフリー素材を探したのですがあんまりいいのが見つからなくて。どうせならrebuild.fmのあのカッコいいジングルにしよう(個人利用なので問題ないでしょう。。。)と勝手に判断し、過去のポッドキャストの音源をダウンロードしてAudacityで切り取ってフォトフレームに転送しました。

で、IFTTTのDate & Timeという日時を条件にするサービスがあったのでそれを利用しました。一時間に1回しか起動できなかったので、以下のように2個(毎時0分と毎時30分)を定義しました。

f:id:ke_takahashi:20170216150304p:plain

あとはフォトフレームを壁にかけて。IRKITをいい感じのところ(エアコンも操作するので両者が信号を受け取れる範囲のところ)におきました。

f:id:ke_takahashi:20170216150530j:plain

で、とりあえず完成したのが以下です。フォトフレームはネット対応でないため時刻が微妙にずれていますが毎時0分と30分にジングルが流れるようになりました(笑)。

youtu.be

よくよく考えてみればスマホにアプリをいれれば同じことができるんですけどね。。。構成図をマンガで書くと以下のような感じです。ムダですねぇ。。。笑 何か使えるときがあるかもしれません。

f:id:ke_takahashi:20170216151801p:plain