コンテンツにスキップ
ショップ

Google SheetsをつかったIoTサービス入門

Leafony Beacon1)とRaspberry Piとを使ってIoT環境センサを作り、Google スプレッドシートを使って、センサデータを可視化します。

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

about

  • Leafony Basic Kit
  • Raspberry Pi (3, 4, zero等)
  • ブラウザが閲覧できるPCやスマホ
  • Arduino IDE
  • Raspberry Pi 初めての方は、Raspberry Pi 3 B+ スターターキット が便利です。Raspbian OSイメージを書き込んだmicroSDが入っていますが、ディスプレイ、キーボード、マウスは有りません。別途 ご用意してください。
  • Raspberry Pi は、無線LANでインターネットに接続します。こちらも事前にご用意してください。
TypeNameQ’ty
AZ62Connector Cover1
AI014-Sensors1
AZ01USB1
AP01AVR MCU1
AC02BLE Sugar1
AV01CR20321
-CR2032 coin cell battery1
-M2*18mm screw2

  • 書き込みには、BLE、4-Sensorsライブラリが必要です。予め、ライブラリをインクルードしておいてください。詳しくは、こちら。
  • Arduino IDEで、以下のスケッチをマイコンボードに書き込んでください。 ・leafony_beacon.ino
  • Arduino IDE 1.8.9で動作を確認しています。書き込みエラーが発生したら、IDEのバージョンを確認してください。

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

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

Terminal window
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 スプレットシートをNode.jsで操作するためにはAPIを取得する必要があります。まず、下記 Node.js Quick Start のStep.1で、 Enable the Google Sheets API をクリックし、credentials.jsonをダウンロードします。次に、credentials.jsonをleafony-beacon/spreadsheet-loggerディレクトリにコピーしてください。

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

index.js へGoogle SheetsのIDとシート名の設定

Section titled “index.js へGoogle SheetsのIDとシート名の設定”

Google スプレッドシート を開いて、URLの赤線部分の「シートID」と「シート名」を確認します。

gs_pi_2 gs_pi_3

leafony-beacon/spreadsheet-loggerディレクトリ「index.js」があります。「index.js」の18, 19行目にある「spreadsheetId」と「sheetName」に、上記の「シートID」と「シート名」を貼り付けることで、データが書き込まれます。

gs_pi_4

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

gs_pi_5

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

gs_pi_6

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

gs_pi_7

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

gs_pi_8

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

gs_pi_9

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

gs_pi_10

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

gs_pi_11

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

gs_pi_12