気づいたら IRKit GUI つくってた
2017年1月 追記
IRKit
驚くほど小さい。
Amazon の箱を開けたとき、同時期に注文していた「Fluentdサーバ/インフラエンジニア養成読本」が届いたものだと思っていたから中身がコレでびっくりした。
参考サイト
IRKit とはなんぞやという方はこのあたり見るとよいです。
IRKit - Open Source WiFi Connected Infrared Remote Controller
公式サイトAmazon.co.jp: IRKit - iPhone,iPadを使って外出先からエアコン等の家電を操作できる学習リモコン
Amazon のレビューもひと通り見ておくiPhoneを家電のリモコンに変えるデバイス「IRkit」を全力でオススメします。
IRKit の紹介記事。これにだいたい書いてあるから自分で書くのやめたHTTP、JavaScriptで家電を自動操縦、ホットな学習リモコンサーバIRKitの在庫復活!
eRemocon, IRKit, Pluto, iRemocon, FutureHomeController の比較表がある橋本商会 » 赤外線学習リモコンIRKitのrubygemを作った
IRKit を RubyGem で扱えるようにしてくださった方の記事。GitHub: shokai/ruby-irkit
買ってみてわかったこと
- 外部電源が必要
- microUSB ケーブルで供給
- Mac mini つけっぱなしだからこれにつないでおこう
- IRKit本体にデータが記録されているわけではないっぽい
- アプリの中とかに赤外線信号の内容を記録して使うのかな
- アプリ「これエアコン電源ON命令データです。よろしく~」
- IRKit「はいよ、これ送ればいいのね。赤外線、送信~」
赤外線信号のテキストデータを調べるには
- IRKit本体に向けてリモコン信号を発信
- IRKit本体の青いLEDが点滅する
- IRKit本体に赤外線信号情報が記憶される
- GET /messages で赤外線信号情報を取得
- 1回取得するとIRKit本体から消える
RubyGem "irkit" を使う
irkit
コマンドのサンプル
% irkit --help % irkit --get tv_on # tv_onという名前を付けて赤外線データを保存 % irkit --post tv_on # tv_onを赤外線発射 % irkit --list # デバイスやデータのリストを見る % irkit --post tv_on --address 192.168.0.123 # IPアドレスを指定してtv_on赤外線発射 % irkit --device:add myhouse # myhouseという名前でInternet APIのclientkey等を保存 % irkit --device myhouse --post tv_on # 自宅のIRKitをLAN外からtv_on発射
ひと通りのことができるようだ。すばらしい。
製品の HTTP API だけでは赤外線信号データを保管できないので、それを扱えるのもこの Gem を使う利点である。
json データはどんな感じなのか
デフォルトだとホームディレクトリの.irkit.json
というファイルで管理される。
{ "Device": {}, "IR": { "エアコン ON": { "format": "raw", "freq": 38, "data": [10047,4251,735,……,735] }, "エアコン OFF": { "format": "raw", "freq": 38, "data": [9707,4251,686,……,686] } } }
IRKit GUI
公式サイトにあるような、curl を使用した CUI ではいまいちやりづらい。
特に赤外線信号データがクソ長いのでターミナルのスクリーンがすぐ流れる。なので Web サーバを立てて jQuery の ajax を使っていろいろ試していた。
そしたらそれがいつの間にか Sinatra ベースになり、データ保管のため RubyGem irkit 経由の処理になり、気づいた頃には GUI アプリのようになってた。
こちらは iPhone Safari で表示したときのスクリーンショット。
インストール方法や使い方
GitHub でどうぞ。
IRKit本体の初期化(リセット)
マイクロUSB差込口の隣にある RESET ボタンを押すとリセットできます。 無線LANネットワークの SSID を変更したときなどに必要となります。 IRKit自体が持つ Wi-Fi アクセスポイントへの接続パスワードは購入時に付属していた紙に記載されています。 また注意点として、IRKit は 2.4GHz 帯にのみ対応しているので 5GHz 帯は NG です。ハマりました。