使用谷歌Firebase和ESP32 NodeMCU的基于物聯(lián)網(wǎng)的LED控制
掃描二維碼
隨時(shí)隨地手機(jī)看文章
ESP32是物聯(lián)網(wǎng)應(yīng)用的強(qiáng)大硬件平臺(tái),廣泛用于物聯(lián)網(wǎng)應(yīng)用的原型設(shè)計(jì)和開(kāi)發(fā)。在我們之前的一些會(huì)議中,我們已經(jīng)在許多物聯(lián)網(wǎng)云平臺(tái)上使用了ESP32:
?ThingSpeak和ESP32:如何使用ESP32將數(shù)據(jù)發(fā)送到云
?ESP32 Web服務(wù)器:從網(wǎng)頁(yè)控制LED
?谷歌助手使用ESP32和Adafruit IO控制LED
?物聯(lián)網(wǎng)控制LED使用ESP32與Blynk應(yīng)用程序
如何使用IFTTT和ESP32觸發(fā)LED與電子郵件通知
在本文中,我們將看到如何使用google firebase控制臺(tái)和ESP32來(lái)控制LED。
Firebase是谷歌的數(shù)據(jù)庫(kù)平臺(tái),用于創(chuàng)建、管理和修改從任何android應(yīng)用程序、web服務(wù)、傳感器等生成的數(shù)據(jù)。它基本上是一個(gè)移動(dòng)和web應(yīng)用程序開(kāi)發(fā)平臺(tái),它有許多服務(wù),如Firebase云消息、Firebase認(rèn)證、實(shí)時(shí)數(shù)據(jù)庫(kù)等。在實(shí)時(shí)數(shù)據(jù)庫(kù)中,我們可以在firebase云上看到實(shí)時(shí)數(shù)據(jù),并且可以使用Internet從任何地方控制任何外圍設(shè)備。
要從谷歌firebase控制LED,首先我們將設(shè)置谷歌firebase控制臺(tái),然后是ESP32模塊。
需求
?ESP32模塊
?USB電纜
?電路試驗(yàn)板
?LED
?跳線
?電阻器1 k
線路圖
為ESP32設(shè)置Firebase控制臺(tái)
如果你是第一次使用firebase,那么你必須為firebase創(chuàng)建一個(gè)帳戶,或者可以直接使用谷歌帳戶注冊(cè):
在右上角單擊“Go to Console”。
點(diǎn)擊“添加項(xiàng)目”。
輸入您想要的項(xiàng)目名稱,然后單擊創(chuàng)建項(xiàng)目。
現(xiàn)在你的項(xiàng)目已經(jīng)創(chuàng)建好了,點(diǎn)擊“繼續(xù)”。
現(xiàn)在,在編程ESP32時(shí),您將需要此項(xiàng)目的主機(jī)名和授權(quán)密鑰/密鑰;現(xiàn)在我們來(lái)看看這些參數(shù)是怎么得到的。
進(jìn)入設(shè)置圖標(biāo),點(diǎn)擊“項(xiàng)目設(shè)置”。
現(xiàn)在單擊“服務(wù)帳戶”,然后單擊“數(shù)據(jù)庫(kù)秘密”。
在點(diǎn)擊數(shù)據(jù)庫(kù)秘密你會(huì)發(fā)現(xiàn)一個(gè)秘密密鑰,復(fù)制這個(gè)密鑰并保存在記事本中,這是你的firebase授權(quán)密鑰,你以后會(huì)需要。
現(xiàn)在點(diǎn)擊左側(cè)控制欄的“數(shù)據(jù)庫(kù)”。
現(xiàn)在向下滾動(dòng),點(diǎn)擊“創(chuàng)建數(shù)據(jù)庫(kù)”。
現(xiàn)在選擇“在測(cè)試模式下啟動(dòng)”并單擊“啟用”。
現(xiàn)在您的數(shù)據(jù)庫(kù)已經(jīng)創(chuàng)建,您將不得不再次來(lái)到這里來(lái)控制您的LED,現(xiàn)在只需在記事本中復(fù)制給定的URL,不帶斜杠和http。這是您的firebase主機(jī),您將在稍后需要。
使用Firebase設(shè)置ESP32模塊
要使用谷歌firebase與ESP32一起工作,您將需要一個(gè)firebase庫(kù),因此首先使用下面的鏈接下載該庫(kù)并將其保存在Arduino庫(kù)文件中。
現(xiàn)在打開(kāi)Arduino IDE,轉(zhuǎn)到Sketch- > include Library- > Add . zip Library并添加從上面鏈接下載的文件。
安裝庫(kù)之后,您就可以使用ESP32使用谷歌firebase了。
現(xiàn)在轉(zhuǎn)到工具,選擇ESP32 Dev board和適當(dāng)?shù)腃OM端口,復(fù)制下面給出的代碼,并編輯網(wǎng)絡(luò)憑據(jù),firebase密鑰和firebase主機(jī)。編輯后使用Arduino IDE將代碼上傳到ESP32。
谷歌Firebase ESP32編程
使用ESP32控制LED的完整代碼在教程結(jié)束時(shí)給出
首先包括使用ESP32和firebase的庫(kù)。
現(xiàn)在輸入您的firebase主機(jī)、密鑰和網(wǎng)絡(luò)憑據(jù)。
在設(shè)置功能中,定義輸出引腳,延遲,波特率并連接到Wi-Fi。
下面的語(yǔ)句嘗試連接firebase服務(wù)器。如果主機(jī)地址和授權(quán)密鑰正確,則連接成功。
這是由firebase庫(kù)提供的用于向firebase服務(wù)器發(fā)送字符串的類。通過(guò)這個(gè)我們可以改變LED的狀態(tài)。
在將一個(gè)狀態(tài)字符串發(fā)送到firebase路徑后,編寫(xiě)以下語(yǔ)句從同一路徑獲取LED的狀態(tài)并將其保存到變量中。
如果接收到的字符串是“ON”或“ON”,那么只需打開(kāi)輸出LED。
如果接收到的字符串是“OFF”或“OFF”,那么只需關(guān)閉輸出LED。
如果接收到的字符串不是這些,那么就忽略并打印一些錯(cuò)誤消息。
輸出
上傳代碼后,打開(kāi)串行監(jiān)視器,在瀏覽器中打開(kāi)firebase并轉(zhuǎn)到控制臺(tái),然后選擇前面創(chuàng)建的項(xiàng)目。在這個(gè)進(jìn)入數(shù)據(jù)庫(kù),它會(huì)顯示最初的LED狀態(tài)是OFF,從這里你可以通過(guò)在這里寫(xiě)ON來(lái)改變LED狀態(tài),你的LED會(huì)變成ON狀態(tài),你也可以在串行監(jiān)視器上看到你的LED狀態(tài)。
本文編譯自iotdesignpro