LoginSignup
1
0

More than 3 years have passed since last update.

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

Posted at

手順の概要

  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フォームの回答ページの右上のマークをクリックし、回答先を新しいスプレッドシートに変更する

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

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

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

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

参考記事

1
0
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
1
0