LoginSignup
5
3

More than 5 years have passed since last update.

enebularとmyThingsを連携してデバイスの動きや可視化をやってみた

Last updated at Posted at 2016-12-23

この記事は、enebular Advent Calendar 2016の23日目の記事です。前日は @k-harada413 さんによる、enebularのflow変数を使って、コーヒータイムにアイドルをの記事でした!

Wio Nodeハンズオンを参考に試していただいてありがとうございます!

最近、イベントごとでenebularとmyThingsとデバイスを連携させまして、無事連携できたので知見を残しておきます。

準備したもの

myThingsのIDCFチャンネルサーバを簡単につくる記事を参考にmyThingsとIDCFクラウドを連携させた上で、enebularのフローで連携させました。

ここに至るまでには、以下の記事をとても参考にさせていただきました。

image

littleBitsをMilkcocoaとつなぐCocoaBitを使ってenebularとつなぎこみ

littleBitsをMilkcocoaとつなぐCocoaBitを使ってenebularとつなぎこみます。enebularはMilkcocoaでINFOMATION可視化ができるので、これでIoT的なアクションも、可視化へのステップも両立することができます。

プロトタイプが進んでいくときに、常にそのパスが持てるというのは、作業しやすいですね。

2016-12-23_11h22_02.jpg

こちらはミニマムに動かした動画です。

cocoabit.gif

StrawbeesにlittleBitsサーボをうまく取り付けるメモをベースに本番デモ時には大きなStrawbeesの造形物と接続して動かしました。

myThingsアプリとのアクションの流れ

押したときの連携をざっくりお伝えすると、

image

このようにボタン連携を用意した上で、

2016-12-23_11h14_24.jpg

押してみます。

image

アクション受取り→CocoaBit動作部分につながっていきます。

image については以下のように設定しました。

image

Topicにはaction-1のuuidを設定。

image

MQTTの接続設定では、今回作成されたIDCFクラウドのIPアドレスおよびポートは1883に設定しました。

image

Securityでは、Usernameにaction-1のuuid、Passwordにaction-1のトークンを設定しました。

image 押すたびに振り回される動きです。

image

コードは以下の通りで、mythingsValueをグローバルに保持しつつ、action-1がくるたびに切り替わるようにしています。

var flag = global.get("mythingsValue") || 0;

if(flag == 1){
    flag = 0;
    msg.payload = { v:0 };
} else {
    flag = 1;
    msg.payload = { v:1023 };
}

global.set("mythingsValue" , flag)


return msg;

こちらで設定された動力が image に伝わります。

myThingsアプリとのトリガー連携の流れ

実はこのアクション。トリガーとも連携します。

image

15分ほど待っていると通知が来ます。

こちらは、この部分のフローでできていて、

image

このようにトリガーに送られるようになっています。

image の設定はこのとおりです。

image

  • msg.headers.meshblu_auth_uuid
    • ヘッダー meshblu_auth_uuid の設定(http request時にヘッダー付与)
      • trigger-1のuuidを設定
  • msg.headers.meshblu_auth_token
    • ヘッダー meshblu_auth_token の設定(http request時にヘッダー付与)
      • trigger-1のtokenを設定
  • msg.url
    • http://[IPアドレス]/data/[trigger-1のuuid] で設定。
      • 例えば、IPアドレスが 192.168.0.1 で trigger-1のuuid が 000000000000000000000000 の場合
        • http://192.168.0.1/data/000000000000000000000000
  • msg.payload
    • myThingsに送信する値。text1だけ設定。

image の部分は以下のように空でOK。changeノードで設定された値に準じる形です。

image

このように設定してトリガーに通知を送りました。

INFORMATIONで可視化

さて、当日はmyThingsアプリからのアクションとトリガーだけでなく、ほかの連携も行いました。

2016-12-23_11h18_32.jpg

Raspberry Piとカードリーダーを連携して、10%・50%・100%とサーボにカード命令を出して操作するものや、さらに、littleBits BLEモジュールとネット連携するものといったデモも織り交ぜたものになりました。

image

このように、フローはだいぶカオスになっていますが、myThingsが使用された回数とサーボの出力量を常に可視化できるようにしていました。

image

ちょっと日付が冗長にしすぎまして不格好ですが無事取れています。

image

当日はとりあえず流しっぱなしにしてこのようなグラフができました。いろいろと動いていますね!このように、なにかしらのモノやデバイスと双方向に動くようなコンテンツに関しても、enebularで対応してみるのも楽しさがありました。

今回はmyThingsが使用された回数とサーボの出力量でしたが、さらに発展させて、たくさんデモをひとまずenebularとMilkcocoaにつないでデータ蓄積をさせておいて、おのおののデモごとの使用量からデモごとの人気を可視化といったこと。

はたまた、同時に使用されたときのパワーの集まり具合でさらなるアクションを起こしたりアイデアが広がります。また、myThingsの様々なトリガーと連携して、パワーが集まるとTwitterに投稿がされたりするといった、データ連携も面白そうです。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3