IRKitを動かしてみた。
昔買って積んであったIRKitを引っ張り出して使ってみようとしてる。
まず最初、脆弱性があるというのでアップデートをしてみてるのだけど、エラーが出てうまくいかないな。駄目な子だなあ。
Windows7でうまくいかなかったのでMacOS X版のアップデータを使ってアップデートをしてみた。
MacではいきなりIRKitがキーボードと誤判定されたりしてちょっと焦ったり、セキュリティの設定でアップデータが素直に動いてくれないなどというのがあったが、なんとかアップデータが動作した。
結果、更新に成功した。
次に、iPhoneにIRKitを使うためのアプリを入れて、動かしてみた。
とりあえずiPhoneアプリから初期設定をして、エアコンのリモコンを学習させて動いたようだ。
家のパナソニックのエアコンのリモコンは信号が長いから大丈夫かちょっと不安だったが、うまく学習もできたようだ。
あと、スマートフォン(iPhone)とかを使わずに自動でリモコンを制御するために、IRKitをWindows PCから使ってみるhackを試してみる。
IRKitのIPアドレスが分かれば、HTTPのGETやPOSTで簡単に動くようだ。
・パソコンで家電をリモコン操作する IRKit
ただ、そのIPアドレスを調べるのを自動でやろうとすると面倒な感じだ。
AppleのソフトのBoujourという仕組みを使って調べることができる。Windows PCにiTunesがインストールしてあれば、準備としてはOK。
コマンドプロンプトから、「dns-sd -B _irkit._tcp」というコマンドでIRKitのサービスを流しているIRKit本体名を探し、見つかったIRKit本体名に対して「dns-sd -G v4 IRKit本体名.local」でIPアドレスなどを調べることができる。
ただ、このdns-sdコマンドは、実行したあとCTRL-Cで手動で止めないと止まらないみたいなので、自動で調べることができない。
ちょっと困った。
Windows 10のFall Creator Updateで使えるようになったmDNSでもいけるらしい?
・Bonjour for Windows不要!Windows10マシンに”.local”でアクセスしよう!
あるいはインターネットAPIを使って動かすというのなら、ローカルのIPアドレスを調べなくても大丈夫らしい(?)
・WindowsでiRKitを使う
あとはIRKitにコマンドを送ったりして、やりとりすればいい。
curlというコマンドを使う。
Windows PCには入っていないのでWindows版curlをインストールして使えばよい。
近いうちにWindows10に標準でcurlは入るらしい。
・「tar」「curl」がWindows 10に、“WSL”も強化 ~Insider Preview Build 17063
プログラムからcurlを使うのにcurl.exeを呼び出すという方法でもよいのだが、libcurlというライブラリを使ってcurl.exeを使わずにソフトを作るというのも可能だ。
以前、ちょっと試しに使ったことがある。
・Google WiFi GeoLocation APIを使って位置情報を表示する
このコードをちょっと弄ればIRKitの制御ができそうだ。
JSON形式のデータを扱うためにjsmnというライブラリを使うというのもそのままいけそう。