2016年2月8日月曜日

IRKit+Tasker+Pebbleでスマート家電(2)

では前回の続きです。


● 赤外線信号情報を学習する(Android/Windows)


iPhoneアプリがやってくれてることを、コマンドでやります。
まず覚えさせたいリモコンを IRKitに向けてポチ。LEDが点滅します。
そしたら次のコマンド。

% curl -i "http://(Fingで調べたIRKitのIP)/messages" -H "X-Requested-With: curl"
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/2.1.3.13.gbe33d36
Content-Type: text/plain

{"format":"raw","freq":38,"data":[19991,10047,1275,(中略),19991,5049,1275]}

ゲットした情報のうち、一番下の行がリモコンの赤外線信号を数値化したものです。


● Tasker経由で信号送信してみる(Android)


では得た情報をまとめて、送信用スクリプトを作りましょう。簡単です。
メモ帳を開いて、以下をコピーしてください。

var id = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
var key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
var msg = {"format":"raw","freq":38,"data":[XXXX,XXXX,XXX,X,XXXX,XXXX,XXXX,XXXX]};

function send(message){
  var xhr = new XMLHttpRequest();
  xhr.open("post", "https://api.getirkit.com/1/messages", false);
  var form = new FormData();
  form.append("deviceid", id);
  form.append("clientkey", key);
  form.append("message", JSON.stringify(message));
  xhr.send(form);
}

function main(){
  send(msg);
}

try{
  main();
}
catch(e){
  flash(e.message);
}
exit();

上から3行のXXXを書き換えます。(3行目はいちおう等号の後をすべて置き換えます)

・id の行に、前回ゲットした DeviceID
・key の行に、同じくゲットした ClientKey
・msg の行に、先ほどゲットした赤外線信号の情報。

そしたら"(任意の名前).json"という名前で保存してください。
わたしは家電の名前を付けてます。"humidifier.json"(加湿器)とか。

このあたりの手順は以下のブログを参考にさせていただきました。
rdmmtd's blog - IRKitを使って家に帰ったら電気がつくようにした

そしたらそれを Androidの適当な場所に置いてください。
わたしは Taskerフォルダの下に"Scripts"というフォルダを作って置きました。

そしたら、
1. Taskerで Tasksタブに移動。
2. "+"で新規作成>任意のタスク名(わたしはここも家電名)。
3. もう一度"+"でタスク内の処理を新規作成>Code>JavaScriptを選択
4. Path欄の虫メガネアイコンをタップして、先ほどのjsonファイルを指定
5. 戻るx2

これでタスクが1個できてると思います。
試しにタスクを開いて、左下の再生ボタンを押すと・・・

家電に信号が飛んだはずです。

● PebbleTasker(Pebble)


Tasker のタスクは、Profileタグで条件指定して自動発動もできますし、
ショートカットにしたりもできます。
それも便利なのですが、ここでは Pebble連携をやりましょう。

Tasker の右上の"・・・"から"Preferences"(設定)を選び、"Misc"タブへ。
"Allow External Access"にチェックを入れてください。

あとは簡単。PlayストアとPebbleストアで、スマホとPebbleの両方に PebbleTasker をダウンロード。Androidで PebbleTaskerを起動すると、Pebbleのボタンにアサインする画面が出るので、
先ほど作ったタスクを選択。

で、Pebbleで同アプリを起動してみると・・・


さあボタンを押してください。あなたの腕から家電が操作できるはず!
次回は Pebbleからの更なる使いこなしを行いましょう。

0 件のコメント:

コメントを投稿

Evernote

Clip to Evernote