CocoaBitとKoshianBitの連携をしてみるメモ

CocoaBitとKoshianBitの連携をしてみるメモです。

WiFiとMilkcocoaを担うCocoaBitと、jsdoitでJavaScriptプログラム可能なBluetoothのKoshianBitの連携をすれば、いままでよりも手法が広がるし、jsdoitで担う部分も分担できるかもしれず試してみました。

KoshianBit連携前にCocoaBitの挙動のおさらい

KoshianBit連携前にCocoaBitの挙動のおさらいです。

cocoabit-koshianbit-first-contact_1

こちらの図のように下部のCocoaBitがlittleBitsでのボタン入力をMilkcocoaに送り、上部のCocoaBitがMilkcocoaに値が来たらlittleBitsの出力(バーLED)が反応します。

下部のCocoaBitと上部のCocoaBitは動画に収めるために近くで行っていますが、WiFi環境が整っていれば、たとえば、北海道と沖縄といった遠隔地でもやり取りすることが可能です。

CocoaBit+KoshianBit出力編

Milkcocoaに値が来たらCocoaBitの出力を、KoshianBit経由でjsdoitアプリが反応するようにします。

cocoabit-koshianbit-first-contact_2

まず、おさらいで使った仕組みで、上部のCocoaBitの出力側のバーLEDをKoshianBitに差し替えます。そして、jsdoitアプリがKoshianBitへの入力値の変化をリアルタイムに表示しています。

cocoabit-koshianbit-first-contact_3

おさらいと同様ボタンモジュールを押すとCocoaBitの出力の変化を、KoshianBit経由でjsdoitアプリが反応します。

無事、スマホ値が変化していますね!

CocoaBit+KoshianBit入力編

jsdoitアプリでKoshianBitの入力を変化させてCocoaBitからMilkcocoaに送信します。

cocoabit-koshianbit-first-contact_4

まず、おさらいで使った仕組みで、下部のCocoaBitの入力側のボタン部分をKoshianBitに差し替えます。

なお、KoshianBitとCocoaBitの間に入っているBRIGHT LEDはCocoaBitのKoshianBit確認用のモジュールです。

cocoabit-koshianbit-first-contact_5

KoshianBit経由でjsdoitアプリでON/OFFするとボタンモジュールを押したときと同じように下部のCocoaBitがMilkcocoaにデータを送信します。

そして、おさらいと同様、上部のMilkcocoaの値を受け取るCocoaBitが反応してバーLEDを光らせます。

無事、バーLEDを光っていますね!

この仕組の良いところ

やってみて気づいたのですが、この仕組には良いところが分かりました。それは、KoshianBitとjsdoitにはBluetooth対応に集中させて、CocoaBitにMilkcocoaのやり取りを任せられることです。

cocoabit-koshianbit-first-contact_6

CocoaBitが登場すると図の通り役割分担が明確になります。

こうすると、Bluetoothしたい回路部分はKoshianBitに任せてKoshianBit(+jsdoit)はBluetoothの挙動に専念できますし、回路を作っていく過程で「あ、これにMilkcocoaにデータを貯めよう」と思いついた時に「じゃあCocoaBitにつなげよう!」と言った、機能ごとがわかりやすくなった試行錯誤が可能になります。

また、jsdoitでJavaScriptの挙動も調整すれば、スマホの力も借りてより複雑な通信フローも組むことが可能で、柔軟性も担保できています。

おわりに

しかし、なによりも、見た目としてインパクトがありますね!

もともと、KoshianBitでスマホ操作とBluetooth無線で連携しているところ、CocoaBitでWiFiをベースにしたリアルタイム通信できるので、目下のlittleBitsモジュールでの手触りだけでなく、littleBitsが持つ「考え方もつながる」という部分が強調される気がします。

それでは、よき littleBits & CocoaBit & KoshianBit & Milkcocoa Lifeを!