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
事前準備
- https://ambidata.io/ からユーザー登録しておいてください
- 「Gravio 4とPower BIでCO2を可視化する」を参考にCO2データを取得できるようにしておいてください。
手順
チャネルの作成
「チャネル一覧」の画面で「チャネルを作る」をクリックします。
新しいチャネルが作成されます。
「設定」のドロップダウンから「設定変更」をクリックします。
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を構築して渡します。
{"writeKey": "28cdcd053c010cbf", "d1": tv.Data}
実行すると、200 Success
と出てアクションが成功すると思います。
結果の確認
Ambientに戻って、チャネル一覧からチャネル名をクリックします。
このようにデータ0
が送られました。
ボード名がデフォルトのままなので、あとで名前を変えておきましょう。
トリガーで連携
最後にセンサーと連携するためのトリガーを作成します。
保存して、有効化すると、どんどんAmbientにデータが溜まっていきますね。
注意点
Ambientの「諸元/制限」にあるとおり、チャネルごとに最低5秒開ける必要があります。5秒以内に送信しても受信されないので注意してください。今回、CO2データは10秒毎に受信するので問題ありませんが、同一チャネルの別のデータに送信する際などは、一つのHTTP Request内で送るなど注意が必要です。
ポイント
- Ambientにデータを送るときにはチャネルを作成し、チャネルIDとライトキーを使ってデータを送る
- 送信間隔に注意する