日本語 / English
Fork me on GitHub

Getting Started

ここでは、konashi に搭載されているLEDを点灯させる手順を説明します。

(この Gettings Started で作られた xcode のプロジェクトは、konashi ライブラリの konashi-ios-sdk/samples/GettingStarted にあります。

また、AndroidStudio のプロジェクトは、konashi ライブラリの konashi-android-sdk/samples/GettingStarted にあります。)

objective-cを使ってkonashiを動かす

0. 用意するもの

  • konashi (旧monaka)
  • xcode最新版が動くMacbook, iMac
  • BLE搭載のiPhone もしくは iPad, iPod touch (konashiの対応機種はこちら)
  • iOS Developer Program (実機テストをする場合)

1. konashi ライブラリを取得

GitHub のリポジトリを clone してください。

$ git clone git@github.com:YUKAI/konashi-ios-sdk.git

もしくは こちらから最新版のライブラリをダウンロードしてください。

2. xcode で新規プロジェクトを作成

Single View Application のプロジェクトを作成します。

3. Core Bluetooth Frameworkをプロジェクトに追加

プロジェクトの「Targets」のプロジェクト名と同じ名前のターゲットを選択、「General」を表示し、Linked frameworks and Libraries の+ボタンをクリックします。

検索ボックスに「bluetooth」と入力すると, CoreBluetooth.framework が表示されるので追加します。

4. konashi ライブラリをプロジェクトに追加

1.で取得したソースの中にあるkonashi-ios-sdk/Konashi/Konashi ディレクトリをプロジェクトにドラッグ&ドロップして追加します。

5. 「konashi と接続する」ボタンを追加

konashi と接続するためのボタンをUIに追加します。

MainStoryboard.storyboard を開き、ボタンを ViewControllerに配置します。

ボタンをダブルクリックし、タイトルをFindなどとしてください。

次に、そのボタンを押した時に実行される関数を設定します。

右上の蝶ネクタイアイコンのボタンをクリックしてアシスタントエディタモードにし、右のソースコードを ViewController.h にします。そして以下のように - (IBAction)find:(id)sender; を追加してください。

#import <UIKit/UIKit.h> @interface ViewController : UIViewController - (IBAction)find:(id)sender; // add this line @end

最後にボタンのタップと関数を紐付けます。

まずFindボタンを選択し、右上のメニューから丸右矢印をクリック。"Touch Up Inside"から図示のようにView Controllerへドラッグ&ドロップ。

表示される、"Find"という選択肢をクリックしてください。

6. ViewControllerのコードを書く

ViewController.m に以下のコードを書いてください。

#import "ViewController.h" #import "Konashi.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // Register event handler [[Konashi shared] setReadyHandler:^{ // Set pin mode to output [Konashi pinMode:KonashiLED2 mode:KonashiPinModeOutput]; // Make LED2 glow [Konashi digitalWrite:KonashiLED2 value:KonashiLevelHigh]; }]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)find:(id)sender { [Konashi find]; } @end

7. iOS デバイスの Bluetooth を有効にする

konashi は通信するために Bluetooth 4.0 (Bluetooth Low Energy) を使用します。ですので、アプリを実行する前に iOS デバイスの Bluetooth 機能を有効にします。(すでに有効になっている方はこの項目をスキップしてください)

iOSデバイスの「設定」を開き、表示されたリストの中の「Bluetooth」を選択します。

Bluetooth の項目が オフ になっている場合は オン に変更してください。デバイスに検索中という項目が表示されますが、konashiとは関係ないのでホームボタンを押して設定を終了します。

8. konashi をiOSデバイスから動かす

用意は整いました!

konashi にコイン電池を差し込むか microUSBケーブルを接続して konashi の電源を供給し、プロジェクトを Run してください。

アプリが起動したら Find ボタンを押してみましょう。

すると接続できる konashi のリストが表示されるので、接続する konashi を選択し、 Done ボタンをタップしてください。

