Firebase雲端資料庫 - Firebase 遠端控制 LED燈亮

前一篇已安裝好 Admin SDK 了,且也已經建立了 Firebase 專案與 Realtime Database ,接下來本篇就結合「樹莓派控制入門篇 - LED閃爍」,變成遠端控制 LED 燈亮與燈熄,只要變更 Firebase 資料庫的屬性值就可以了。

前置準備

教具準備

名稱 數量 規格 備註
樹莓派 1 Raspberry Pi 4 Model B (4G) 就只是現在頂規是這個版本,用三代的也可以
麵包板 1 不限 測試時容易連結
杜邦線 1 不限 保證沒有斷芯就好
LED燈 1 不限 測試此設備能發光閃爍
電阻 1 10K 為了不讓 LED 燒掉

作業環境

  • 樹莓派:Raspbian
  • Windows 10 專業版 x64

電路圖

待補

如下圖的影片

身份驗證

經過前面幾篇文章的操作,我們已經

範例

#!user/bin/python3.7

import RPi.GPIO as GPIO
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db

def setup():
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(25,GPIO.OUT)
    
    # Fetch the service account key JSON file contents
    cred = credentials.Certificate('/home/pi/Documents/certificate/aiotfarm-firebase-adminsdk-5pv7h-0f26688b17.json')
    
    # Initialize the app with a service account, granting admin privileges
    firebase_admin.initialize_app(cred, {
        'databaseURL': 'https://aiotfarm.firebaseio.com/'
    })
    
    # As an admin, the app has access to read and write all data, regradless of Security Rules
    ledRef = db.reference('Demo/status')
    ledRef.listen(listener)         

def listener(event):
    print(event.data)
    if event.data:
        GPIO.output(25,GPIO.HIGH)
    else:
        GPIO.output(25,GPIO.LOW)

if __name__=="__main__":
    setup()

參考文章

留言