LoginSignup
6
1

More than 5 years have passed since last update.

Twitter投稿の投稿元プラットフォームの数を可視化する - Milkcocoa and enebular

Last updated at Posted at 2016-12-05

皆さんこんにちは!

デバイスから上がってきたデータを可視化したい皆さん、朗報です。
enebularでリリースされたINFOMOTION機能がリリースされました。

スクリーンショット 2016-11-26 12.25.49.png

これが何を意味するか、enebularにデータの可視化機能がつくのです。それもとても拡張性が高いです。しかもMilkcocoaをデータレイクとして使用することができます。

データの流れのイメージ

enebular flow -> milkcocoa -> InfoMotion

今回はINFOMOTION機能を利用して、棒グラフを出力してみようと思います。今回デバイスを用意する時間がなかったので、データ元としては、Twitter投稿のPlatform Sourceの種類を可視化してみようと思います。

Platform SourceとはTweetを投稿したプラットフォーム名のことで、iPhoneとかAndroidとかです。

まずはenebularにログインして新規のProject作成してください。そして新しいflowを作成してください。このあたりはチュートリアルやドキュメントを見てもわかると思うので、今回は省略します。( http://enebular.com/developers/getstarted )

Flowの作成

今回使用するノードは、基本的には3つです。

  • Twitterノード
  • Functionノード
  • Milkcocoaノード

Milkcocoaというのはメッセージブローカーサービスです。( https://mlkcca.com )PubSub通信や、データの保存が簡単にできます。

スクリーンショット 2016-11-26 12.30.07.png

Twitterノード

TwitterノードはPublic Tweetから#雪を検索してくるようにしました。(できるだけPostが多そうなツイートを選んだつもりです。)

Functionノード

Convert(function node)は以下のように書きました。source(Tweetを投稿したプラットフォームのこと)と投稿の時刻

var sourceTag = msg.tweet.source;
var start = sourceTag.indexOf(">") + 1;
var end = sourceTag.lastIndexOf("<");
var source = sourceTag.substr(start, end - start);

var p = {source: source, val:1, created : msg.tweet.timestamp_ms};
msg.payload = p;
return msg;
  • ダミーでval Keyに1をセットしていますが、enebularの棒グラフが、数をカウントするために必要なためです。enebularのデフォルトの棒グラフは、与えられたデータの、あるkeyをラベルとし、value keyの値を合計して棒グラフを表示します。しかしenebular INFOMOTIONはとても拡張性が高い仕組みで、新しいグラフ(INFOMOTION TYPE)を作成して、enebularにアップロードすることができます。

Milkcocoaノード

Milkcocoa NodeはMilkcocoaのAppIdやDataStoreを設定します。

スクリーンショット 2016-11-26 12.26.46.png

InfoMotionを作成

ここでflowエディタから、enebularの画面に戻ります。
サイドメニューの「InfoMotion」-「Datasource」を選択して、先程設定したMilkcocoaの情報を再度設定します。

Setting Datasource

データソースとデータストアがややこしいのですが、データソースはenebularの概念でデータストアはMilkcocoaの概念です。

スクリーンショット 2016-11-26 12.26.26.png

Create InfoMotion.

"InfoMotion"タブを選択し、"Create Graph"をクリックして、以下のように設定します。

項目 設定する値
TYPE barchart
DATASOURCE TW_source(設定したデータソース名)
label source
value val

スクリーンショット 2016-11-26 12.39.52.png

このように棒グラフが表示されます。

tweet2.gif

まとめ

いかがでしょうか。enebularユーザにとっても、Milkcocoaユーザにとっても、IoTで何かできないか模索中の方々にとっても、お役に立てる機能ではないかと思います。今度はデバイスでやりたいと思います。

6
1
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
6
1