【買ってみた】IRkit

Posted by yonezo in 日記 | Leave a comment
Pocket

夏休みに突入ということで、キャンプにも行くし、旅行にも行く機会が増えます。

家を開けることが多くなるので、何か防犯的な事を…と考えていたら、IRkitという家の中のリモコン機器をiphoneから操作できるというブツがあるとの事で、購入してみました。

これ使って、リビングの照明とか外出先から点けられれば、それなりの防犯にはなるのかなと。

まぁ、クソ暑い日とかの帰宅時にエアコンを点けておいて、帰ったら冷え冷えで天国ー、みたいな使い方がほとんどだと思うが。

で、ポチって届いたんだが、なんだこれ的なサイズ。

2014-07-18 11.39.14

 

拍子抜けするくらいの大きさ。つか、関係ないんだけど「これでこの値段かぁ…」って思ってしまう、それくらいの大きさ。

開封すると、本体と紙っペラが2枚。形状はバブを連想。

2014-07-18 11.40.05

 

もう一枚の紙には、本体のmacアドレスとwi-fiのパスワードが書いてあった。

で、電源はUSBなので、とりあえずパソコンに繋いでみる。

iphoneにインストールしたアプリからwi-fi接続して、とりあえずエアコンのONとか学習させてみると、簡単に操作が可能に。

ほほー、これは面白いなぁ。

テレビとか扇風機とか、とりあえず赤外線リモコンのある家電を登録。

何の問題もなく操作できるようになった。

で、肝心の照明だが、リビングの照明はリモコンが無いので、これで対応。

これもまた、サクッと登録完了して、リビングの照明がiphoneから操作可能となりました。

 

で、ここからが本番。

目的は「外出先から操作可能にする」ことなので、家のwi-fiに接続した状態で操作が可能になっても、あまり意味がありません。

試しに、iphone側を4Gにして、先ほどのアプリから操作しようとすると、

「認証エラーがおきました」

とか出てきて、案の定操作できません。

これは、同じネットワーク上にある状態でしか操作できないようです。

外出先から操作可能とするには、

IRKit Internet HTTP API

てのを使って、ゴニョゴニョしないとダメみたいです。

で早速やってみる。

基本的には、外部サーバ(IRkit社が用意してくれているサーバ)に自分のIRkitを登録して、そこ経由(外部サーバにPOST)する事で、自分のIRkitに赤外線出力の指示を行うって感じ。

まずは、IRkitのローカルIPを調べます。これ分からないとアクセスできないんで。

私の場合は、wi-fiルータ側の設定画面を見て分かりました。

で、ローカルのIPが分かったら、clienttokenというのを取得します。→POST/keys

IRkitのアクセストークンですかね。

で、トークンが取得できたら、外部サーバへ登録を行います。→POST/1/keys

ここで、deviceidとclientkeyが外部サーバから取得できます。

この2つのキーを外部サーバにPOSTする事によって、自分のIRkitとの紐付けを行う感じですね。

 

次に、外部サーバ経由で送信するJSON形式の赤外線情報を取得します。

先ほど、iphoneアプリの所で登録したような感じで、再度リモコンをIRkitへ向けて、操作したいリモコンのボタンをポチっと押すと、LEDが点滅してIRkitが一時的に記憶してくれます。

そこで、PC側からIRkitに登録されたJSONコードを取得する感じ。→GET/messages

 

複雑で長いコードだと、IRkit側から接続が切られてしまう事があるので、その場合は諦めずに何度も行ってみる。

ここで取得したJSONコードを、先ほど取得したdeviceid、clientkeyと共に、外部サーバへPOSTで送ってやると、目出度く外出先から操作できるようになるという事みたいです。

で、早速やってみます。→POST/1/messages

今更だが、https://api.getirkit.comこれが外部サーバのURLですね。

あと、-iとかは、ヘッダの出力なので特に付ける必要もありません。

あとあと、windowsのコマンドプロンプトでは、そもそもcurlが無いのかも知れないのでmacかlinuxマシンが無いと無理かもですね。

 

で、コマンド書いてパソコンのenterで実行すると、部屋の照明が点いたり消えたりする。これは面白いw

で、こいつをiphoneから操作するためには、適当な自分のサーバにhtml(php)のページでも置いて、アクセスするようになりますね。

適当にPOSTするページを書いて、そのページをiphoneからブラウザで開いてボタン押下で送信すると、おお!リビングの照明が点いたり消えたりです!w

<form action="https://api.getirkit.com/1/messages" method ="POST">
<input type="hidden" name="clientkey" value="<?php echo $clientkey;?>">
<input type="hidden" name="deviceid" value="<?php echo $deviceid;?>">
<input type="hidden" name="message" value='{"format":"raw","freq":38,"data":[5049,5049,1679,1679,1679,1679,1679,1679,1679,3704,1679,3704,1679,3704,1679,3704,1679,1679,1679,65535,0,42612,5049,5049,1679,1679,1679,1679,1679,1679,1679,3704,1679,3704,1679,3704,1679,3704,1679,1679,1679,65535,0,42612,5049,5049,1679,1679,1679,1679,1679,1679,1679,3704,1679,3704,1679,3704,1679,3704,1679,1679,1679,65535,0,42612,5049,5049,1679,1679,1679,1679,1679,1679,1679,3704,1679,3704,1679,3704,1679,3704,1679,1679,1679]}'>
<input type="submit" value="照明ON">
</form>

こんな感じ。

問題は、このIRkitをどうやって設置するかだなぁ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です