Gravio Hub2で収集した現場データをSORACOM Harvestに集約しSORACOM Lagoonで可視化してみた


:::note info
SORACOMプラットフォームにはSORACOM HarvestというストレージサービスとSORACOM Lagoonというデータ可視化サービスがあり、これらを使うと外部のクラウドサービスなどを一切用意することなく、SORACOMのみでデータの可視化を開始できます。今回は、現場データの収集から統合・蓄積、そして可視化までをGravio+SORACOMにて行います。
:::

![全体図.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/86841032-adba-54e1-984a-36bf7bae9d99.jpeg)


# 使用環境
- SORACOM nanoSIM
- SORACOM Harvest
- SORACOM Lagoon
- Gravio Hub2（LTE対応ゲートウェイ、Gravio HubKit5.0インストール済）
- 設定用PC（WindwosもしくはmacOS、Gravio Studio5.0インストール済）
- Gravio CO2センサー
- Gravio クライメイトセンサー

# 事前準備
- Gravioは有償契約が必要となります。
- Gravio Hub2をSORACOM nanoSIMを使ってLTE接続を行ってください。[設定手順](https://qiita.com/sh_yamaguchi/items/6f76453f98540cc1cfd7)
- 本記事ではSORACOM Harvestへ連携を行うためのアクションコンポーネントの設定方法を中心にご紹介します。
そのため、Gravioの基本的な設定方法は[設定手順](https://www.gravio.com/jp-blog-article/graviorental)にて以下をご参照ください。
    - PCにGravio Studioをインストール
    - センサーのペアリング
    - トリガー/アクションの設定

# 手順
## SORACOM Harvest への連携

- LTE接続されたGravio Hub2にアクセスするために、設定PCからWi-Fi設定の一覧に表示されるSSID「GravioHub-xxxxx」へ繋ぎます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/0b069f8f-5b93-fc0a-058e-9e82d48c76d4.png" width=50%>


- Gravio Studioにログインし、Gravio Hub2のGravio HubKitアイコンが表示されていることを確認します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/a69a2047-1ad8-6f80-caee-45078dff4cb6.png" width=70%>



:::note warn
表示されない場合
右上の＋アイコンをクリックします。Hub名はお好きなものを入力します。
Hub IP欄に、[Gravio UpdateManager](https://qiita.com/sh_yamaguchi/items/6f76453f98540cc1cfd7)上にある「現在のWAN側IPアドレス」に表示しているIPアドレスをメモして、入力します。右下の保存を押し、Gravio Hub2のアイコンが表示されるか確認します。
:::

- アクションを作成します。今回はHTTPRequestコンポーネントを選択します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/553fb152-31d2-2edb-8714-b76b015cef21.png" width=70%>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/cbe5c0ce-e91b-39e0-a881-f043d65210e7.png" width=90%>


- Propertiesには次のように指定します。

Properties|値
---|---
HTTPメソッド|POST
URL|http://harvest.soracom.io
Content-Type|application/json
認証方式|（なし）


- Pre Mappingsは、以下のように入力します。（記載したデータ名称"co2"と収集した値がセットでSORACOM Harvestへ送信されます。）※今回は例としてCO2センサーを使っていますが、他のデータを送りたい場合も同様に設定できます。

```
cv.Payload = {"co2":tv.Data}
```


- GravioとSORACOM Harvestが無事連携できるか確認を行います。
アクション画面の「再生」ボタンを押します。SORACOM Harvest Data画面にてテストデータ「0」が受信されていたら、GravioとSORACOM Harvestの連携は成功です。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/5f3d310a-c75c-982d-6881-7c4759ed321e.png" width=80%>

![co2 0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/38598969-d444-cd8e-1aa2-4d393d18246d.png)


- 実データを送信するために、トリガーを設定します。センサーで収集した任意のCO2データが送信されるように設定します。ただし、Gravio CO2センサーの場合、センシング間隔が10秒に1回のため、デフォルトだと高頻度でデータ送信を行います。送信頻度は自由に設定できますので、今回は1分ごとにするため、閾値（ミリ秒）を 60000 にします。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/aa089ce9-af78-1ffb-4dc2-a24dafdf1e17.png" width=30%>


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/6287f4f9-842c-1e8a-3d5e-a66128933a0b.png" width=30%>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/e5b77ddd-ab52-7382-2914-315243002e4a.png" width=30%>



- SORACOM Harvest Data画面にて、実データが受信されているか確認します。
![ハーベスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/076f3264-4819-2b03-6ccb-554edd07ffd5.png)


## SORACOM Lagoon での可視化
- Gravioにて収集したデータをSORACOM Harvestに集約し、さらにSORACOM Lagoonにて可視化しました。CO2データに加えて、Gravioクライメートセンサーを使い、温度・湿度データも含めています。SORACOM Lagoonでのグラフ化手順は[こちら](https://users.soracom.io/ja-jp/docs/lagoon-v2/create-dashboard/)を参考ください。


![ラグーン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3368072/c1eb8838-7366-12d5-ca72-52b3d60d539a.png)


# さらに活用するためのTIPS
LTE対応の Gravio Hub2 を複数の現場に設置することにより、多拠点の現場データをSORACOM Harvestにて集約・統合を行うことで、SORACOM Lagoonを使ってまとめてグラフ化することも可能です。本社・工場、国内・海外、チェーン店舗など、多拠点の現場データの見える化でお悩みの方はぜひGravioをご検討ください。