WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

MaBeee SDKを使ってミニ四駆をスマホでコントロールしよう

R&D事業部の近藤です。 先日、ワンダープラネットで社内ハッカソンが開催されました。
そのときに発表した、MaBeeeを使ってミニ四駆を音声でコントロールするアプリを作りました。
今回はiOSでのMaBeeeに対応したアプリの作り方を紹介しようと思います。

MaBeeeとは?

f:id:HidehikoKondo:20170817114112p:plain
単3の乾電池型のIoTデバイスで、Bluetoothでスマートフォンに接続し、乾電池の出力をコントロールすることができます。
乾電池の出力の強弱をコントールすることで、おもちゃや家電製品をスマートフォンでできるようになります。
非公式ですがSDKも提供されておりMaBeeeを利用したアプリを自分で作ることもできます。

MaBeeeの製品情報はこちら

https://mabeee.mobi/

SDK

iOS版SDKはこちら

https://github.com/novars-jp/MaBeeeiOSSDK

Android版SDKはこちら(今回は使いません)

https://github.com/novars-jp/MaBeeeAndroidSDK

サンプルコード

Githubにサンプルコードがいくつか公開されています。

https://github.com/novars-jp

MaBeeeを利用したアプリの作り方

まずはXcodeで新規プロジェクトを作りましょう。
今回はSingle View Applicationにしました。

GithubからダウンロードしたSDKを解凍しプロジェクトに「MaBeeeSDK.framework」を取り込みます。 f:id:HidehikoKondo:20170816125353p:plain

実装

Storyboard

ボタンを4つ配置します。 「はやい!」「ゆっくり」「ストップ」とラベルに設定します。
3段階で乾電池の出力をコントロールするように実装します。
tagに設定した値はMaBeeeの出力のコントロール用に利用します。
0~100で設定します。 4つ目の「MaBeeeに接続」ボタンはMaBeeeと接続するための画面に遷移するためのボタンです

f:id:HidehikoKondo:20170816125652p:plain

ボタン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の接続をしておきましょう。 f:id:HidehikoKondo:20170816130159p:plain

- (IBAction)speedButton:(UIButton *)sender

Storyboardで配置した3つの出力調整用のボタンとこのメソッドをIBActionで接続します。
ボタンのtagに設定した値を出力のコントロールするための値として利用します。 f:id:HidehikoKondo:20170816130213p:plain

実行

電源オン

まずはMaBeeeを装着してミニ四駆の電源スイッチをONにします。
この時点ではまだ電池の出力が0の状態なのでミニ四駆は動きません。
f:id:HidehikoKondo:20170817114332p:plain

MaBeeeとiPhoneの接続

「MaBeeeに接続」ボタンを押すとMaBeeeとの接続画面が開き、電源の入っているMaBeeeを検索してくれます。
見つかったMaBeeeをタップすれば接続完了です。
f:id:HidehikoKondo:20170817114906p:plain

走行!!

接続ができたら「はやい!」「ゆっくり」「ストップ」のボタンを押してみましょう。
MaBeeeを組み込んだミニ四駆が3段階の速さで動き出します!

まとめ

アプリの実装次第では、加速度センサーや音声入力をトリガーにして操作をすることもできます。
アイデア次第でとっても面白い使い方ができるデバイスだと思います。
ちなみに社内ハッカソンではApple WatchからiPhoneを経由して操作できるようにしてみました。
MaBeeeを利用した作品のコンテストなども開催されていますし、ハッカソンのようなイベントに持ち込んで作品を作ってたら楽しいかもしれないですね。

社内ハッカソンの様子はWantedlyのこちらの記事で紹介しています。 www.wantedly.com