IoTツールのGravioでセンサーからのデータをGoogleスプレッドシートに連携させる

手順の概要

  1. 送信先フォームをGoogleフォームで作成
  2. Gravio側で送信先を設定
  3. センサーデータと連携

送信先フォームをGoogleフォームで作成

  • Googleフォーム にアクセス
    https://www.google.com/intl/ja_jp/forms/about/

  • +マークをクリックして、新規にフォームを作成

    • 回答形式を「記述式」に変更して、フォーム名を「Gravio連携テスト1」にして、「送信」
    • フォーム送信画面で、真ん中の「リンク」を選択し、フォームのURLをメモしておく

Gravio側で送信先を設定

  • Gravio Studio 4を起動し、登録済みのHubを開く
  • 「トリガー」タブを開く
  • 左から2番めの四角のボタンを押す(マウスカーソルを乗せてもツールチップが出ないので分かりづらい)

  • Actions画面が開くので、右上の「+」マークをクリック

  • アクションファイル名(例:postToSpreadSheet-1)を入力して、OKをクリック

  • 指定した名前でアクションファイルが作成されるので、左下の四角いボタンをダブルクリックして、アクション設定画面(アクションエディタ)を開く

  • 「+」ボタンをクリックし、表示されるアクションのうち「HTTP Request」を選択して、「追加」をクリック

  • アクション(プロパティ)を以下のように設定する

    • HTTPメソッド: POST
    • URL: 上記でメモしたURL(末尾はformResponse)
    • Content-Type: application/x-www-form-urlencoded

  • ゴミ箱ボタンの左側をクリックし、アクション(Pre Mappings)を以下のように設定する

cv.Payload = {"entry.NNNNNN": tv.Data}

  • 右上の三角マークをクリックし、動作確認する
    • 下側に動作ログが表示される

  • Googleフォームの回答を確認し、「0」という回答が追加されたことを確認する
    • tv.* はトリガーからのデータが入るという意味なので、Gravio Studio 4から送信した場合は0になる

実際のセンサーデータと連携させる

  • トリガータブを開き、右上のボタンを押して、トリガー追加ウィンドウを表示する

  • イベントトリガー名を設定し、条件タブに、エリア、キーレイヤー、物理デバイスIDを設定する
    • 物理デバイスIDは、選択後にチェックボックスにチェックを入れる
    • インターバルは、短時間で値が変わった時に複数送信しない時間を指定するもので、変更不要(1度受信した後に「インターバル」で設定した間はアクションを実行しない)

  • アクションタブに、アクション名を指定して、「追加」をクリックする

  • トリガー一覧で右はじのチェックボックスにチェックを入れて有効化する

Googleフォームの結果をGoogleスプレッドシートに入れるように設定する

  • Gravio Studio 4側のデータタブで新たにデータが受信できたのを確認し、Googleフォームの結果に数値が入ったのを確認する

  • Googleフォームの回答ページの右上のマークをクリックし、回答先を新しいスプレッドシートに変更する

  • 以降は、指定したスプレッドシートにセンサーからの値がタイムスタンプ付きで入るようになります。

  • グラフをつけると視覚的に分かりやすくなります。

温度センサーの場合の補足

  • 温度センサーは温度が変わらないとデータを送信しないので、送信間隔は不定期です(バッテリー持続時間を考慮した仕様)

参考記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です