【3密可視化】第2回 センサーデータを保存しよう

概要

この記事は、チュートリアル「enebularを使って3密状態を可視化してみようの第2回目です。
チュートリアルの目次は、記事「enebularを使って3密状態を可視化してみようにあるので、そちらを参照してください。

今回は、オムロン環境センサーでセンシングしたデータを、定期的にFirebaseに格納します。

Firebaseは、Googleが提供するモバイルとウェブアプリケーション開発プラットフォームです。今回は、Firebaseの機能の1つRealtime Databaseを使ってデータを保存します。

ゴール

定期的にオムロン環境センサーで騒音とCO2濃度をセンシングし、データと時刻をFirebase Realtime Databaseに格納すること

前提条件

第1回のチュートリアルを達成していること

目次

  1. Firebaseアカウントの作成とデータベースの準備
  2. サンプルフローのインポート
  3. Firebaseにデータを保存するための設定
  4. Firebaseに保存されたデータを確認しよう

Firebaseアカウントの作成とデータベースの準備

  1. 下記リンクからFirebaseの利用を開始します。
    https://firebase.google.com/
  2. 任意の名前でプロジェクトを作成します。
  3. コンソールで作成したプロジェクトを選択し、開発メニューのDatabaseを選択します。
  4. Realtime Databaseの項目で、「データベースを作成」ボタンを選択します。
  5. 「Realtime Database のセキュリティ ルール」画面では、データベースに誰でもデータを書き込めないようにする必要があるため「ロックモードで開始」を選択します。次に「有効にする」ボタンを選択します。
  6. 作成したRealtime Databaseに移動します。
  7. 「ルール」タブで、.readの値をfalseからtrueに書き換えます。これにより、保存されたデータに誰でもアクセスすることが出来ます。
  8. 「公開」ボタンを選択し、変更を反映します。
  9. 左側メニューの「歯車アイコン」を選択し、「プロジェクトを設定」を選択します。
  10. Settings画面で「サービス アカウント」タブを選択します。
  11. Firebase Admin SDKを選択し、「新しい秘密鍵の生成」ボタンを選択します。
  12. ポップアップ画面で「キーを生成」ボタンを選択し、JSON形式のファイルをダウンロードします。

サンプルフローのインポート

  1. 下記リンクからDiscover Assetsへ移動します。
    https://enebular.com/discover/flow
  2. 検索ボックスに「anti-covid-19-tutorial-2」と入力しチュートリアル用のフローを検索します。
  3. 該当するフローを選択します。
  4. 「Import」ボタンを選択します。
  5. ポップアップ画面が表示されるので、Projectは先ほど作成したプロジェクト名を選択します。Privilegeは「edit, deploy, publish」を選択します。最後に「Import」ボタンを選択します。
  6. プロジェクトにサンプルフローがインポートされたことを確認します。

Firebaseにデータを保存するための設定

  1. enebular editorを起動し、インポートしたフローの「リモート」ボタンをクリックします。
    注1:Raspberry Pi4と作業用PCは同じLANに接続してください
    注2:作業用PCのファイアウォール設定が有効な場合、正しくデバイスと通信できない場合があります。その場合、ファイアウォール設定を一時的に無効にしてください。
  2. エディタ画面で、Add Firebaseノードをダブルクリックします。
  3. 「Add Firebaseノードを編集」画面のFirebase欄で、「新規にfirebaseCertificateを追加」を選択し、「鉛筆アイコン」を選択します。
  4. 「firebaseCertificateノードを編集」画面でFirebase接続に必要な設定を行います。先ほどの手順でダウンロードしたJSONファイルの内容を使用します。
    ・Firebase : JSONファイルのproject_idの値
    ・Auth Type:JSON Web Tokenを選択
    ・Client Email:JSONファイルのclient_emailの値
    ・Private Key:JSONファイルのprivate_keyの値
  5. 「更新」ボタンを選択し設定を保存します。
  6. 「Add Firebaseノードを編集」画面は下記のように行い、「完了」ボタンを選択します。
    ・Firebase:作成したFirebase認証情報を選択
    ・Child Path:testを入力
    ・Method:pushを選択
    ・Data:空欄

Firebaseに保存されたデータを確認しよう

FirebaseのコンソールでRealtime Databaseに、CO2濃度と騒音データが格納されていることを確認します。