一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Google Firebase控制臺和ESP8266的物聯(lián)網(wǎng)控制LED

科技觀察員 ? 來源:circuitdigest ? 作者:Abhimanyu Pandit ? 2022-09-20 16:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天我們將使用Google Firebase 云來控制一個使用 NodeMCU ESP8266LED。

設(shè)置 NodeMCU ESP8266 Wi-Fi 模塊

設(shè)置 NodeMCU 非常簡單,不會花費太多時間。這可以通過幾個簡單的組件和簡單的步驟來完成。

所需組件

NodeMCU ESP8266(12E)

引領(lǐng)

如果您沒有 NodeMCU ESP8266(12E),那么您也可以將通用 ESP8266 模塊與 Arduino UNO 和 Arduino IDE 一起使用。要了解如何使用 Arduino UNO 和 Arduino IDE 對通用 ESP8266 模塊進行編程,只需點擊鏈接即可。

電路原理

poYBAGMpfpeAcFwtAACgw-x57w0067.png

完成所有組件設(shè)置后,請按照以下簡單步驟操作:

將 NodeMCU 與計算機連接。

打開 Arduino IDE。

轉(zhuǎn)到“工具”并選擇“板”。

在板的部分中,選擇“NodeMCU V1.0(ESP-12E 模塊)”。

還要選擇適當(dāng)?shù)?COM 端口。

按照下面提到的步驟找到“FIREBASE_HOST”和“FIREBASE_AUTH”后,在下面給出的草圖中編輯并上傳。

使用 Google Firebase 編程 NodeMCU ESP8266

最后給出了帶有工作視頻的完整程序。在這里,我們將解釋代碼的幾個重要部分。

首先包括使用 ESP8266 和 firebase 的庫。

#include 《ESP8266WiFi.h

#include 《FirebaseArduino.h

按照以下鏈接下載并安裝庫:

https://github.com/FirebaseExtended/firebase-arduino/blob/master/src/Firebase.h

https://github.com/bblanchon/ArduinoJson

編譯時,如果您收到未安裝 ArduinoJson.h 庫的錯誤,請使用上面給出的鏈接安裝它。

這兩個參數(shù)對于與 firebase 通信非常重要。設(shè)置這些參數(shù)將啟用 ESP8266 和 firebase 之間的數(shù)據(jù)交換。要為您的項目查找這些參數(shù),請按照下面后面部分(設(shè)置 Firebase)中給出的步驟進行操作。

#define FIREBASE_HOST "your-project.firebaseio.com" // 來自 firebase id 的項目名稱地址
#define FIREBASE_AUTH "06dEpqanFg***************qAwnQLwLI" // 生成的密鑰火力基地

成功找到憑據(jù)后,只需在上面的代碼中替換即可。

以下參數(shù)用于連接到您的家庭 Wi-Fi 網(wǎng)絡(luò)或您設(shè)置的網(wǎng)絡(luò)。用您的網(wǎng)絡(luò) SSID 和密碼替換 SSID 和密碼。為了與firebase通信,還需要互聯(lián)網(wǎng)。

#define WIFI_SSID "xxxxxxxxxxxxxx" // 輸入你的家庭或公共wifi名稱
#define WIFI_PASSWORD "xxxxxxxxxxxxxx" //wifi ssid的密碼

此語句嘗試連接您輸入的 Wi-Fi 網(wǎng)絡(luò)。

WiFi.begin(WIFI_SSID, WIFI_PASSWORD); //嘗試連接wifi

連接 Wi-Fi 時,如果沒有連接到網(wǎng)絡(luò),則只需print(.)直到連接不成功。

  while (WiFi.status() != WL_CONNECTED) { 
    Serial.print("."); 
    延遲(500);
  }

此語句嘗試與 firebase server 連接。如果主機地址和授權(quán)密鑰正確,則連接成功

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); // 連接到火力基地

這是 firebase 庫提供的用于向 firebase 服務(wù)器發(fā)送字符串的類。要使用更多課程,請訪問此鏈接。最初將一個字符串發(fā)送到主路徑。借助此功能,我們可以更改 LED 的狀態(tài)。

Firebase.setString("LED_STATUS", "OFF"); //發(fā)送初始狀態(tài)字符串

將一個狀態(tài)字符串發(fā)送到 firebase 路徑后,編寫此語句以從同一路徑獲取 LED 的狀態(tài)并將其保存到變量中。

fireStatus = Firebase.getString("LED_STATUS"); // 從 firebase 獲取 ld 狀態(tài)輸入

