CocoaBitとKoshianBitの連携をしてみるメモです。
WiFiとMilkcocoaを担うCocoaBitと、jsdoitでJavaScriptプログラム可能なBluetoothのKoshianBitの連携をすれば、いままでよりも手法が広がるし、jsdoitで担う部分も分担できるかもしれず試してみました。
KoshianBit連携前にCocoaBitの挙動のおさらい
KoshianBit連携前にCocoaBitの挙動のおさらいです。
こちらの図のように下部のCocoaBitがlittleBitsでのボタン入力をMilkcocoaに送り、上部のCocoaBitがMilkcocoaに値が来たらlittleBitsの出力(バーLED)が反応します。
下部のCocoaBitと上部のCocoaBitは動画に収めるために近くで行っていますが、WiFi環境が整っていれば、たとえば、北海道と沖縄といった遠隔地でもやり取りすることが可能です。
CocoaBit+KoshianBit出力編
Milkcocoaに値が来たらCocoaBitの出力を、KoshianBit経由でjsdoitアプリが反応するようにします。
まず、おさらいで使った仕組みで、上部のCocoaBitの出力側のバーLEDをKoshianBitに差し替えます。そして、jsdoitアプリがKoshianBitへの入力値の変化をリアルタイムに表示しています。
おさらいと同様ボタンモジュールを押すとCocoaBitの出力の変化を、KoshianBit経由でjsdoitアプリが反応します。
無事、スマホ値が変化していますね!
CocoaBit+KoshianBit入力編
jsdoitアプリでKoshianBitの入力を変化させてCocoaBitからMilkcocoaに送信します。
まず、おさらいで使った仕組みで、下部のCocoaBitの入力側のボタン部分をKoshianBitに差し替えます。
なお、KoshianBitとCocoaBitの間に入っているBRIGHT LEDはCocoaBitのKoshianBit確認用のモジュールです。
KoshianBit経由でjsdoitアプリでON/OFFするとボタンモジュールを押したときと同じように下部のCocoaBitがMilkcocoaにデータを送信します。
そして、おさらいと同様、上部のMilkcocoaの値を受け取るCocoaBitが反応してバーLEDを光らせます。
無事、バーLEDを光っていますね!
この仕組の良いところ
やってみて気づいたのですが、この仕組には良いところが分かりました。それは、KoshianBitとjsdoitにはBluetooth対応に集中させて、CocoaBitにMilkcocoaのやり取りを任せられることです。
CocoaBitが登場すると図の通り役割分担が明確になります。
こうすると、Bluetoothしたい回路部分はKoshianBitに任せてKoshianBit(+jsdoit)はBluetoothの挙動に専念できますし、回路を作っていく過程で「あ、これにMilkcocoaにデータを貯めよう」と思いついた時に「じゃあCocoaBitにつなげよう!」と言った、機能ごとがわかりやすくなった試行錯誤が可能になります。
また、jsdoitでJavaScriptの挙動も調整すれば、スマホの力も借りてより複雑な通信フローも組むことが可能で、柔軟性も担保できています。
おわりに
しかし、なによりも、見た目としてインパクトがありますね!
もともと、KoshianBitでスマホ操作とBluetooth無線で連携しているところ、CocoaBitでWiFiをベースにしたリアルタイム通信できるので、目下のlittleBitsモジュールでの手触りだけでなく、littleBitsが持つ「考え方もつながる」という部分が強調される気がします。
それでは、よき littleBits & CocoaBit & KoshianBit & Milkcocoa Lifeを!