概要
この記事は、チュートリアル「enebularを使って3密状態を可視化してみよう」の第2回目です。
チュートリアルの目次は、記事「enebularを使って3密状態を可視化してみよう」にあるので、そちらを参照してください。
今回は、オムロン環境センサーでセンシングしたデータを、定期的にFirebaseに格納します。
Firebaseは、Googleが提供するモバイルとウェブアプリケーション開発プラットフォームです。今回は、Firebaseの機能の1つRealtime Databaseを使ってデータを保存します。
ゴール
定期的にオムロン環境センサーで騒音とCO2濃度をセンシングし、データと時刻をFirebase Realtime Databaseに格納すること
前提条件
第1回のチュートリアルを達成していること
目次
- Firebaseアカウントの作成とデータベースの準備
- サンプルフローのインポート
- Firebaseにデータを保存するための設定
- Firebaseに保存されたデータを確認しよう
Firebaseアカウントの作成とデータベースの準備
- 下記リンクからFirebaseの利用を開始します。
https://firebase.google.com/ - 任意の名前でプロジェクトを作成します。
- コンソールで作成したプロジェクトを選択し、開発メニューのDatabaseを選択します。
- Realtime Databaseの項目で、「データベースを作成」ボタンを選択します。
- 「Realtime Database のセキュリティ ルール」画面では、データベースに誰でもデータを書き込めないようにする必要があるため「ロックモードで開始」を選択します。次に「有効にする」ボタンを選択します。
- 作成したRealtime Databaseに移動します。
- 「ルール」タブで、.readの値をfalseからtrueに書き換えます。これにより、保存されたデータに誰でもアクセスすることが出来ます。
- 「公開」ボタンを選択し、変更を反映します。
- 左側メニューの「歯車アイコン」を選択し、「プロジェクトを設定」を選択します。
- Settings画面で「サービス アカウント」タブを選択します。
- Firebase Admin SDKを選択し、「新しい秘密鍵の生成」ボタンを選択します。
- ポップアップ画面で「キーを生成」ボタンを選択し、JSON形式のファイルをダウンロードします。
サンプルフローのインポート
- 下記リンクからDiscover Assetsへ移動します。
https://enebular.com/discover/flow - 検索ボックスに「anti-covid-19-tutorial-2」と入力しチュートリアル用のフローを検索します。
- 該当するフローを選択します。
- 「Import」ボタンを選択します。
- ポップアップ画面が表示されるので、Projectは先ほど作成したプロジェクト名を選択します。Privilegeは「edit, deploy, publish」を選択します。最後に「Import」ボタンを選択します。
- プロジェクトにサンプルフローがインポートされたことを確認します。
Firebaseにデータを保存するための設定
- enebular editorを起動し、インポートしたフローの「リモート」ボタンをクリックします。
注1:Raspberry Pi4と作業用PCは同じLANに接続してください
注2:作業用PCのファイアウォール設定が有効な場合、正しくデバイスと通信できない場合があります。その場合、ファイアウォール設定を一時的に無効にしてください。 - エディタ画面で、Add Firebaseノードをダブルクリックします。
- 「Add Firebaseノードを編集」画面のFirebase欄で、「新規にfirebaseCertificateを追加」を選択し、「鉛筆アイコン」を選択します。
- 「firebaseCertificateノードを編集」画面でFirebase接続に必要な設定を行います。先ほどの手順でダウンロードしたJSONファイルの内容を使用します。
・Firebase : JSONファイルのproject_idの値
・Auth Type:JSON Web Tokenを選択
・Client Email:JSONファイルのclient_emailの値
・Private Key:JSONファイルのprivate_keyの値 - 「更新」ボタンを選択し設定を保存します。
- 「Add Firebaseノードを編集」画面は下記のように行い、「完了」ボタンを選択します。
・Firebase:作成したFirebase認証情報を選択
・Child Path:testを入力
・Method:pushを選択
・Data:空欄
Firebaseに保存されたデータを確認しよう
FirebaseのコンソールでRealtime Databaseに、CO2濃度と騒音データが格納されていることを確認します。