如果接收到的字符串為“ON”或“on”,則只需打開內(nèi)置 LED 和外部連接的 LED。

  if (fireStatus == "ON" || fireStatus == "on") { // 比較從 firebase 接收到的 LED 狀態(tài)輸入
    Serial.println("Led Turned ON");                         
    數(shù)字寫入(LED_BUILTIN,高);// 使 bultin led ON 
    digitalWrite(led, HIGH); // 使外部 LED 開啟
  }

如果接收到的字符串為“OFF”或“off”,則只需關(guān)閉內(nèi)置 LED 和外部連接的 LED。

  else if (fireStatus == "OFF" || fireStatus == "off") { // 比較從 firebase 接收到的 LED 狀態(tài)輸入
    Serial.println("Led Turned OFF"); 
    數(shù)字寫入(LED_BUILTIN,低);// 使 bultin led 關(guān)閉
    digitalWrite(led, LOW); // 關(guān)閉外部 LED 
  }

如果收到的字符串不是這些字符串中的任何一個,則忽略并打印一些錯誤消息。

  else { 
    Serial.println("錯誤的憑證!請發(fā)送 ON/OFF"); 
    }  

設(shè)置 Firebase 控制臺

如果您是第一次使用 Firebase,那么您可能需要一些時間來設(shè)置它。請耐心等待并按照以下步驟操作。

1.如果您有Gmail id,則無需注冊firebase,如果您沒有Gmail id,則注冊一個,然后您可以進入下一步。

2. 打開瀏覽器并轉(zhuǎn)到“firebase.google.com”

3.在右上角轉(zhuǎn)到“轉(zhuǎn)到控制臺”

pYYBAGMpfo-AeKc0AAD2QTlH-oA734.png

4.點擊“添加項目”

poYBAGMpfoyAK4YtAADlaVNYja8122.png

5. 輸入您的項目名稱。

poYBAGMpfoiAS6rPAAD75a2QEQM154.png

6. 接受條款和條件,創(chuàng)建項目并點擊“繼續(xù)”

pYYBAGMpfoSAFU25AABTHHg8cCc217.png

您已成功創(chuàng)建項目。查找主機名和授權(quán)密鑰,也稱為密鑰。為此,請按照以下步驟操作:

7. 轉(zhuǎn)到設(shè)置圖標(biāo)(齒輪圖標(biāo)),然后單擊“項目設(shè)置”

pYYBAGMpfoCASE1yAAD7dBzZMm0721.png

8. 現(xiàn)在點擊“服務(wù)帳戶”

poYBAGMpfnyASpirAACBFBgeaqM976.png

9. 可以看到“Firebase admin SDK”和“Database Secrets”兩個選項

10.點擊“數(shù)據(jù)庫秘密”

11. 滾動您的項目名稱,“顯示”選項出現(xiàn)在項目右側(cè)

12.點擊“顯示”,現(xiàn)在您可以看到為您的項目創(chuàng)建的密鑰

pYYBAGMpfniAFNWpAACvh_Jbu7s235.png

13. 復(fù)制密鑰并保存到記事本。這是我們在上面的 Arduino 程序中編寫的“FIREBASE_AUTH”字符串。

poYBAGMpfnSAOc1MAACePQuWhc4202.png

14.現(xiàn)在轉(zhuǎn)到左側(cè)控制欄上的“數(shù)據(jù)庫”并單擊它

15.向下滾動并單擊“創(chuàng)建數(shù)據(jù)庫”

pYYBAGMpfnCAR8VcAACEgxetBb0115.png

16. 選擇“Start in test mode”并點擊“Enable”

pYYBAGMpfmyACbnfAAD2dtcN0ZQ372.png

17. 現(xiàn)在你的數(shù)據(jù)庫已經(jīng)創(chuàng)建好了,你將不得不再次來到這個部分來控制 LED

18.現(xiàn)在就在數(shù)據(jù)庫上方你可以看到

“ https://your_project_name.firebaseio.com/ ”

poYBAGMpfmiASSOLAABlxnsQ3Hs384.png

19. 只需復(fù)制“ your_project_name.firebaseio.com ”,不帶任何斜線和https,然后將其再次保存到記事本中,就像您保存的密鑰一樣

20. 這是我們在上面的 Arduino 程序中編寫的“FIREBASE_HOST”字符串

21. 您可以探索 firebase,但讓我們先完成教程

pYYBAGMpfmSAS_sEAABbfsHlyK8044.png

現(xiàn)在將“FIREBASE_HOST”和“FIREBASE_AUTH”放入Arduino程序并上傳草圖。我們已經(jīng)完成了這兩個部分的設(shè)置。最后給出了完整的 Arduino 程序。

poYBAGMpfmCAVB3HAAP6b5mYPEI496.png

