※ バグ改善や要望以外の質問については konashi
ATux-xu.com
宛にご連絡下さい。
konashi + JavaScript/HTML/CSS = konashi-js-sdk!!
konashi-js-sdkを使えば、JavaScriptだけでkonashiをコントロールできます。
iPhoneやiPadで使えるワイヤレスなフィジカル・コンピューティング・ツールキット
Physical computing toolkit for smartphones and tablets
http://konashi.ux-xu.com
Github: konashi-ios-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 には、iOSのライブラリと、JavaScriptのライブラリが含まれています。
- koanshi-ios-sdk で定義されている関数の実行や、イベントのハンドラ登録をJavaScriptからできるようにしたUIWebView 「KonashiWebView」
- ブラウザから KonashiWebView へアクセスするための手続きをラップした 「konashi-bridge.js」
これらを使用することにより、JavaScript から konashi をコントロールすることができます。
インタフェースはHTML/CSSで構築することになります。
現在beta開発中です。まだ足りないJSの関数があったり、デバッグができていないところがあります。よかったらPullRequestやIssueで開発に参加してね!大歓迎!
konashi-ios-sdk を読み込みます。
$ git submodule init
$ git submodule update
$ 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 を使ったサンプル
konashi-ios-sdk をsubmoduleとして組み込んでいます。
$ git submodule init
$ git submodule update
konashi-ios-sdk が更新されている場合は、以下のコマンドで最新をpullすることができます。
$ git submodule foreach 'git pull origin master'
最初に
$ npm install
以降は
$ grunt