IRCaptureをIRKit iOS SDK 2.0に対応した

IRKitで赤外線キャプチャするツールIRCaptureがビルドが通らなくなったり、動かなくなっていたので対応した。

バージョンv1.0.1。IRKit iOS SDKをv2.0.2に上げてビルドが通るようにした。

Frmwareを2.0に上げたせいなのか、IRCaptureからiRKitが発見できなくなっていたが、無事発見されるようになった、赤外線コマンドも取れるようになった。でも、試しにキャプチャしたコマンドを送信しても動かない。よく見てみるとキャプチャした赤外線のbyteデータが全て同じになっている。デバッグしていくとどうもResponseの時点でおかしい。

なので、iOS関係なく IRKit Device HTTP API を使ってもちゃんと取れない。コマンドによってバイト数は変わるが値が常に0。

$ curl -i http://192.168.1.43/messages
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/2.0.0.0.g992a4a5
Content-Type: text/plain

{"format":"raw","freq":38,"data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}

IRKit本体側の問題のように思えたのでFirmwareの最新版をチェック。するとIRKit Deviceの2.0.1がリリースされていて、Macからの更新方法が書いてあった。久しぶりに Arduino IDE を使った。

Firmwareの更新はGitHubリポジトリにあるREADMEの手順に従ったがそのまま version.template を使うとバージョン番号が __VERSION__ になってわからないので version.c にリネームしたあとバージョンを書いた。

firmware/src/IRKit/version.c
const char version[] = "2.0.1";

どうやら製品版のバージョンにはGitのコミット番号が付いているようだ。

Firmware 2.0.1に上げた所、GET /messages が無事動くようになりました。ふー。IRCaptureは実機(x64)でも動くようになりました。でも赤外線コマンドをメモるにはXcode+シミュレータで動かす方が楽です。

Raspberry Pi、もしくはIRKitと何かを使って目覚ましや通知的なことをしたいと思っている。