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
にリネームしたあとバージョンを書いた。
const char version[] = "2.0.1";
どうやら製品版のバージョンにはGitのコミット番号が付いているようだ。
Firmware 2.0.1に上げた所、GET /messages
が無事動くようになりました。ふー。IRCaptureは実機(x64)でも動くようになりました。でも赤外線コマンドをメモるにはXcode+シミュレータで動かす方が楽です。
Raspberry Pi、もしくはIRKitと何かを使って目覚ましや通知的なことをしたいと思っている。