從 Zero 開始(5)- Firebase 雲端即時資料庫服務 by Michael | CodeData
top

從 Zero 開始(5)- Firebase 雲端即時資料庫服務

分享:

從 Zero 開始(4)- 設定Raspberry Pi的網路與遠端連線

準備與確認工作

PiCommander包含嵌入式、Android與網頁應用程式,經由雲端即時資料庫Fireabase,建立快速、即時與靈活的遠端監控系統。這些應用程式都會和雲端即時資料庫執行互動,所以需要先瞭解與建立好需要的Firebase 雲端即時資料庫服務。這個階段需要準備好下列的項目:

  • 個人電腦,可以連接到網際網路,而且已經安裝好Java SE 8 JDK
  • Google帳戶

Hello! Firebase!

Firebase是一家在2011年成立的公司,主要的產品是提供即時的雲端資料庫服務,Firebase提供各種技術使用的API,讓開發人員很容易在應用程式加入即時雲端資料庫的功能。

Google在2014年已經併購Firebase,Firebase原來的開發團隊併入Google Cloud,藉由Google豐富的資源,可以快速加強與擴充Firebase的服務。Firebase在2015年已經整合Google帳戶,使用者可以使用Google帳戶登入與管理Firebase即時雲端資料庫的服務。

Firebase即時雲端資料庫,可以提供Raspberry Pi運作的嵌入式應用程式下列的功能:

  • 偵測連接的感應設備,在固定間隔的時間,或是偵測的資訊發生變化時,把資訊儲存在Firebase雲端資料庫。
  • 根據連接的控制設備與零件,監聽Firebase雲端資料庫特定的節點,接收到控制的資訊以後,依照資訊的內容控制設備與零件。
  • 在特定的時間或狀況,讀取儲存在Firebase雲端資料庫的資訊,根據資訊的內容控制設備與零件。

在Android和網頁應用程式提供下列的功能:

  • 依照使用者需要的資訊,監聽Firebase雲端資料庫特定的節點,根據接收到資訊顯示設備與零件的即時狀態。
  • 在特定的時間或狀況,讀取儲存在Firebase雲端資料庫的資訊,根據資訊的內容執行需要的工作。
  • 依照使用者需要執行的控制項目,在使用者執行控制操作以後,把資訊儲存在Firebase雲端資料庫。

建立 Firebase 專案

Firebase提供免費與付費幾種不同的方案,使用免費服務方案就可以讓PiCommander系統運作。使用Firebase 雲端即時資料庫服務之前,必須先建立一個PiCommander系統使用的Firebase專案:

  1. 開啟瀏覽器,在www.google.com網站使用Google帳號登入。
  2. 開啟http://firebase.google.com
  3. 選擇右上角的「Go to console」:

    swz_05_001

  4. 選擇「建立新專案」:

    swz_05_002

  5. 在專案名稱輸入自己取的名稱,例如「hellofirebase」,在國家/地區選擇「台灣」,最後選擇「建立專案」:

    swz_05_003

設定 Firebase 專案使用權限

新建立的Firebase專案,預設必須登入後才可以使用。接下來執行關閉使用者驗證的設定:

  1. 選擇「Database」:

    swz_05_004

  2. 選擇「規則」:

    swz_05_005

  3. 預設的內容需要登入的使用者才可以使用:

    swz_05_006

  4. 參考下面的畫面修改設定檔:

    swz_05_007

  5. 修改完成後選擇「發佈」:

    swz_05_008

  6. Firebase會提醒你,目前這個Fireabase專案是公開的狀態,選擇「關閉」可以關掉這個提醒。最後選擇「資料」:

    swz_05_009

  7. 回到資料內容以後,畫面上像是網址的內容,就是這個專案的Firebase URL:

    swz_05_010

下載 Firebase 專案金鑰檔案

嵌入式應用程式需要使用Firebase專案,執行讀取與儲存資料的工作,必須取得這個專案的金鑰檔案:

  1. 選擇左上角的設定圖示:

    swz_05_011

  2. 選擇「權限」:

    swz_05_012

  3. 選擇「服務帳戶」:

    swz_05_013

  4. 選擇「建立服務帳戶」:

    swz_05_014

  5. 在服務帳戶名稱輸入自己取的名稱,例如「helloraspb」,角色選擇「專案->擁有者」,勾選「提供一組新的私密金鑰」,金鑰類型選擇「JSON」,最後選擇「建立」,儲存下載的檔案並保存好:

    swz_05_032

  6. 選擇「關閉」:

    swz_05_016

匯入資料到 Firebase

依照下列的步驟,執行匯入PiCommander系統資料的工作:

  1. http://github.com/macdidi5/PiComFire2
  2. 選擇「Clone or download」後選擇「Download ZIP」:

    swz_05_017

  3. 儲存下載的檔案並解壓縮。

  4. 選擇「Database」:

    swz_05_018

  5. 選擇功能表圖示:

    swz_05_020

  6. 選擇「匯入JSON」:

    swz_05_021

  7. 選擇「瀏覽」,選擇「儲存檔案的資料夾\PiComFire2-master\resources\picom-export.json」:

    swz_05_022

  8. 選擇「匯入」:

    swz_05_023

  9. 匯入完成後的畫面:

    swz_05_024

測試 Firebase 即時資料庫

建立與設定好需要的Firebase專案以後,依照下列的步驟執行測試:

  1. 開啟Firebase專案,選擇「Database」:

    swz_05_025

  2. 啟動命令提示字元,執行下列的指令:

    cd 儲存檔案的資料夾\PiComFire2-master\projects\HelloFirebase
    java -jar HelloFirebase.jar Firebase專案URL 金鑰檔案名稱
  3. 執行測試程式以後,稍候片刻就可以看到畫面出現「Data saved successfully.」訊息,應用程式會儲存資料到Firebase資料庫:

    swz_05_026

  4. 回到Firebase Database畫面,就可以看到儲存的資料:

    swz_05_027

  5. 應用程式停留在偵測「raspb」節點的狀態,使用滑鼠在「raspb」節點的資料上點一下,把裡面的內容改為「"PiCommander"」後按「Enter」鍵:

    swz_05_028

  6. 應用程式的畫面就會接收到剛才輸入的內容:

    swz_05_029

  7. 你可以輸入其它的內容,每一次改變以後,應用程式都會接收並顯示最新的內容。完成測試以後,把內容修改為「"exit"」:

    swz_05_030

  8. 應用程式接收到「exit」就會結束:

    swz_05_031

下一步

完成系統需要的Firebase專案建立、設定與測試,接下來在Raspberry Pi安裝嵌入式應用程式,連接與測試基本的LED與開關零件。

後續 >> 從 Zero 開始(6)- 認識 Raspberry Pi GPIO 與基本零件

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

熱門論壇文章

熱門技術文章