Skip to content

YUKAI/konashi-js-sdk

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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