Google Sheetsを使ったIoTサービス

概要

Leafony blockは、センシングデータをBeacon1の電波で飛ばします。beaconの電波をRaspberry Piが受け、インターネット経由でGoogle スプレッドシートに書かせて、データの可視化が出来ます。

用意するもの

  • Basic Kit 2
  • Raspberry Pi 3B等
  • ブラウザが閲覧できるパソコンやスマホ

システム構成

Leafony block、Raspbery Pi、インターネット、そして、Google スプレットシートだけで、センシングしたデータを可視化出来ます。システム構成図を以下に記します。また、Leafony blockは、Basic Kit 2 スタートガイドで使用したものとスケッチ含め一緒です。

gs_about

Raspberry Piの環境構築

初めてRaspberry Piをご使用になる方は、Raspberry Pi 3 B+ スターターキット が便利です。Raspbian OSイメージを書き込んだmicroSDが入っています。Raspberry Pi は、無線LANでインターネットに接続して使用します。

今回使用するサンプルコードでは、Node.jsでnobleを使ってBLE Beaconを受信します。受信したデータはGoogle API経由でGoogle スプレッドシートに書き込みます。

下記のスクリプト(6項目)を実行して環境構築をします。https://github.com/Leafony/leafony-beacon/tree/master/spreadsheet-logger

sudo apt update
sudo apt upgrade
sudo apt install -y bluetooth libbluetooth-dev libudev-dev git
git clone https://github.com/Leafony/leafony-beacon
cd leafony-beacon/spreadsheet-logger
npm install

注意:WARNINGと表示されますが、このまま進んでください。

gs_pi_1

Google スプレットシートのAPIの取得

  1. Google スプレットシートをNode.jsで操作するためには、APIを取得する必要があります。下記 Node.js Quick Start のStep.1で、 Enable the Google Sheets API をクリックし、credentials.jsonをダウンロードします。

Node.js Quickstart | Sheets API | Google Developers : https://developers.google.com/sheets/api/quickstart/nodejs

  1. Raspberry Piのleafony-beacon/spreadsheet-loggerディレクトリに、credentials.jsonをコピーしてください。

Google スプレッドシートのIDと名前の設定

  1. Google スプレッドシート を開いて、URLの赤線部分のspredsheetIDsheetNameを確認します。

gs_pi_2 gs_pi_3

  1. Raspberry Piのleafony-beacon/spreadsheet-loggerディレクトリの「index.js」のファイルに、スプレッドシートのIDと名前を書き込みます。 「index.js」の18, 19行目に上記のspredsheetIDsheetNameを貼り付けて下さい。

gs_pi_4

Raspberry Pi でBeaconの受信の仕方

  1. Raspberry piのターミナルに「sudo node .」と入力してEnterをクリックしてください。 gs_pi_5

  2. 上記URLにブラウザでアクセスすると、Googleアカウントに移動し、ご自身のアカウントを選択します。 gs_pi_6

  3. 「詳細」をクリックしてください。 gs_pi_7

  4. 「Leafony Beacon Logger「安全ではないページ」に移動」をクリックしてください。 gs_pi_8

  5. 「詳細」をクリックしてください。 gs_pi_9

  6. 「Leafony Beacon Logger「安全ではないページ」に移動」をクリックしてください。 gs_pi_10

  7. 「許可」をクリックしてください。以下のコードをコピーしてください。ターミナル内に貼り付けると、「token.json」というファイルが生成されたあとに、beaconのスキャンが始まります。 gs_pi_11

  8. Beaconが見つかるとログが表示されると同時に、スプレッドシートに同じ内容が追記されるので、スプレッドシートを開いてデータを確認してください。 gs_pi_12

前のページに戻る


  1.  Beaconとは、地上にある電波を特定の機器で受信することで、位置をはじめとした各種情報を取得するための設備です。BluetoothのBeacon機器の場合、温度や気圧などのセンサを搭載したモジュールを任意の場所に設置して、その場所の環境を観測します。 ↩︎


最終更新 August 13, 2021