Gravio 4からCO2データをAmbientに送って可視化する


Gravioでデータが取れるようになったので、今、いろいろ可視化サービスとの連携を試してみています。

以前、「Gravio 4とPower BIでCO2を可視化する」でPower BIとの連携は書きましたが、今回は「Ambient」というサービスです。IoTデータを可視化するためのサービスだそうでGravioにぴったりです。

ある程度までは無料で使うことができますので試してみました。

使用環境

  • Raspberry Pi 4 Model B w/4GB RAM
  • Ubuntu Server 20.04.1 LTS
  • Gravio HubKit v4.1.0-6380
  • Gravio Studio v4.1.5432.0
  • Gracio CO2センサー
  • Ambient

事前準備

手順

チャネルの作成

「チャネル一覧」の画面で「チャネルを作る」をクリックします。

新しいチャネルが作成されます。

「設定」のドロップダウンから「設定変更」をクリックします。

CO2を可視化するので、「チャネル名」、「説明」、「データー1」に適当な名前をつけておきます。
「チャネル属性を設定する」をクリックして保存します。

チャネル名が変わりました。変わらないときはページを更新してみてください。

アクションの作成

Gravio Studioでアクションを作成します。いつものHTTP Requestコンポーネントです。

ここで、先程のチャネル一覧のところから「チャネルID」と「ライトキー」を使用します。

URLに http://ambidata.io/api/v2/channels/<チャネルID>/data を指定します。
今回の場合、http://ambidata.io/api/v2/channels/32659/dataとなります。

Pre Mappingsでは、データ1(d1)にCO2データを送信しますので、ライトキーを使って、cv.Payloadに以下のようなJSONを構築して渡します。

cv.Payload
{"writeKey": "28cdcd053c010cbf", "d1": tv.Data}

実行すると、200 Successと出てアクションが成功すると思います。

結果の確認

Ambientに戻って、チャネル一覧からチャネル名をクリックします。

このようにデータ0が送られました。

ボード名がデフォルトのままなので、あとで名前を変えておきましょう。

トリガーで連携

最後にセンサーと連携するためのトリガーを作成します。

保存して、有効化すると、どんどんAmbientにデータが溜まっていきますね。

注意点

Ambientの「諸元/制限」にあるとおり、チャネルごとに最低5秒開ける必要があります。5秒以内に送信しても受信されないので注意してください。今回、CO2データは10秒毎に受信するので問題ありませんが、同一チャネルの別のデータに送信する際などは、一つのHTTP Request内で送るなど注意が必要です。

ポイント

  • Ambientにデータを送るときにはチャネルを作成し、チャネルIDとライトキーを使ってデータを送る
  • 送信間隔に注意する

参考