Internet of Things Advent Calendar 2日目です.
初日は@okameさんの『ChromeのPackaged AppでArduinoとシリアル通信』でした.
ポクポクカウンター見覚えあると思ったら,MakerFairTokyo2014に出してたんですね…
konashi とは
konashiはユカイ工学さんが開発・販売するBLE(Bluetooth Low Energy)の開発ツールキットです.
ver.2より大幅に値下げされるという嬉しいニュースもありましたね(参考: フィジカルコンピューティングツールキット「konashi2.0」発売 | fabcross).
konashi-ios-sdk(Androidまだα版)及びiOSでJavaScriptから制御を行うkonashi-js-sdkが存在し,こちらはjsdo.itとの連携も可能です.
konashi-js-sdkはJavaScriptになれたエンジニアなら容易に扱うことができ,APIも非常にわかりやすいため電子工作・フィジカルコンピューティング初心者でも気軽に試すことが可能です.
僕も今年,電子工作初心者コンビでkonashiを使いMashup Awards 10に出したりしてました.
konashi-js-sdkの弱点
基本的にkonashi.jsというアプリ上でWebページを開き,そこでJSからkonashiを制御することになります.
よってChromeなどのブラウザに搭載されたJavaScriptコンソールなどを利用したデバッグが不可能です.これはつらい.
対策
公式ドキュメントにも,それっぽい対策は存在しません.これはつらい(2回目).
しかし,konashi.bridge.js(JavaScriptからkonashiを制御するライブラリ)を読んでみるとドキュメントにないAPIも存在していることがわかります.
その中でも,k#showDebug
(510行目付近)とk#log
(497行目付近)という2つのメソッドが実は超便利.
k#showDebugLog
は画面左上にデバッグ用のログ出力領域を表示します(ネイティブコードからのコールバックとかも表示されるので,ちゃんと通信出来てるかの確認が可能!).
また,k#log
は任意の文字列を先ほどの領域先頭に文字を追加していきます.
これでとりあえずJavaScriptコードからのデバッグプリントができるようになります!