打開 firebase 數(shù)據(jù)庫并在“LED_STATUS”部分寫入“ON”或“OFF”或“on”或“off”,以從 Google Firebase 控制臺控制 LED。

/* 使用 Firebase 控制臺控制 LED */

#include // esp8266 庫

#include // firebase 庫


#define FIREBASE_HOST "your-project.firebaseio.com" // 來自 firebase id 的項目名稱地址

#define FIREBASE_AUTH "06dEpqanFg***************qAwnQLwLI" // 生成的密鑰firebase

#define WIFI_SSID "xxxxxxxxxxxxxx" // 輸入你的家庭或公共wifi名稱

#define WIFI_PASSWORD "xxxxxxxxxxxxxx" //wifi ssid的密碼


字符串 fireStatus = ""; // 從 firebase 接收到的 led 狀態(tài)

int led = D3; // 用于外部LED

void setup() {

Serial.begin(9600);

延遲(1000);

pinMode(LED_BUILTIN,輸出);

pinMode(LED,輸出);

WiFi.begin(WIFI_SSID, WIFI_PASSWORD); //嘗試連接wifi

Serial.print("Connecting to ");

Serial.print(WIFI_SSID);

while (WiFi.status() != WL_CONNECTED) {

Serial.print(".");

延遲(500);

}

Serial.println();

Serial.print("連接到"

Serial.println(WIFI_SSID);

Serial.print("IP 地址為:");

Serial.println(WiFi.localIP()); //打印本地IP地址

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); // 連接到

Firebase Firebase.setString("LED_STATUS", "OFF"); // 發(fā)送 LED 狀態(tài)的初始字符串

}