(konashiバージョン1ならkonashi#4-????、バージョン2ならkonashi2-f0????、バージョン3ならkonashi3-f0????、という名前が表示されるはずです。{ ???? = ラベルに記載の4桁の16進数 } )

しばらくして LED2 が点灯すれば成功です!

次にやることは…

Documents に機能や関数の詳しい説明がありますのでご覧ください。

また、konashi-ios-sdk/samples にすべての機能を網羅したサンプルがありますので、それを元に konashi を触っていくことをおすすめします。

iOS SDKに関するより詳しいドキュメントはこちらを参照ください。

swiftを使ってkonashiを動かす

0. 用意するもの

  • konashi (旧monaka)
  • xcode最新版が動くMacbook, iMac
  • BLE搭載のiPhone もしくは iPad, iPod touch (konashiの対応機種はこちら)
  • iOS Developer Program (実機テストをする場合)

1. konashi ライブラリを取得

GitHub のリポジトリを clone してください。

$ git clone git@github.com:YUKAI/konashi-ios-sdk.git

もしくは こちらから最新版のライブラリをダウンロードしてください。

2. xcode で新規プロジェクトを作成

Single View Application のプロジェクトを作成します。 プログラム言語はswiftにします。

3. Core Bluetooth Frameworkをプロジェクトに追加

プロジェクトの「Targets」のプロジェクト名と同じ名前のターゲットを選択、「General」を表示し、Linked frameworks and Libraries の+ボタンをクリックします。

検索ボックスに「bluetooth」と入力すると, CoreBluetooth.framework が表示されるので追加します。

4. konashi ライブラリをプロジェクトに追加

1.で取得したソースの中にあるkonashi-ios-sdk/Konashi/Konashi ディレクトリをプロジェクトにドラッグ&ドロップして追加します。

5. 「konashi と接続する」ボタンを追加

konashi と接続するためのボタンをUIに追加します。

MainStoryboard.storyboard を開き、ボタンを ViewControllerに配置します。

ボタンをダブルクリックし、タイトルをFindなどとしてください。

次に、そのボタンを押した時に実行される関数を設定します。

右上の蝶ネクタイアイコンのボタンをクリックしてアシスタントエディタモードにし、下のソースコードを ViewController.swift にします。

これからボタンのタップと関数を紐付けます。

まずFindボタンを右クリックでソースコードにドラッグ&ドロップをします。

その後、吹き出しが出るので、Connectionをaction,NameをkonashiFindにします。設定したらconnectをクリックします。

6. Konashi-ios-sdkをswiftで書けるようにする

konashi-ios-sdkはobjective-cで書かれているのでswiftで扱えるようにする必要があります。

まず、KonashiGettingStartedを右クリックしNew File...を選択し、ファイルを新しく作成します。その時、ファイルの形式はHeaderを選択します。

今回はファイル名をkonashi-Bridging-Header.hにします。konashi-Bridging-Header.hのkonashiは任意の名前でも大丈夫です。

これから、Konashi-Bridging-Header.h内を編集します。 Konashi-Bridging-Header.hに

#import "Konashi/Konashi.h"

と記入してください。KonashiGettingStartedを基準にKonashi.hを示すパスを入れてください。

KonashiGettingStartedのBuild Setting内でObjective-c Bridging Headerと検索します。Objective-c Bridging Headerに先ほど作成したheaderファイルのパスを入れます。

これで、swiftでkonashi-ios-sdkを使うことができます。

7. ViewControllerのコードを書く

ViewController.swift に以下のコードを書いてください。

import UIKit // Do any additional setup after loading the view, typically from a nib. class ViewController: UIViewController { @IBAction func konashiFind(_ sender: Any) { Konashi.find() } override func viewDidLoad() { super.viewDidLoad() // Register event handler Konashi.shared().readyHandler = { // Set pin mode to output Konashi.pinMode(KonashiDigitalIOPin.LED2,mode: KonashiPinMode.output) // Make LED2 glow Konashi.digitalWrite(KonashiDigitalIOPin.LED2, value: KonashiLevel.high) } // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }

8. iOS デバイスの Bluetooth を有効にする

konashi は通信するために Bluetooth 4.0 (Bluetooth Low Energy) を使用します。ですので、アプリを実行する前に iOS デバイスの Bluetooth 機能を有効にします。(すでに有効になっている方はこの項目をスキップしてください)

iOSデバイスの「設定」を開き、表示されたリストの中の「Bluetooth」を選択します。

Bluetooth の項目が オフ になっている場合は オン に変更してください。デバイスに検索中という項目が表示されますが、konashiとは関係ないのでホームボタンを押して設定を終了します。

9. konashi をiOSデバイスから動かす

用意は整いました!

konashi にコイン電池を差し込むか microUSBケーブルを接続して konashi の電源を供給し、プロジェクトを Run してください。

アプリが起動したら Find ボタンを押してみましょう。

すると接続できる konashi のリストが表示されるので、接続する konashi を選択し、 Done ボタンをタップしてください。

(konashiバージョン1ならkonashi#4-????、バージョン2ならkonashi2-f0????、バージョン3ならkonashi3-f0????、という名前が表示されるはずです。{ ???? = ラベルに記載の4桁の16進数 } )

しばらくして LED2 が点灯すれば成功です!

Androidを使ってkonashiを動かす

Android SDK につきましては現状で konashi 1.0 への対応をしていません。Android でご利用のお客さまは konashi 2.0 のご用意をお願いいたします。
konashi 2.0 は、マクニカオンラインストア などにてご購入いただけます。

Android 6.xからのpermission modelの変更により,当該OSではgetting startedやサンプルコードは正しく動作しません。

ここでは、konashi に搭載されているLEDを点灯させる手順を説明します。

0. 用意するもの

  • konashi 2.0
  • Android Studio
  • BLE搭載のAndroid

1. Android Studio で新規プロジェクトを作成

新規プロジェクトを作成します。

プロジェクト名・保存場所・Android SDKのバージョン入力します。

Minimum SDKは、以下の通りとしてください。

Blank Activityを選択します。

Finishをクリックしてプロジェクトを作成します。

2. konashi Android SDK をプロジェクトに追加(Gradleの設定)

次の1行をbuild.gradle(Module: app)dependenciesに追加します。

compile 'com.uxxu.konashi:konashi-android-sdk:1.1.0'

ツールバーのSync Project with Gradle Filesをクリックし、konashi Android SDKを導入します。

3. パーミッションの追加

次の2行をAndroidManifest.xmlに追加します。

<uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTHADMIN"/>

4. 画面レイアウトの設定

res/layout/activitymain.xmlに以下のコードを書いてください。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layoutwidth="matchparent" android:layoutheight="matchparent" android:paddingLeft="@dimen/activityhorizontalmargin" android:paddingRight="@dimen/activityhorizontalmargin" android:paddingTop="@dimen/activityverticalmargin" android:paddingBottom="@dimen/activityverticalmargin" tools:context=".MainActivity"> <Button android:layoutwidth="wrapcontent" android:layoutheight="wrapcontent" android:text="konashiを探す" android:id="@+id/btnfind" android:layoutcenterVertical="true" android:layoutcenterHorizontal="true"/> <ToggleButton android:layoutwidth="wrapcontent" android:layoutheight="wrapcontent" android:textOn="ON" android:textOff="OFF" android:visibility="gone" android:id="@+id/tglblink" android:layoutcenterVertical="true" android:layoutcenterHorizontal="true" />

</RelativeLayout>

5. MainActivityのコードを書く

MainActivity.javaに以下のコードを書いてください。 importについては、 auto-import などを用いて補完してください。

public class MainActivity extends AppCompatActivity { private KonashiManager mKonashiManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activitymain); mKonashiManager = new KonashiManager(getApplicationContext()); final MainActivity self = this; ((ToggleButton)findViewById(R.id.tglblink)).setOnCheckedChangeListener(new ToggleButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton v, boolean isChecked) { mKonashiManager.digitalWrite(Konashi.LED2, isChecked ? Konashi.HIGH : Konashi.LOW); } }); findViewById(R.id.btnfind).setOnClickListener(new View.OnClickListener() { public void onClick(View v) { mKonashiManager.find(self); } }); mKonashiManager.addListener(new KonashiListener() { @Override public void onConnect(KonashiManager manager) { refreshViews(); mKonashiManager.pinMode(Konashi.LED2, Konashi.OUTPUT); } @Override public void onDisconnect(KonashiManager manager) { refreshViews(); } @Override public void onError(KonashiManager manager, BletiaException e) {} @Override public void onUpdatePioOutput(KonashiManager manager, int value) {} @Override public void onUpdateUartRx(KonashiManager manager, byte[] value) {} @Override public void onUpdateBatteryLevel(KonashiManager manager, int level) {} @Override public void onUpdateSpiMiso(KonashiManager manager, byte[] value) {} }); } private void refreshViews() { boolean isReady = mKonashiManager.isReady(); findViewById(R.id.btnfind).setVisibility(isReady ? View.GONE : View.VISIBLE); findViewById(R.id.tgl_blink).setVisibility(isReady ? View.VISIBLE : View.GONE); } }

