konashi JavaScript SDK
JavaScript Objective-C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
KonashiWebView
build
js
libs
samples
.gitignore
.gitmodules
CHANGELOG.md
Gruntfile.js
LICENSE
README.md
bower.json
package.json

README.md

konashi-js-sdk

Version

※ バグ改善や要望以外の質問については konashiATux-xu.com 宛にご連絡下さい。

konashi + JavaScript/HTML/CSS = konashi-js-sdk!!

konashi-js-sdkを使えば、JavaScriptだけでkonashiをコントロールできます。

konashiってなぁに?

iPhoneやiPadで使えるワイヤレスなフィジカル・コンピューティング・ツールキット


Physical computing toolkit for smartphones and tablets

http://konashi.ux-xu.com
Github: konashi-ios-sdk

konashi-js-sdk の魅力

JavaScriptだけでkonashiをコントロールできる、とはどういうことだろう。それはコードを見れば一目瞭然!

たとえば、konashiのボートにあるLEDを光らせるには

// konashiと接続できたら実行される
k.ready(function(){
    // I/Oの設定
    k.pinMode(k.LED2, k.OUTPUT);

    // LED2をON
    k.digitalWrite(k.LED2, k.HIGH);
});

// まわりにあるkonashiを探す
k.find();

これだけでOK!

さらに発展させて、LEDをチカチカさせるには

// LEDチカチカ開始
function startBlinkLed(){
    var toggle = false;

    setInterval(function(){
        if(toggle){
            // LEDをON
            k.digitalWrite(k.LED2, k.HIGH);
        } else {
            // LEDをOFF
            k.digitalWrite(k.LED2, k.LOW);
        }

        // 次の状態をセット
        toggle = !toggle;
    }, 500);

    $("#goran").html("konashiのLED2をみてごらん!<br/>たぶんチカチカしていると思うよ!");
}

// konashiと接続できたんだね
k.ready(function(){
    // まずはI/Oの設定から
    k.pinMode(k.LED2, k.OUTPUT);

    // Lチカスタートさせるよ
    startBlinkLed();
});

// konashiを探すボタンを押すとkonashiを探せ命令を送る!
$(function(){
    $("#find").on("tap", function(){
        k.find();
    });
});

BLEの通信内容やCoreBluetoothAPIなどのネイティブの実装、マイコンのファームウェア実装を意識することなく、ただJavaScriptを書くだけでハードウェアをコントロールできます。

konashi-js-sdk について

konashi-js-sdk には、iOSのライブラリと、JavaScriptのライブラリが含まれています。

  • koanshi-ios-sdk で定義されている関数の実行や、イベントのハンドラ登録をJavaScriptからできるようにしたUIWebView 「KonashiWebView」
  • ブラウザから KonashiWebView へアクセスするための手続きをラップした 「konashi-bridge.js」

これらを使用することにより、JavaScript から konashi をコントロールすることができます。

インタフェースはHTML/CSSで構築することになります。

ただいまBeta中!!

現在beta開発中です。まだ足りないJSの関数があったり、デバッグができていないところがあります。よかったらPullRequestやIssueで開発に参加してね!大歓迎!

Getting Started

submoudleを初期化する

konashi-ios-sdk を読み込みます。

$ git submodule init
$ git submodule update

konashi-bridge.js をbowerでゲット

$ bower install konashi-bridge.js

ディレクトリ構成

  • KonashiWebView: konashi-ios-sdk + UIWebViewでブラウザからkonashi-ios-sdk経由でkonashiにアクセスできりるようにするUIWebViewのカスタムクラス。
  • js: JSとnative(konashi-ios-sdk)をブリッジするkonashi-bridge.jsがある。
  • build: konashi-bridge.jsの圧縮版。
  • libs: submoduleが格納される。
  • samples:
    • AioTest: Analog I/O を使ったサンプル
    • I2cAccelerometer: I2C 接続の加速度センサのサンプル
    • PioDrive: Digital I/0 を使ったサンプル
    • UartConsole: UART を使ったサンプル

For commiter

submoudleを初期化する

konashi-ios-sdk をsubmoduleとして組み込んでいます。

$ git submodule init
$ git submodule update

submodule を更新する

konashi-ios-sdk が更新されている場合は、以下のコマンドで最新をpullすることができます。

$ git submodule foreach 'git pull origin master'

compress js

最初に

$ npm install

以降は

$ grunt