この記事は、node-red Advent Calender の 24日目になります。
また、伊那市ハッカソンで紹介した記事を、その後の発表を元に更新したものです。
島澤甲プロデュースによる、IoTの為のリアルタイム分析、モニタリングツールであるMotionBoard (ウイングアーク1st株式会社) が特に最近IoT案件での活用が増えています。
記事などで見たことがある方もいらっしゃるかと思いますが、島澤の自宅の部屋は以下のような、ハードと見える化の集大成となっていて、これだけギークな島澤が創る MotionBoard が IoTに向いていないわけがなく、多くのこだわりが簡単に利用できるよう作り込まれています。
MotionBoard によるデータの可視化については、主に以下の3つの方式があります。
enebular経由のデータの取り込み方としては、以下の2つの方法が効率良いでしょう。
1. enebular → データベース → MotionBoard
2. enebular → MB node → MotionBoard
こちらについては、クラウド上にアクセスが可能なデータベースを作成する必要があります。AWSやAzureのアカウントでデータベースをお試しで作成することができますのでそれらを利用すると良いでしょう。MotionBoard と外部データベースの接続については、こちらをご参照ください。
次に、MB node を利用した接続方法です。こちらは Node-Red のポータルに公開されているノードを利用します。
Properties |
url
: REST API用のURLtenant
: テナント名(必須)authkey
: リアルタイム連携の設定画面で生成した認証キー(必須)template
: リアルタイム連携の設定画面で指定したテンプレート名(必須)msg.mb = {url:'http://localhost:8787/motionboard', tenant:'system', authkey:'xxx', template:'テンプレート名'}
msg.payload = {c1:true, c2:123, c3:'abc'}
msg.payload = {lat:35.659304, lon:139.700467}
msg.payload = {c1:true, c2:123, c3:'abc', lat:35.659304, lon:139.700467}
body.loginId
: id + 実行日時のミリ秒body.name
: ‘mbnode’固定body.version
: 実行日時のミリ秒body.template
: msg.mbあるいは画面で指定したテンプレート名body.retry
: true固定body.locations
: (msg.payload.lat, msg.payload.lonいずれか未指定時)空配列body.locations.レコード.time
: (msg.payload.time未指定時)実行日時のミリ秒body.locations.レコード.uptime
: (msg.payload.uptime未指定時)実行日時のミリ秒body.locations.レコード.accuracy
: (msg.payload.accuracy未指定時)0body.msg
: 空配列固定body.status
: (msg.payload.lat,lon,time,uptime,accuracy以外未指定時)空配列body.status.各ステータス.time
: (msg.payload.time未指定時)実行日時のミリ秒body.status.各ステータス.enabled
: true固定msg.loginId = 'sensor123'