手順の概要
- 送信先フォームをGoogleフォームで作成
- Gravio側で送信先を設定
- センサーデータと連携
送信先フォームをGoogleフォームで作成
Googleフォーム にアクセス
https://www.google.com/intl/ja_jp/forms/about/-
+マークをクリックして、新規にフォームを作成
- 回答形式を「記述式」に変更して、フォーム名を「Gravio連携テスト1」にして、「送信」
- フォーム送信画面で、真ん中の「リンク」を選択し、フォームのURLをメモしておく
-
フォームのURLを加工して、ブラウザで開く
- 加工前:https://docs.google.com/forms/d/e/XXXXXXXX/viewform?usp=sf_link
- 加工後:https://docs.google.com/forms/d/e/XXXXXXXX/formResponse
- 末尾の
viewform?usp=sf_link
をformResponse
に変更して、ブラウザで開く
- 末尾の
-
Chromeの場合、F12キーで開発者画面に入り、質問IDを探す
- Elementsタブでページのソースコードを表示し、
entry.
で検索する -
entry.
の後ろの数字(質問ID)をメモしておく(後で使う)
- Elementsタブでページのソースコードを表示し、
Gravio側で送信先を設定
- Gravio Studio 4を起動し、登録済みのHubを開く
- 「トリガー」タブを開く
指定した名前でアクションファイルが作成されるので、左下の四角いボタンをダブルクリックして、アクション設定画面(アクションエディタ)を開く
-
アクション(プロパティ)を以下のように設定する
- HTTPメソッド:
POST
- URL: 上記でメモしたURL(末尾は
formResponse
) - Content-Type:
application/x-www-form-urlencoded
- HTTPメソッド:
- ゴミ箱ボタンの左側をクリックし、アクション(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フォームの回答ページの右上のマークをクリックし、回答先を新しいスプレッドシートに変更する
- 以降は、指定したスプレッドシートにセンサーからの値がタイムスタンプ付きで入るようになります。
- グラフをつけると視覚的に分かりやすくなります。
温度センサーの場合の補足
- 温度センサーは温度が変わらないとデータを送信しないので、送信間隔は不定期です(バッテリー持続時間を考慮した仕様)
参考記事
-
アクション
-
トリガーの説明
-
センサーの挙動