6. Androidデバイスの Bluetooth を有効にする

konashi は通信するために Bluetooth 4.0 (Bluetooth Low Energy) を使用します。ですので、アプリを実行する前にAndroidデバイスのBluetooth機能を有効にします。(すでに有効になっている方はこの項目をスキップしてください)

Androidデバイスの「設定」を開き、表示されたリストの中の「Bluetooth」を「ON」にします。

7. konashiをAndroidデバイスから動かす

用意は整いました!

konashiにコイン電池を差し込むかmicroUSBケーブルを接続してkonashiの電源を供給し、プロジェクトをRunしてください。

アプリが起動したら「KONASHIを探す」ボタンを押してみましょう。

すると接続できるkonashiのリストが表示されるので、接続するkonashiを選択してください。

(konashi2-f0????、という名前が表示されるはずです。{ ???? = ラベルに記載の4桁の16進数 } )

しばらくして「OFF」ボタンが表示されれば接続成功です。

「OFF」ボタンをタップして「ON」ボタンに変わり、konashiのLED2が点灯すれば成功です。

次にやることは

DocumentsAPI Reference に機能や関数の詳しい説明がありますのでご覧ください。

また、konashi-android-sdk/samples にすべての機能を網羅したサンプルがありますので、それを元にkonashiを触っていくことをおすすめします。