無效循環(huán)(){

fireStatus = Firebase.getString(“LED_STATUS”);// 從 firebase 獲取 ld 狀態(tài)輸入

if (fireStatus == "ON") { // 比較從 firebase 接收到的 LED 狀態(tài)輸入

Serial.println("Led Turned ON");

數(shù)字寫入(LED_BUILTIN,低);// 使 bultin led ON

digitalWrite(led, HIGH); // 使外部 LED 開啟

}

else if (fireStatus == "OFF") { // 比較從 firebase

Serial 接收到的 LED 狀態(tài)輸入。

數(shù)字寫入(LED_BUILTIN,高);// 使 bultin led 關(guān)閉

digitalWrite(led, LOW); // 關(guān)閉外部LED

}

else {

Serial.println("Wrong Credential! Please send ON/OFF");

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23785

    瀏覽量

    672363
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2930

    文章

    46093

    瀏覽量

    390197
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    965

    瀏覽量

    47155
  • NODEMCU
    +關(guān)注

    關(guān)注

    13

    文章

    289

    瀏覽量

    22325
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    使用ESP8266與STM32進行聯(lián)網(wǎng)開發(fā)板設(shè)計

    聯(lián)網(wǎng)系列①——使用ESP8266與STM32進行聯(lián)網(wǎng)開發(fā)板設(shè)計一、
    發(fā)表于 08-19 09:06

    如何使用ESP8266和Android控制繼電器

    ESP8266 WiFi模塊系列的下一個項目是通過在MIT App Inventor的幫助下開發(fā)的App(應(yīng)用程序)使用ESP8266和Android控制繼電器。通過在Android手機中安裝此應(yīng)用程序(對不起iOS用戶?。。。?/div>
    的頭像 發(fā)表于 07-30 10:40 ?2.8w次閱讀
    如何使用<b class='flag-5'>ESP8266</b>和Android<b class='flag-5'>控制</b>繼電器

    使用ESP8266實現(xiàn)電磁繼電器簡易聯(lián)網(wǎng)控制的詳細(xì)制作過程說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用ESP8266實現(xiàn)電磁繼電器簡易聯(lián)網(wǎng)控制的詳細(xì)制作過程說明。
    發(fā)表于 03-23 08:00 ?22次下載
    使用<b class='flag-5'>ESP8266</b>實現(xiàn)電磁繼電器簡易<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>控制</b>的詳細(xì)制作過程說明

    聯(lián)網(wǎng)】基礎(chǔ)篇 ESP8266-NodeMCU學(xué)習(xí)一

    聯(lián)網(wǎng)】基礎(chǔ)篇 ESP8266-NodeMCU學(xué)習(xí)一本篇文章:本篇文章主要是關(guān)于ESP8266-NodeMCU的學(xué)習(xí)。正文如下:一、ESP8266
    發(fā)表于 10-26 14:21 ?16次下載
    【<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>】基礎(chǔ)篇 <b class='flag-5'>ESP8266</b>-NodeMCU學(xué)習(xí)一

    Esp8266(NodeMCU)連接阿里云服務(wù)器

    ??使用EsP8266(NodeMCU)連接阿里云服務(wù)器,并在服務(wù)器控制臺點亮板載LED燈,進行數(shù)據(jù)上傳和下傳的測試。創(chuàng)建阿里云產(chǎn)品功能定義:先選擇編輯草稿,才可以看到最下面的布爾值那個。添加設(shè)備
    發(fā)表于 11-16 10:21 ?18次下載
    <b class='flag-5'>Esp8266</b>(NodeMCU)連接阿里云服務(wù)器

    HC05-ESP8266實現(xiàn)控制LED的閃爍

    藍(lán)牙設(shè)備是不可或缺的一部分,在這里我們將用HC05-ESP8266實現(xiàn)控制LED的閃爍在本篇文章中,將HC-05藍(lán)牙模塊與流行的Wi-Fi模塊ESP8266連接,并通過藍(lán)牙發(fā)送命令無線
    發(fā)表于 11-23 18:06 ?1次下載
    HC05-<b class='flag-5'>ESP8266</b>實現(xiàn)<b class='flag-5'>控制</b><b class='flag-5'>LED</b>的閃爍

    調(diào)用Lua新建的WEB服務(wù)器 操作Nodemcu esp8266 控制繼電器實現(xiàn)聯(lián)網(wǎng)

    調(diào)用Lua新建的WEB服務(wù)器 操作Nodemcu esp8266 控制繼電器實現(xiàn)聯(lián)網(wǎng)
    發(fā)表于 12-08 16:51 ?13次下載
    調(diào)用Lua新建的WEB服務(wù)器  操作Nodemcu <b class='flag-5'>esp8266</b> <b class='flag-5'>控制</b>繼電器實現(xiàn)<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>

    ESP8266單股RGB LED控制器板

    電子發(fā)燒友網(wǎng)站提供《ESP8266單股RGB LED控制器板.zip》資料免費下載
    發(fā)表于 07-26 10:59 ?2次下載
    <b class='flag-5'>ESP8266</b>單股RGB <b class='flag-5'>LED</b><b class='flag-5'>控制</b>器板

    使用ESP8266 Wifi模塊和iPhone/Android控制LED

    電子發(fā)燒友網(wǎng)站提供《使用ESP8266 Wifi模塊和iPhone/Android控制LED.zip》資料免費下載
    發(fā)表于 11-09 14:15 ?10次下載
    使用<b class='flag-5'>ESP8266</b> Wifi模塊和iPhone/Android<b class='flag-5'>控制</b><b class='flag-5'>LED</b>

    使用ESP8266控制帶按鈕開關(guān)的LED

    電子發(fā)燒友網(wǎng)站提供《使用ESP8266控制帶按鈕開關(guān)的LED.zip》資料免費下載
    發(fā)表于 11-11 09:13 ?3次下載
    使用<b class='flag-5'>ESP8266</b><b class='flag-5'>控制</b>帶按鈕開關(guān)的<b class='flag-5'>LED</b>

    ESP8266聯(lián)網(wǎng)開源分享

    電子發(fā)燒友網(wǎng)站提供《ESP8266聯(lián)網(wǎng)開源分享.zip》資料免費下載
    發(fā)表于 12-06 14:45 ?4次下載
    <b class='flag-5'>ESP8266</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>開源分享

    構(gòu)建基于ESP8266聯(lián)網(wǎng)控制

    電子發(fā)燒友網(wǎng)站提供《構(gòu)建基于ESP8266聯(lián)網(wǎng)控制器.zip》資料免費下載
    發(fā)表于 02-13 16:26 ?3次下載
    構(gòu)建基于<b class='flag-5'>ESP8266</b>的<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>控制</b>器

    使用FirebaseESP8266聯(lián)網(wǎng)平臺

    電子發(fā)燒友網(wǎng)站提供《使用FirebaseESP8266聯(lián)網(wǎng)平臺.zip》資料免費下載
    發(fā)表于 07-03 09:54 ?0次下載
    使用<b class='flag-5'>Firebase</b>的<b class='flag-5'>ESP8266</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>平臺

    采用ESP8266聯(lián)網(wǎng)開關(guān)

    電子發(fā)燒友網(wǎng)站提供《采用ESP8266聯(lián)網(wǎng)開關(guān).zip》資料免費下載
    發(fā)表于 07-06 15:03 ?4次下載
    采用<b class='flag-5'>ESP8266</b>的<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>開關(guān)

    ESP8266聯(lián)網(wǎng)茶壺

    電子發(fā)燒友網(wǎng)站提供《ESP8266聯(lián)網(wǎng)茶壺.zip》資料免費下載
    發(fā)表于 07-10 16:45 ?0次下載
    <b class='flag-5'>ESP8266</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>茶壺