IRKit iOS SDKで赤外線キャプチャしてみる

http://getirkit.com/のiOS SDKを使って赤外線信号をキャプチャするアプリつくった。

最初はIRKit Device HTTP APIで信号をキャプチャしようと思っていたんだけど、前回のエントリ(IRKit手に入れた)でも書いたように他にノイズの信号をひろってしまうと最後に取得した信号がとれないためコツがいる。これに対してIRKit iOS SDKは信号を拾うとイベントを出してくれるのでこっちの方が拾いやすい。

というわけでツールのつもりでiOSアプリを書いてみた。RubyMotionを使おうかと思ったけどSDK側のデバッグもしないといけないかもと思ったのでとりあえず普通にObjective-Cで作ってみた。シミュレーターで動くので実機で動かす必要もなさそう。というか実機で動かしてない。

git clone https://github.com/makotokw/IRCapture.git
cd IRCapture
cp -p IRCapture/IRCaptureConfig.h.sample IRCapture/IRCaptureConfig.h
pod install
open IRCapture.xcworkspace

IRCapture/IRCaptureConfig.h にAPIキーを書くと動くはず。APIキーはSDKのドキュメントにもあるが

curl -d "email={your email}" "http://api.getirkit.com/1/apps"
{"message":"You will receive an email shortly, please click the URL in it to get an apikey"}

をすると指定したメールアドレスにApiKeyを取得するためのURLが送られてくる。

IRCaptureはコンソールログにIRKit-Device-APIで送信できるjsonデータを出力しているのでXcodeからコピーして使う。

うちのエアコンは同じ信号でトグルになっているかと思っていたがオンとオフの信号は異なっていた。トグルになっているはエアコンではなくリモコンの状態の方だ。よって遠隔でつけたつもりが消している・・・ということにはならなさそう。リモコンもそうだけどIRKitをエアコンの方に向けてないと信号を拾ってくれないので置き場や向きが重要っぽい。

しかし、定期的に10バイトくらいの信号を拾っているんだけどこれは何なのだろう。

人見知りソフトウェアエンジニアです。ビジュアル系、お笑い、Pixarが好き。勢いで吉本超合金おたけびBOTを作った。オールザッツ漫才が放送されない東京在住。

趣味や日常からアウトプットの場としてブログを書いています。自作のWordPressプラグインにGitHub Flavored MarkdownAmazonJSなど。