Skip to content

Instantly share code, notes, and snippets.

@mash
Last active August 29, 2015 13:55
Show Gist options
  • Save mash/8746322 to your computer and use it in GitHub Desktop.
Save mash/8746322 to your computer and use it in GitHub Desktop.

IRKitについて

Conference With Developers 2

2014-02-01

@maaash

自己紹介

http://twitter.com/maaash

http://github.com/mash

http://maaash.jp/

ニューヨークかサンフランシスコで働きたいです

IRKit

opensource infrared remote controller

background

ハードウェア構成

  • WiFiモジュール (802.11b/g/n)
  • マイコン (ATMEGA32U4-AU Arduino Leonardoと同じ)
  • 赤外線LED x 2
  • 赤外線受信器

何ができるの 1

  • 家のWiFiに接続
  • モールス信号でWiFiの情報をiPhoneから渡す

morse

何ができるの 2

  • 家のWiFiに接続

  • 赤外線を送受信

learn

何ができるの 3

  • 家のWiFiに接続

  • 赤外線を送受信

  • HTTPサーバになる http://irkitXXXX.local/

    Bonjourで発見、ホスト名の解決

  • GET /messages : 受信した赤外線信号をJSON形式でとれる

  • POST /messages : 赤外線を送信

何ができるの 4

  • 家のWiFiに接続

  • 赤外線を送受信

  • HTTPサーバになる http://irkitXXXX.local/

  • インターネットからも http://api.getirkit.com/

    IRKitはHTTPクライアントでもあり、インターネット上のサーバにロングポールしてる

  • GET /1/messages : 受信した赤外線信号をJSON形式でとれる

  • POST /1/messages : 赤外線を送信

何ができるの 5

  • そして これをラップした iOS SDK

iOS SDK - install

use cocoapods

$ cat podfile
platform :ios, '7.0'
pod 'IRKit', :git => 'https://github.com/irkit/ios-sdk.git'
workspace 'MyApp.xcworkspace'
xcodeproj 'MyApp/MyApp.xcodeproj'

$ pod install

iOS SDK - 赤外線を送る

[signal sendWithCompletion:^(NSError *error) {
    NSLog(@"sent error: %@", error);
}];

iOS SDK - 赤外線を学習する

IRNewSignalViewController *vc = [[IRNewSignalViewController alloc] init];
vc.delegate = self;
[self presentViewController:vc animated:YES completion:^{}];

#pragma mark - IRNewSignalViewControllerDelegate

- (void)newSignalViewController:(IRNewSignalViewController *)viewController didFinishWithSignal:(IRSignal *)signal {
    if (signal) {
        NSLog( @"successfully learned! %@", signal );
        _signal = signal;
    }
    [self dismissViewControllerAnimated:YES
                             completion:^{
                                 LOG(@"dismissed");
                             }];
}

iOS SDK - IRSignal

IRSignal public methods

- (id) initWithDictionary: (NSDictionary*) dictionary;
- (NSDictionary*) asDictionary;
- (void) sendWithCompletion: (void (^)(NSError* error)) block;

NSDictionaryをJSON形式にしてサーバで保存して共有したりもできる

どんなアプリがつくれるだろう

  • 位置情報連携して...
  • 音声認識して...
  • テレビ番組表と連携して...
  • ソーシャルと連携して...

未来

iPhoneを使って何かしようと思った時に、みなさんが既につくられているような、いろんなアプリがあって好みのアプリを選べたり、なければ作れるのは素晴らしい。

  • Twitterみるとき
  • 写真とるとき、シェアするとき
  • ニュースみるとき
  • 家電使うとき

続きは

すみません品切れです。。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment