2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ReekohでSigfox GPS端末の緯度経度を標高データサービスと合わせMapダッシュボードに表示する

Posted at

Reekohとは

Reekohとは、IoTデータをNode-REDのようにハードウェアデバイス/APIをオンラインサービスに接続したり、独自のダッシュボードを構築することができるクラウドサービスです。
ただ、フリーサービスではないので、Reekoh社及び代理店からの提供されるエンタープライズ向けツールです。
ここでは、Sigfox対応GPSデバイスの緯度経度データを、国土地理院の試験サービス「標高API」に渡し、その地点の標高を取得し、ストレージに保存。最後に緯度経度及び標高を地図ダッシュボードに表示するところまでやってみます。(こんな感じです)
image.png

国土地理院の標高APIを使うReekoh Pluginの作り方はこちらに書いています。
また、SigfoxクラウドのCallbackを受け、パイプラインに渡す方法は、こちらに書いていますので、参考にしてください。

Sigfox GPS端末から標高APIまで

まずは、Reekoh Pipeline StudioでSigfox GWと自家製GSI Service Pluginを配置します。
image.png

SigfoxクラウドからのCallbackは下記のようなJSONでPOSTされることを想定しています。

{
  "device": "{device}",
  "time": "{time}",
  "lat": {lat},
  "lng": {lng}
}

2つのPluginをPipeline Studioに配置し、Sigfox GW側の設定にあわせたSigfox Callback設定をいれておけば、標高API結果を取得するまではノンプログラミングでいけます。つまり、下図のところまではノンプログラミングに可能で、このパイプラインを動かすと、下記のような上記JSONをSigfoxクラウドから受信するたびに、下記のJSONをアウトプットします。

{
  "title": "GSI Service Result",
  "data": {
    "device": "73xxxx",
    "time": 1538654677,
    "lat": 34.87436466683923,
    "lng": 135.6094595891116,
    "rkhDeviceInfo": {
      "_id": "73xxxx",
      "name": "iHere #0073xxxx",
      "location": [
        34.874365,
        135.60946
      ],
      "metadata": {}
    },
    "lastReadingDateTime": 1538654704735,
    "elevation": 80.7,
    "hsrc": "5m(写真測量)"
  },
  "result": {
    "elevation": 80.7,
    "hsrc": "5m(写真測量)"
  }
}

標高APIの結果をストレージに保存

上記JSONのようなアウトプットをストレージに保存します。Reekohでは、x_変数名という形にするのが暗黙ルールっぽいので、Converterのhandler.jsで、それぞれデバイスID、緯度経度、標高をx_device, x_lat, x_lng, x_elevationパラメータに代入しておきます。

handler.js
'use strict'

exports.handle = function (data, logger) {
  logger.log(data)
  return Promise.resolve({
    x_device: _.get(data, 'rkhDeviceInfo._id'),
    x_lat: data.lat,
    x_lng: data.lng,
    x_elevation: data.elevation, 
    x_datetime: moment(data.readingTime).format('YYYY-MM-DD HH:mm:ss')
  })
}

次にDatasetsプラグインを配置し、Converterと接続します。
image.png
これで、DatasetにデバイスIDに加え、緯度経度、標高が蓄積されていくことになります。

地図表示用のダッシュボードを作成する

ReekohメニューからDashboard Studioを選択するとダッシュボードを作成することができます。
image.png
ダッシュボードの大まかな流れは、Add Visualizationでガジェットを作成し、ガジェットの設定を行った後、他のガジェット追加のために再度Add Visualizationしていきます。最後に[Save Dashboard]でダッシュボードが作成されます。
image.png
Mapビューを作る場合は下図の通り、PipelineからDatasetの選択(Select Pipeline Dataset)、Select VisualizationでMapタグを選択、緯度経度情報として、Datasetのどのカラムを使うか(Set Latitude and Longitude)、Map表示にアイコン選択(Marker Icon)、アイコンクリック時のダイアログ表示項目を選択し、[Configure]ボタンをクリックすればOKです。
screencapture-console-reekoh-io-2018-10-08-11_49_44.png
すると、下図のようなダッシュボードができあがります。
image.png

Sigfox Japan KCCS

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?