R&D事業部の近藤です。
先日、ワンダープラネットで社内ハッカソンが開催されました。
そのときに発表した、MaBeeeを使ってミニ四駆を音声でコントロールするアプリを作りました。
今回はiOSでのMaBeeeに対応したアプリの作り方を紹介しようと思います。
MaBeeeとは?
単3の乾電池型のIoTデバイスで、Bluetoothでスマートフォンに接続し、乾電池の出力をコントロールすることができます。
乾電池の出力の強弱をコントールすることで、おもちゃや家電製品をスマートフォンでできるようになります。
非公式ですがSDKも提供されておりMaBeeeを利用したアプリを自分で作ることもできます。
MaBeeeの製品情報はこちら
SDK
iOS版SDKはこちら
https://github.com/novars-jp/MaBeeeiOSSDK
Android版SDKはこちら(今回は使いません)
https://github.com/novars-jp/MaBeeeAndroidSDK
サンプルコード
Githubにサンプルコードがいくつか公開されています。
MaBeeeを利用したアプリの作り方
まずはXcodeで新規プロジェクトを作りましょう。
今回はSingle View Applicationにしました。
GithubからダウンロードしたSDKを解凍しプロジェクトに「MaBeeeSDK.framework」を取り込みます。
実装
Storyboard
ボタンを4つ配置します。
「はやい!」「ゆっくり」「ストップ」とラベルに設定します。
3段階で乾電池の出力をコントロールするように実装します。
tagに設定した値はMaBeeeの出力のコントロール用に利用します。
0~100で設定します。
4つ目の「MaBeeeに接続」ボタンはMaBeeeと接続するための画面に遷移するためのボタンです
ボタン | tagの設定値 | 動作 |
---|---|---|
はやい! | 100 | 乾電池の出力100% |
ゆっくり | 50 | 乾電池の出力50% |
ストップ | 0 | 乾電池の出力0% |
コード
#import "ViewController.h" //MaBeeeSDK.frameworkを利用するためのインポート @import MaBeeeSDK; @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } //MaBeeeの接続設定の画面を開く - (IBAction)maBeeeScanButtonPressed:(UIButton *)sender { MaBeeeScanViewController *vc = MaBeeeScanViewController.new; [vc show:self]; } //接続したMaBeeeの取得して、tagの値(出力)を設定 - (IBAction)speedButton:(UIButton *)sender { for (MaBeeeDevice *device in MaBeeeApp.instance.devices) { device.pwmDuty = (int)sender.tag; } }
- (IBAction)maBeeeScanButtonPressed:(UIButton *)sender
MabeeeとiPhoneをbluetoothで接続するための画面を開きます。
Storyboadで「Mabeeeに接続ボタン」とIBActionの接続をしておきましょう。
- (IBAction)speedButton:(UIButton *)sender
Storyboardで配置した3つの出力調整用のボタンとこのメソッドをIBActionで接続します。
ボタンのtagに設定した値を出力のコントロールするための値として利用します。
実行
電源オン
まずはMaBeeeを装着してミニ四駆の電源スイッチをONにします。
この時点ではまだ電池の出力が0の状態なのでミニ四駆は動きません。
MaBeeeとiPhoneの接続
「MaBeeeに接続」ボタンを押すとMaBeeeとの接続画面が開き、電源の入っているMaBeeeを検索してくれます。
見つかったMaBeeeをタップすれば接続完了です。
走行!!
接続ができたら「はやい!」「ゆっくり」「ストップ」のボタンを押してみましょう。
MaBeeeを組み込んだミニ四駆が3段階の速さで動き出します!
まとめ
アプリの実装次第では、加速度センサーや音声入力をトリガーにして操作をすることもできます。
アイデア次第でとっても面白い使い方ができるデバイスだと思います。
ちなみに社内ハッカソンではApple WatchからiPhoneを経由して操作できるようにしてみました。
MaBeeeを利用した作品のコンテストなども開催されていますし、ハッカソンのようなイベントに持ち込んで作品を作ってたら楽しいかもしれないですね。
社内ハッカソンの様子はWantedlyのこちらの記事で紹介しています。