IRKitについていくつか記事を書いてきました。
IRKitの基板実装工場に行ってきた
fablabkamakuraでIRKitのプログラム書き込み用治具をつくった
Yamaguchi Mini Maker Faire 2013
ようやくできあがってきたので、
IRKitとは何なのか、ちょっと恥ずかしい動画でご紹介いたします。ご覧ください。
やってみたかったんだよねー、こういう海外だとよくありそうな、開発者がしゃべる動画。
詳しいことは IRKitのwebsite にも書きましたが、こちらの最後にも転載します。
2014/1月の初めに AmazonのIRKitの商品ページ から で購入できるようになるかと思いますが、
早く使ってみたい!という方がいらっしゃいましたら
お渡ししますので試してください!
試していただけた方には、amazonを通さない分かなりお安くできるほか、場合によってはそのまま差し上げるかもしれません! ぜひご興味があれば、以下までご連絡お願いしますー。
@maaash か
o.masakazu@gmail.com
IRKitとは
IRKitは、WiFi機能の付いたオープンソースな赤外線リモコンデバイス。
家庭のエアコンやテレビ、ライトなど、赤外線で操作できる家電を、
WiFiをとおして、iPhoneやiPadなどから操作できるようにするものです。
IRKitは、公式のリモコンアプリ(coming soon!)から操作できるほか、
IRKit iOS-SDKを使えば、
任意のタイミングで赤外線信号を送ることのできるiOSアプリを簡単につくることができます。
例えば
- 位置情報を使いiPhoneが家の近くに来たら自動でエアコンを付けるアプリ
- 1ボタンで家中の家電の電源を消すアプリ(寝る前に便利)
- ソーシャルと連携してFacebook友だちの見ているテレビにチャンネルを合わせるアプリ
など、家電を操作する様々なアプリの可能性があるでしょう。
また、JavaScriptを使ってブラウザから赤外線信号を送ったり
curlを使って黒い画面(Terminal)から赤外線信号を送ることもできます。
IRKitデバイス自体にHTTPサーバがあり、
JSON形式の赤外線情報を HTTP POSTリクエストにのせて送ることで、赤外線信号を送ることができるのです。
また、IRKitと同じWiFiにいなくても、外出先から赤外線信号を送るための、インターネット上にあるサーバのAPIも公開しています。
IRKitデバイスは、Arduino Derivative(派生)のプロダクトです。
未使用のピンは引き出してあるので、温度センサや明るさセンサなどを追加し、ArduinoIDEを使ってプログラムを書き込めば、
よりスマートなリモコンをつくることもできます。
リモコンのどんなところを、諦めていましたか?
どんなふうに家電を操作したいですか?
IRKit iOS SDK
It’s as simple as:
import
[_signal sendWithCompletion:^(NSError *error) { NSLog( @“sent with error: %@”, error ); }];
See more on irkit/ios-sdk
IRKit Device Hardware
See more on irkit/device/hardware
IRKit Device Firmware
IRKit Device HTTP API
IRKitデバイスは、Bonjourを使ってIPアドレスを求めることができます。
% dns-sd -B irkit.tcp
Browsing for irkit.tcp
DATE: —Sat 28 Dec 2013—
23:12:55.623 …STARTING…
Timestamp A/R Flags if Domain Service Type Instance Name
23:12:55.768 Add 2 4 local. irkit.tcp. irkitd2a4
^C
% dns-sd -G v4 irkitd2a4.local DATE: —Sat 28 Dec 2013— 23:16:29.698 …STARTING… Timestamp A/R Flags if Hostname Address TTL 23:16:29.818 Add 2 4 irkitd2a4.local. 10.0.1.2 10 ^C
IPアドレスがわかったら、以下のHTTP APIにアクセスしましょう。
* SafariなどBonjourの.localホスト名を解決するクライアントから以下のHTTPリクエストをする場合には上記は不要です。
GET /messages
最も新しい受信した赤外線信号を返します。
% curl -i “http://10.0.1.2/messages”
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/1.3.0.182.gaf86b44
Content-Type: text/plain
{“format”:“raw”,“freq”:38,“data”:[18031,8755,1190,1190,1190,3341,1190,3341,1190,3341,1190,1190,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,1190,1190,1190,1190,1190,1190,1190,1190,3341,1190,3341,1190,1190,1190,3341,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,65535,0,9379,18031,4400,1190]}
POST /messages
赤外線信号を送ります。
% curl -i “http://10.0.1.2/messages” -d ‘{“format”:“raw”,“freq”:38,“data”:[18031,8755,1190,1190,1190,3341,1190,3341,1190,3341,1190,1190,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,1190,1190,1190,1190,1190,1190,1190,1190,3341,1190,3341,1190,1190,1190,3341,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,1190,3341,1190,3341,1190,3341,1190,3341,1190,3341,1190,65535,0,9379,18031,4400,1190]}’
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/1.3.0.182.gaf86b44
Content-Type: text/plain
赤外線信号を表すJSONについて
赤外線信号は↑のようなJSONで表します。以下のキーを持ちます。
Key | Description |
---|---|
format | “raw”のみ |
freq | 赤外線信号のサブキャリア周波数を表します。38 または 40 のみ。単位 [kHz] |
data | 赤外線信号は、サブキャリア周波数のオン・オフからなります。IRKitデバイスはオン→オフ間の時間、オフ→オン間の時間を 2MHz のカウンタで数えます。dataには、カウンタで数えた数をオン・オフの回数分ならびます。 |
IRKit Server HTTP API
IRKit Device HTTP API は、IRKit Deviceと同じWiFiにつないでいる時のみ、アクセス可能です。
同じWiFiにいない場合には、インターネットからIRKit Deviceに赤外線を送ってもらうには、以下のようにします。
coming soon!!