CocoaBitでMilkcocoaのfreeboardでお手軽にグラフ可視化してみるメモ
CocoaBitでMilkcocoaのfreeboardでお手軽にグラフ可視化してみるメモです。
以前、MilkcocoaさんのほうにSORACOM AirとRaspberry Piを接続しつつMilkcocoa FreeBoardと連携する記事を書いたのですが、その流れでCocoaBitでMilkcocoaに送っているlittleBitsのセンサーデータをお手軽にグラフ可視化してみることにしました。
仕組み
CocoaBitで、データが変化したときはすぐにMilkcocoaにデータ蓄積する。という形で実装されています。
CocoaBitのArduino部分のソースコード
CocoaBitのArduino部分のソースコードです。
CocoaBitはわみさんのNefryの派生ソフトウェアが入っているので
NefryとMilkcocoaを連携させて、WebサイトにリアルタイムでPush通知してみる | 電子工作部
を参考に書いていきます。
#include
#include
Nefry_Milkcocoa *milkcocoa;
char *datastore;
int sensorValue;
int sensorValueHistory;
int spanValue;
void setup() {
milkcocoa->print();//Setup ModuleページにAPPIDの表示をする
milkcocoa = Nefry_Milkcocoa::begin();//milkcocoaと接続に必要になる処理をします。
datastore = Nefry.getConfStr(3);//Setup Moduleページに入力されたデータストア名を保存します。
sensorValueHistory = 0;
spanValue = 0;
}
void loop() {
sensorValue = analogRead(A0);//アナログの入力を読みます。
Nefry.println(sensorValue);//センサーデータを表示します。
// 通信を減らすために変化が大きい時だけ送信
int spanValue = abs(sensorValueHistory - sensorValue);
if( spanValue > 100 ){
Nefry.println( milkcocoa->loop(10000) ? "Milkcocoa Connect OK" : "Milkcocoa Connect NG" ); //10秒以内にMilkcocoaに接続できればokと表示されます。
DataElement elem = DataElement();
elem.setValue("senser", sensorValue);//センサーの状態を送信できる形に変換
milkcocoa->push(datastore, &elem);//Milkcocoaに送信
} else {
Nefry.println("--");
}
sensorValueHistory = sensorValue;
//
Nefry.ndelay(1000);//1秒待つ
}
MilkcocoaのFreeBoardで可視化する
こちらの記事のやりかたに合わせてMilkcocoaの設定をします。
まず、データストアはcocoabitにしているので設定。
登録されます。
つづいてウィジェット(実際に可視化するグラフ部分)を設定します。
試しにランダムモジュールで、ランダムのセンサー変化を生んでみます。
すると、このように変化します。いいかんじ。
おなじみボタンモジュール。
ON/OFFを繰り返すとパキパキ変化します。
センサーを手を覆う形で簡易的に変化させてみます。
無事ゆるやかに変化しました。
いままでlittleBitsで同様のことを行おうとするとArduinoモジュールとRaspberryPiで行っていましたが、用途を決めて行うのであればCocoaBitで行うとよりコンパクトにセンサーデータ蓄積が可能ですね。
それでは、よき littleBits & CocoaBit & Milkcocoa Lifeを!










