資料介紹
描述
在這個(gè)項(xiàng)目中,我們將建造一個(gè)供家庭使用的個(gè)人氣象站。我們將使用基于 ESP8266 的開(kāi)發(fā)板,即 NodeMCU。我們將監(jiān)測(cè)光線、溫度和濕度。為此,我們將使用 LDR 和 DHT11 傳感器。
本項(xiàng)目由三部分組成:
1.從傳感器收集數(shù)據(jù)。
2.將數(shù)據(jù)發(fā)送到在線數(shù)據(jù)庫(kù)(在我們的例子中是 Google Firebase)。
3.在 Web 應(yīng)用程序上顯示存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------------
1. 收集數(shù)據(jù)
我們將使用光檢測(cè)電阻器 (LDR) 來(lái)獲取大氣光的值。如圖所示,將 LDR 連接到 NodeMCU 的 A0 引腳。

我們將使用光檢測(cè)電阻器 (LDR) 來(lái)獲取大氣光的值。如圖所示,將 LDR 連接到 NodeMCU 的 A0 引腳。
DHT11 傳感器用于測(cè)量濕度和溫度。我們?cè)谶@里使用 DHT.h 庫(kù)。進(jìn)行以下連接:
VCC ==> 3v
接地 ==> 接地
數(shù)據(jù) ==> D3

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------------
2. 向 Firebase 發(fā)送數(shù)據(jù)
要將數(shù)據(jù)上傳到 firebase,我們需要先連接到互聯(lián)網(wǎng),然后再訪問(wèn) firebase。為此,我們需要使用以下兩個(gè)庫(kù):
1.ESP8266WiFi.h
2. FirebaseArduino.h
根據(jù)代碼連接到 wifi 網(wǎng)絡(luò)后,我們現(xiàn)在可以使用 FirebaseArduino.h 庫(kù)的功能上傳數(shù)據(jù)。
傳感器數(shù)據(jù)存儲(chǔ)在float 類型的light、temp 和 hum變量中。
所以我們將使用setFloat()函數(shù)將值上傳到 firebase 的實(shí)時(shí)數(shù)據(jù)庫(kù)。查看代碼以更好地理解它。
Firebase.setFloat("light", light);
// handle error
if (Firebase.failed()) {
Serial.print("setting /light failed:");
Serial.println(Firebase.error());
return;
}
上傳數(shù)據(jù)后,我們可以將其實(shí)時(shí)顯示在網(wǎng)絡(luò)應(yīng)用程序上,并可從世界任何地方訪問(wèn)。
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------------
3. 在 Web App 上顯示數(shù)據(jù)
單擊此處查看我的網(wǎng)絡(luò)應(yīng)用程序。
這是你可以真正發(fā)揮創(chuàng)造力的地方。如果您熟悉 HTML 和 CSS,那么您可以制作用戶自己的 UI。我使用 Bootstrap 來(lái)創(chuàng)建我的。對(duì)于那些剛接觸網(wǎng)絡(luò)的人來(lái)說(shuō),這里是一個(gè)非常基本的 UI 的代碼(我沒(méi)有在這里提供我的代碼,因?yàn)槟菍⑹巧鬃游故常蚁M銈儤?gòu)建自己的 UI。相信我,這很有趣!)
步驟1:
將此代碼粘貼到記事本中并將其另存為index.html的文件夾中,例如 在任何所需位置的網(wǎng)絡(luò)。
<html>
<head>
<script src="https://www.gstatic.com/firebasejs/5.8.4/firebase.js">script>
<script src="https://www.gstatic.com/firebasejs/5.8.5/firebase-app.js">script>
<script src="https://www.gstatic.com/firebasejs/5.8.5/firebase-database.js">script>
head>
<body style="background-color: #4d4d4d;">
<ul>
<li><h1>LIGHTh1>
<pre id="light" style="font-size:24px;">pre>li>
<li><h1>TEMPERATUREh1>
<pre id="temp" style="font-size:24px;">pre>li>
<li><h1>HUMIDITYh1>
<pre id="hum" style="font-size:24px;">pre>li>
ul>
<script src="app.js">script>
body>
html>
第2 步:
在 firebase 中創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。打開(kāi)Firebase 網(wǎng)站。使用您的 Gmail 帳戶登錄。通過(guò)單擊數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)。然后按照?qǐng)D像中的方向獲取密鑰。

