konashi で始める ios 電子工作
TRANSCRIPT
Konashi とは
• BLE (Bluetooth Low Energy) で iOS アプリと連携するガジェットを作るためのツールキット。
•¥9,980 秋月電子でも販売開始。• Android SDK もβ版が出たらしい。
妊婦さんに席を譲れるアプリ「Mommy Ring」を開発
2/15, 16 Open Hack Day 2 @ Yahoo! JAPANHappy Hacking 賞、東京ミッドタウンマネジメント株式会社賞 受賞
http://www.youtube.com/watch?v=Tu1W3k2-wgw
DEMO
#import "Konashi.h"#import "ViewController.h"
@implementation ViewController { NSTimer *_timer;}
- (void)viewDidLoad{ [super viewDidLoad]; self.view.backgroundColor = UIColor.lightGrayColor;}
- (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; [Konashi find]; [Konashi addObserver:self selector:@selector(konashiReady) name:KONASHI_EVENT_READY];}
...
https://github.com/taketo1024/KonashiSample
- (void)konashiReady{ NSLog(@"konashi ready"); self.view.backgroundColor = UIColor.whiteColor;
[Konashi pinMode:S1 mode:INPUT]; [Konashi pinMode:PIO5 mode:OUTPUT]; _timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(konashiTimerFired:) userInfo:nil repeats:YES];}
- (void)konashiTimerFired:(NSTimer *)timer{ BOOL s1 = [Konashi digitalRead:S1]; self.view.backgroundColor = s1 ? UIColor.redColor : UIColor.whiteColor;}
...
https://github.com/taketo1024/KonashiSample
- (IBAction)ledButtonPressed:(id)sender{ [Konashi digitalWrite:PIO5 value:HIGH];}
- (IBAction)ledButtonReleased:(id)sender{ [Konashi digitalWrite:PIO5 value:LOW];}
@end
https://github.com/taketo1024/KonashiSample
同じことを Arduino でやる場合:
Arduino Konashi
開発 Arduino IDE で C言語を書く
Xcode + Konashi SDK で普通の iOS アプリ開発
実行 USB接続、コンパイルしてチップに書き込み
iOS 実機ビルド、Konashi は電池入れるだけ
BLE通信 BLEシールドを追加して通信処理を書く
BLE標準搭載/通信処理もライブラリに入ってる
まとめ
• iOS 連携ガジェットを作るのは超簡単。 みんなもやろうぜ!
•スタンドアロンではないので iOS デバイスありき。
•ライブラリの API がちょっとダサい。
予告
「iPhone で Roomba を動かす」お楽しみに!