Google Sheets へのデータ連携

はじめに

このチュートリアルでは、ウェビオのデータをGoogle Sheetsへリアルタイムに書き出す方法を紹介します。 Google Sheetsにデータを溜めることで、ウェビオで集めたデータのグラフ化や分析を手軽に行えます。 本格的なシステムを作る前の評価やPoCにご活用いただけます。

しくみ

ウェビオから直接Google Sheetsへデータを投げることはできませんが、IFTTT(イフト)というウェブサービス(無料)を経由することで、ウェビオのデータをGoogle Sheetsに溜めることができます。

  • 概念図
    ウェビオ
    ↓ (1)
    IFTTT
    ↓ (2)
    Google Sheets

チュートリアル

IFTTTアカウントの作成とWebhook URLの取得

Webhook URLは、IFTTTにデータを送る際の送信先URLとなるものです。このURLは、一人一人違います。ここでは、あなたのWebhook URLをIFTTTの画面から取得する方法を説明します。

  1. IFTTT 右上の"Sign up"より、IFTTTに利用登録して下さい。 Googleアカウントでログインしても、Facebookアカウントでログインしてもどちらでも構いません。
  2. IFTTTにログインできたら、上部の"Explore"で"Webhooks"を検索して下さい。
  3. "Services"欄の"Webhooks"をクリックします。
  4. "Connect"をクリックします。するとページの右上に"Settings"というボタンが表示されます。
  5. "Settings"をクリックします。
  6. 表示されるAccount infoのWebhook用URLをメモ(どこかにコピペ)しておきます。 このURLにアクセスすると、WebhookAPIの詳細をご覧いただけます。

ウェビオのデータ連携設定

次に、ウェビオのデータをIFTTTに送る設定を行います。上記概念図の(1)の部分です。

  1. ウェビオコンソールにログインします。
  2. 左側メニューの"データ連携"をクリックします。
  3. "ルール追加"をクリックします。
  4. "HTTP POST"を選択します。
  5. 送りたいセンサーのデータ種別にチェックをつけて"次へ"。
  6. 送信先URLに、以下のようなURLを入力します。 https://maker.ifttt.com/trigger/webiot_test/with/key/***
    • webiot_test部分は、お好きな名前(イベント名)に変更して下さい
    • *** 部分は、前セクションでメモったWebhook用URLの最後の部分を入れて下さい。
  7. BODY欄に、下記の文字列(JSON)を入力します。 この例では、IFTTTの仕様(value1〜3)に合わせて、ウェビオID、データ種別、データ値を送信します。
    { "value1" : "{{id}}", "value2" : "{{datatype}}", "value3" : "{{value}}" }
  8. "次へ"をクリックして、テスト画面に移動します。
  9. "テスト"をクリックします。「200 Congratulations! You've fired the webiot_test event」と表示されれば、成功です。 何らかのエラーが表示される場合は、URL、BODYの内容を今一度見直してみて下さい。
  10. "設定する"をクリックして、設定を保存します。

IFTTTのアプレット作成

IFTTTでは、アプレットと呼ばれるものを作成することで、「どんな場合」に「どんな動作」をするかを定義します。 ここでは、「ウェビオからの信号をWebhookで受け取った」ら、「Google Sheetsに書き込む」というアプレットを作成します。

  1. IFTTTに戻り、ページ上部の"Create"をクリックします。
  2. "If This add"をクリックします。検索窓が表示されるので、"Webhooks"を検索し、クリックします。
  3. Choose Trigger 画面が表示されたら、"Receive a web request"を選択します。
  4. Event Name 欄に先ほどウェビオに設定したURL中のイベント名(上記例ではwebiot_test)を入力します。
  5. "Create Trigger"をクリックします。
  6. 次に「どんな動作」の設定です。"Then That add"をクリックします。
  7. Choose a service 画面が表示されたら、"Google Sheets"を検索しクリックします。
  8. "Choose action"画面が表示されたら、"Add row to spreadsheet"を選択します。
  9. "Connect"をクリックして、IFTTTとGoogle Driveを接続します。 画面に従って、IFTTTがGoogleにアクセスするのに同意して下さい。
  10. "Add row to spreadsheet"の設定画面は、デフォルトのままで問題ありません。 あとで変更することも可能ですので、"Create action"をクリックします。
  11. Create your own画面で"Continue"をクリックします。
  12. "Receive notifications when this Applet runs"はウザいのでOFFにすることをおすすめします。
  13. "Finish"をクリックします。

以上で設定は完了です!

IFTTTにデータが来ているか確認

  1. IFFTTTのページ上部の"My Applets"をクリック。
  2. 作成したアプレットを選択。
  3. 設定マーク(歯車のマーク)をクリック
  4. "View activity log"をクリック

ウェビオからデータが届いている場合、"Applet ran"という項目がいくつか出来ているはずです。 もし何も表示されない場合は、アプレット作成後にデータが飛んで来ているか、 ウェビオのコンソールでご確認下さい。

Google Sheetsにデータが来ているか確認

  1. Google Driveにログインします。
  2. My Drive > IFTTT > MakerWebhooks > webiot_test とフォルダを辿っていきます。

すると、"IFTTT_Maker_Webhooks_Events"というシートが作成されているはずです。(出来るまでしばらく時間がかかることもあります。) 該当のシートをひらけば、データをご覧いただけます。

まとめ

初回は設定が少しややこしいですが、IFTTTを使うことで、ウェビオのデータを他のウェブサービスに簡単に連携させることができるのが体感いただけたかと存じます。 IFTTTはGoogle Drive以外にも色々なウェブサービスに接続可能です。 ぜひあなたのIoTプロジェクトにご活用ください。

お問い合わせ

ご不明な点がございましたら、お気軽にお問い合わせ下さい。
ピクスー株式会社

  • 所在地: 〒150-0002 東京都渋谷区渋谷1-20-9 co-factory渋谷402 ピクスー株式会社
  • メール: info@webiot.io
  • 電話番号: 090-9863-0987(担当:塩澤)