第 3 步:
將以下代碼復(fù)制并粘貼到記事本中,并將其作為app.js保存在您保存index.html文件的同一文件夾中。
(function() {
// Initialize Firebase
var config = {
firebase.initializeApp(config);
//Get element
const prelight= document.getElementById('light');
//Create refences
const dbReflight= firebase.database().ref().child('light');
// sync logs cahnges
dbReflight.on('value', snap => {
prelight.innerText=JSON.stringify(snap.val(),null,3);
});
const pretemp= document.getElementById('temp');
//Create refences
const dbReftemp= firebase.database().ref().child('temperature');
// sync logs cahnges
dbReftemp.on('value', snap => {
pretemp.innerText=JSON.stringify(snap.val(),null,3)+"° C";
});
const prehum= document.getElementById('hum');
//Create refences
const dbRefhum= firebase.database().ref().child('moisture');
// sync logs cahnges
dbRefhum.on('value', snap => {
prehum.innerText=JSON.stringify(snap.val(),null,3)+" %";
});
}());
您必須根據(jù)您的數(shù)據(jù)庫(kù)更改 var config 中的值。

完成此操作后,您就可以開(kāi)始了。
將代碼上傳到您的 NodeMCU,建立連接并為電路板加電。它將開(kāi)始將數(shù)據(jù)上傳到 Firebase。
-------------------------------------------------- ----------------------------------
注意:不要忘記在.ino 文件中更改您的 WIFI SSID、WIFI 密碼、密碼和主機(jī)名。
#define FIREBASE_HOST "YOUR DATABASE LINK"
#define FIREBASE_AUTH "SECRET CODE"
#define WIFI_SSID "YOUR SSID"
#define WIFI_PASSWORD "YOUR PASSWORD"
-------------------------------------------------- ----------------------------------
完成此操作后,只需打開(kāi)index.html文件即可實(shí)時(shí)查看您的數(shù)據(jù)。
我希望你們理解這個(gè)項(xiàng)目。感謝您閱讀本教程。如果您有任何疑問(wèn)或疑問(wèn),請(qǐng)?jiān)谠u(píng)論部分發(fā)表評(píng)論。
祝你好運(yùn)!
- 設(shè)施農(nóng)業(yè)實(shí)時(shí)氣象信息采集與發(fā)布系統(tǒng)的設(shè)計(jì)
- 在線氣象站開(kāi)源分享
- Chaac氣象站開(kāi)源項(xiàng)目
- 太陽(yáng)能氣象站開(kāi)源項(xiàng)目
- 辛迪的鬧鐘/錄音氣象站開(kāi)源分享
- 使用Arduino和網(wǎng)絡(luò)技術(shù)制作實(shí)時(shí)氣象站
- 宙斯電子氣象站(ZeWS)開(kāi)源分享
- 獨(dú)特的桌面氣象站開(kāi)源設(shè)計(jì)
- WIFI氣象站開(kāi)源分享
- 屏幕上的氣象站開(kāi)源案例
- 便攜式氣象站開(kāi)源分享
- 無(wú)人機(jī)氣象站開(kāi)源分享
- Arduino氣象站的設(shè)置開(kāi)源分享
- 微型互聯(lián)網(wǎng)氣象站開(kāi)源項(xiàng)目
- Arduino Nano氣象站開(kāi)源
- Nuttx RTOS入門(mén)知識(shí)簡(jiǎn)介及開(kāi)源代碼運(yùn)行 5861次閱讀
- 基于幾何的泰森多邊形來(lái)生成形體骨架 1004次閱讀
- 前沿開(kāi)源技術(shù)領(lǐng)域的開(kāi)源大數(shù)據(jù)一一解讀 1180次閱讀
- 4G氣象站的設(shè)計(jì)與實(shí)現(xiàn) 991次閱讀
- 如何利用ESP8266實(shí)現(xiàn)防雨物聯(lián)網(wǎng)氣象站的設(shè)計(jì) 5136次閱讀
- 如何利用粒子光子把你的雨傘變成氣象站 1532次閱讀
- 如何使用ESP32創(chuàng)建一個(gè)氣象站 4040次閱讀
- 基于樹(shù)莓派組成的可隨身攜帶氣象站設(shè)計(jì)方案 2989次閱讀
- 如何使用兩個(gè)dht傳感器及HC12模塊制作遠(yuǎn)程氣象站? 2977次閱讀
- 基于創(chuàng)建帶有空氣質(zhì)量傳感器的室內(nèi)氣象站 2358次閱讀
- dfrobotDIY智能氣象站套件簡(jiǎn)介 1756次閱讀
- 阿米納隱形音響,將私人影院和高端養(yǎng)生會(huì)所結(jié)合,讓客戶享受綜合性服務(wù) 4191次閱讀
- 新興科技趨勢(shì)報(bào)告:20項(xiàng)最值得關(guān)注的科技發(fā)展趨勢(shì) 6377次閱讀
- 基于STM32的自動(dòng)氣象站控制模塊設(shè)計(jì) 8676次閱讀
- FreeRTOS嵌入式開(kāi)源實(shí)時(shí)操作系統(tǒng)介紹 4250次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論