FirstMaBeee - novars-jp/MaBeeeiOSSDK GitHub Wiki

概要

  • とりあえず簡単にMaBeeeを使ってみることを目的としたサンプルプロジェクトです。
  • samples配下のFirstMaBeee(Objective-C), FirstMaBeeeSwift(Swift)がそれになります。言語は違いますが内容は全く同じです。

ライブラリのインポート

Embedded Binaries

  • ViewControllerにインポート宣言を追加します。

  • Objective-C

@import MaBeeeSDK;
  • Swift
import MaBeeeSDK

UIの作成

1. Storyboard

Scanボタン1つと、スライダーをもつ画面を作ります。

Embedded Binaries

2. Scanボタン

ScanボタンのTouch up insideとViewControllerを接続します。

Objective-C

- (IBAction)scanButtonPressed:(UIButton *)sender {
}

Swift

@IBAction func scanButtonPressed(sender: UIButton) {
}

3. Slider

SliderのValue changedとViewControllerを接続します。

Objective-C

- (IBAction)sliderValueChanged:(UISlider *)slider {
}

Swift

@IBAction func sliderValueChanged(slider: UISlider) {
}

MaBeeeScanViewController

  • MaBeeeScanViewControllerはMaBeeeDeviceのスキャンと接続を簡単に実装できるUIを提供します。
  • Scanボタンが押されたときに、MaBeeeScanViewControllerを生成して表示するコードを追加します。
  • 単純にインスタンスを生成して、show関数を呼ぶだけです。

Objective-C

- (IBAction)scanButtonPressed:(UIButton *)sender {
  MaBeeeScanViewController *vc = MaBeeeScanViewController.new;
  [vc show:self];
}

Swift

@IBAction func scanButtonPressed(sender: UIButton) {
  let vc = MaBeeeScanViewController()
  vc.show(self)
}

スキャン実行

  • ビルドして実行します。
  • iOSのBluetoothがONになっているかを確認してください。
  • MaBeeeをおもちゃなどにセットして、おもちゃなどの電源をONにしてください。
  • スキャンボタンを押すと、MaBeeeScanViewControllerが表示されます。
  • 2台のMaBeeeがある状態です。
  • セルには、MaBeeeの名前、RSSI、接続しているかどうかのアイコンが表示されます。

MaBeeeScanViewController

接続

  • セルをタップすると接続します。
  • 接続すると赤いアイコンになります。

MaBeeeScanViewController

MaBeeeDeviceの取得・出力の調整

  • MaBeeeDeviceは、MaBeeeAppクラスのシングルトンインスタンスが保持・管理しています。
  • MaBeeeAppクラスのdevices関数で、MaBeeeDeviceの配列が取得できます。
  • MaBeeeDeviceのpwmDutyプロパティを設定すると、MaBeeeの出力を設定できます。
  • ここでは、Sliderが変更された時に、MaBeeeAppのインスタンスからMaBeeeDeviceの配列を取得して、pwmDutyにSliderの値を設定します。
  • pwmDutyの値は0-100の整数、0~100%の意味です。
  • 以下のようにsliderValueChanged関数を修正します。

Objective-C

- (IBAction)sliderValueChanged:(UISlider *)slider {
  for (MaBeeeDevice *device in MaBeeeApp.instance.devices) {
    device.pwmDuty = (int)(slider.value * 100);
  }
}

Swift

@IBAction func sliderValueChanged(slider: UISlider) {
  for device in MaBeeeApp.instance().devices() {
    device.pwmDuty = Int32(slider.value * 100)
  }
}

実行

  • ビルドして実行します。
  • iOSのBluetoothがONになっているかを確認してください。
  • MaBeeeをおもちゃなどにセットして、おもちゃなどの電源をONにしてください。
  • スキャンボタンを押すと、MaBeeeScanViewControllerが表示されます。
  • セルをタップしてMaBeeeに接続します。
  • 閉じるボタンでMaBeeeScanViewControllerを閉じます。
  • Sliderを操作すると、おもちゃなどが動くはずです。