精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Google Firebase控制臺和ESP8266的物聯網控制LED

科技觀察員 ? 來源:circuitdigest ? 作者:Abhimanyu Pandit ? 2022-09-20 16:51 ? 次閱讀

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

設置 NodeMCU ESP8266 Wi-Fi 模塊

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

所需組件

NodeMCU ESP8266(12E)

引領

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

電路原理

poYBAGMpfpeAcFwtAACgw-x57w0067.png

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

將 NodeMCU 與計算機連接。

打開 Arduino IDE。

轉到“工具”并選擇“板”。

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

還要選擇適當的 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 庫的錯誤,請使用上面給出的鏈接安裝它。

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

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

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

以下參數用于連接到您的家庭 Wi-Fi 網絡或您設置的網絡。用您的網絡 SSID 和密碼替換 SSID 和密碼。為了與firebase通信,還需要互聯網。

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

此語句嘗試連接您輸入的 Wi-Fi 網絡。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

設置 Firebase 控制臺

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

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

2. 打開瀏覽器并轉到“firebase.google.com”

3.在右上角轉到“轉到控制臺”

pYYBAGMpfo-AeKc0AAD2QTlH-oA734.png

4.點擊“添加項目”

poYBAGMpfoyAK4YtAADlaVNYja8122.png

5. 輸入您的項目名稱。

poYBAGMpfoiAS6rPAAD75a2QEQM154.png

6. 接受條款和條件,創建項目并點擊“繼續”

pYYBAGMpfoSAFU25AABTHHg8cCc217.png

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

7. 轉到設置圖標(齒輪圖標),然后單擊“項目設置”

pYYBAGMpfoCASE1yAAD7dBzZMm0721.png

8. 現在點擊“服務帳戶”

poYBAGMpfnyASpirAACBFBgeaqM976.png

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

10.點擊“數據庫秘密”

11. 滾動您的項目名稱,“顯示”選項出現在項目右側

12.點擊“顯示”,現在您可以看到為您的項目創建的密鑰

pYYBAGMpfniAFNWpAACvh_Jbu7s235.png

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

poYBAGMpfnSAOc1MAACePQuWhc4202.png

14.現在轉到左側控制欄上的“數據庫”并單擊它

15.向下滾動并單擊“創建數據庫”

pYYBAGMpfnCAR8VcAACEgxetBb0115.png

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

pYYBAGMpfmyACbnfAAD2dtcN0ZQ372.png

17. 現在你的數據庫已經創建好了,你將不得不再次來到這個部分來控制 LED

18.現在就在數據庫上方你可以看到

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

poYBAGMpfmiASSOLAABlxnsQ3Hs384.png

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

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

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

pYYBAGMpfmSAS_sEAABbfsHlyK8044.png

現在將“FIREBASE_HOST”和“FIREBASE_AUTH”放入Arduino程序并上傳草圖。我們已經完成了這兩個部分的設置。最后給出了完整的 Arduino 程序。

poYBAGMpfmCAVB3HAAP6b5mYPEI496.png

打開 firebase 數據庫并在“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 狀態

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"); // 發送 LED 狀態的初始字符串

}


無效循環(){

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

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

Serial.println("Led Turned ON");

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

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

}

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

Serial 接收到的 LED 狀態輸入。

數字寫入(LED_BUILTIN,高);// 使 bultin led 關閉

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

}

else {

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

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23153

    瀏覽量

    658611
  • 物聯網
    +關注

    關注

    2904

    文章

    44304

    瀏覽量

    371456
  • ESP8266
    +關注

    關注

    50

    文章

    962

    瀏覽量

    44851
  • NODEMCU
    +關注

    關注

    13

    文章

    289

    瀏覽量

    21313
收藏 人收藏

    評論

    相關推薦

    使用ESP8266與STM32進行聯網開發板設計

    聯網系列①——使用ESP8266與STM32進行聯網開發板設計一、
    發表于 08-19 09:06

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

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

    使用ESP8266實現電磁繼電器簡易聯網控制的詳細制作過程說明

    本文檔的主要內容詳細介紹的是使用ESP8266實現電磁繼電器簡易聯網控制的詳細制作過程說明。
    發表于 03-23 08:00 ?22次下載
    使用<b class='flag-5'>ESP8266</b>實現電磁繼電器簡易<b class='flag-5'>物</b><b class='flag-5'>聯網</b><b class='flag-5'>控制</b>的詳細制作過程說明

    聯網】基礎篇 ESP8266-NodeMCU學習一

    聯網】基礎篇 ESP8266-NodeMCU學習一本篇文章:本篇文章主要是關于ESP8266-NodeMCU的學習。正文如下:一、ESP8266
    發表于 10-26 14:21 ?16次下載
    【<b class='flag-5'>物</b><b class='flag-5'>聯網</b>】基礎篇 <b class='flag-5'>ESP8266</b>-NodeMCU學習一

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

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

    HC05-ESP8266實現控制LED的閃爍

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

    調用Lua新建的WEB服務器 操作Nodemcu esp8266 控制繼電器實現聯網

    調用Lua新建的WEB服務器 操作Nodemcu esp8266 控制繼電器實現聯網
    發表于 12-08 16:51 ?13次下載
    調用Lua新建的WEB服務器  操作Nodemcu <b class='flag-5'>esp8266</b> <b class='flag-5'>控制</b>繼電器實現<b class='flag-5'>物</b><b class='flag-5'>聯網</b>

    ESP8266單股RGB LED控制器板

    電子發燒友網站提供《ESP8266單股RGB LED控制器板.zip》資料免費下載
    發表于 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

    電子發燒友網站提供《使用ESP8266 Wifi模塊和iPhone/Android控制LED.zip》資料免費下載
    發表于 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控制帶按鈕開關的LED

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

    ESP8266聯網開源分享

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

    構建基于ESP8266聯網控制

    電子發燒友網站提供《構建基于ESP8266聯網控制器.zip》資料免費下載
    發表于 02-13 16:26 ?3次下載
    構建基于<b class='flag-5'>ESP8266</b>的<b class='flag-5'>物</b><b class='flag-5'>聯網</b><b class='flag-5'>控制</b>器

    使用FirebaseESP8266聯網平臺

    電子發燒友網站提供《使用FirebaseESP8266聯網平臺.zip》資料免費下載
    發表于 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'>聯網</b>平臺

    采用ESP8266聯網開關

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

    ESP8266聯網茶壺

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