irkitコマンドという便利ツールも入れておいた。



IRKit


先週買った。うちのエアコンの赤外線はデータが長くて、既存の学習リモコンで学習できない事が多いんだけどIRKitだとokだった。
置き場所もカーテンレールの上に適当に置いてるだけなんだけど、エアコンの赤外線受光部は死角のはずなのに壁で反射してるのかちゃんと届いてる。よくできてると思う。


インストール

https://rubygems.org/gems/irkit
実行にはRuby2.0.0以上が必要のはず。1.8.7は非サポート。
% gem install irkit

なおubuntuやdebianでは事前にavahiをインストールしておく必要がある。これはLAN内のIRKitを見つけるのにbonjourを使っている為。
% sudo apt-get install libavahi-compat-libdnssd-dev

使い方


https://github.com/shokai/ruby-irkit#usageに書いた。サンプルコードもある。

BonjourでLAN内のIRKitを見つけて、赤外線が読み書きできる。
require 'irkit'

irkit = IRKit::Device.find.first
ir_data = irkit.get_messages

irkit.post_messages ir_data

また、Internet APIというプロキシを使うとLAN外からも操作できるんだけど、そのためのclientkeyやdeviceid等の発行もできる。


irkitコマンド

gemをインストールすると実行可能コマンドも付いてくる。
普通のHTTP APIとInternet API両方とも使える。
コマンドからリモコン操作できるので、crontabで朝あらかじめ暖房をつけるとかできる。
エアコンのリモコン探すよりCUI使ったほうが速いので、shellの履歴から「暖房」で検索して「irkit -post 居間エアコンOFF」を探してenter押せば暖房が消せる。

% 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発射