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

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

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------------
2. 向 Firebase 發(fā)送數(shù)據(jù)
要將數(shù)據(jù)上傳到 firebase,我們需要先連接到互聯(lián)網(wǎng),然后再訪問 firebase。為此,我們需要使用以下兩個庫:
1.ESP8266WiFi.h
2. FirebaseArduino.h
根據(jù)代碼連接到 wifi 網(wǎng)絡后,我們現(xiàn)在可以使用 FirebaseArduino.h 庫的功能上傳數(shù)據(jù)。
傳感器數(shù)據(jù)存儲在float 類型的light、temp 和 hum變量中。
所以我們將使用setFloat()函數(shù)將值上傳到 firebase 的實時數(shù)據(jù)庫。查看代碼以更好地理解它。
Firebase.setFloat("light", light);
// handle error
if (Firebase.failed()) {
Serial.print("setting /light failed:");
Serial.println(Firebase.error());
return;
}
上傳數(shù)據(jù)后,我們可以將其實時顯示在網(wǎng)絡應用程序上,并可從世界任何地方訪問。
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----------------------
3. 在 Web App 上顯示數(shù)據(jù)
單擊此處查看我的網(wǎng)絡應用程序。
這是你可以真正發(fā)揮創(chuàng)造力的地方。如果您熟悉 HTML 和 CSS,那么您可以制作用戶自己的 UI。我使用 Bootstrap 來創(chuàng)建我的。對于那些剛接觸網(wǎng)絡的人來說,這里是一個非?;镜?UI 的代碼(我沒有在這里提供我的代碼,因為那將是勺子喂食,我希望你們構建自己的 UI。相信我,這很有趣!)
步驟1:
將此代碼粘貼到記事本中并將其另存為index.html的文件夾中,例如 在任何所需位置的網(wǎng)絡。
<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)建一個數(shù)據(jù)庫。打開Firebase 網(wǎng)站。使用您的 Gmail 帳戶登錄。通過單擊數(shù)據(jù)庫創(chuàng)建一個實時數(shù)據(jù)庫。然后按照圖像中的方向獲取密鑰。

第 3 步:
將以下代碼復制并粘貼到記事本中,并將其作為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ù)庫更改 var config 中的值。

完成此操作后,您就可以開始了。
將代碼上傳到您的 NodeMCU,建立連接并為電路板加電。它將開始將數(shù)據(jù)上傳到 Firebase。
-------------------------------------------------- ----------------------------------
注意:不要忘記在.ino 文件中更改您的 WIFI SSID、WIFI 密碼、密碼和主機名。
#define FIREBASE_HOST "YOUR DATABASE LINK"
#define FIREBASE_AUTH "SECRET CODE"
#define WIFI_SSID "YOUR SSID"
#define WIFI_PASSWORD "YOUR PASSWORD"
-------------------------------------------------- ----------------------------------
完成此操作后,只需打開index.html文件即可實時查看您的數(shù)據(jù)。
我希望你們理解這個項目。感謝您閱讀本教程。如果您有任何疑問或疑問,請在評論部分發(fā)表評論。
祝你好運!
- 設施農業(yè)實時氣象信息采集與發(fā)布系統(tǒng)的設計
- 在線氣象站開源分享
- Chaac氣象站開源項目
- 太陽能氣象站開源項目
- 辛迪的鬧鐘/錄音氣象站開源分享
- 使用Arduino和網(wǎng)絡技術制作實時氣象站
- 宙斯電子氣象站(ZeWS)開源分享
- 獨特的桌面氣象站開源設計
- WIFI氣象站開源分享
- 屏幕上的氣象站開源案例
- 便攜式氣象站開源分享
- 無人機氣象站開源分享
- Arduino氣象站的設置開源分享
- 微型互聯(lián)網(wǎng)氣象站開源項目
- Arduino Nano氣象站開源
- 小型氣象站監(jiān)測系統(tǒng)技術解析 113次閱讀
- 便攜式氣象站:移動場景下的氣象“感知官” 176次閱讀
- 小型自動氣象站:精細化氣象監(jiān)測的技術革新與應用拓展 342次閱讀
- 校園科普氣象站:技術賦能下的自然探索課堂 230次閱讀
- 小型全自動氣象站到底 “自動” 在哪? 586次閱讀
- 光伏實驗氣象站的技術架構與應用實踐 2k次閱讀
- 分布式光伏氣象站:光伏產業(yè)的智慧守護者 335次閱讀
- 車載氣象站在多領域的應用 347次閱讀
- 如何利用ESP8266實現(xiàn)防雨物聯(lián)網(wǎng)氣象站的設計 6.2k次閱讀
- 如何使用ESP32創(chuàng)建一個氣象站 5.5k次閱讀
- 基于樹莓派組成的可隨身攜帶氣象站設計方案 3.7k次閱讀
- 如何使用兩個dht傳感器及HC12模塊制作遠程氣象站? 4.1k次閱讀
- 基于創(chuàng)建帶有空氣質量傳感器的室內氣象站 2.9k次閱讀
- dfrobotDIY智能氣象站套件簡介 2.3k次閱讀
- 基于STM32的自動氣象站控制模塊設計 9.4k次閱讀
下載排行
本周
- 1矽力杰 Silergy SY7215A 同步升壓調節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費
- 2HT81696H 內置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊
- 1.21 MB | 1次下載 | 免費
- 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊
- 0.87 MB | 次下載 | 免費
- 4南芯 Southchip SC8802C 充電控制器 規(guī)格書 Datasheet 佰祥電子
- 88.16 KB | 次下載 | 免費
- 5矽力杰 Silergy SY7065 同步升壓轉換器 規(guī)格書 Datasheet 佰祥電子
- 910.67 KB | 次下載 | 免費
- 6矽力杰 Silergy SY7066 同步升壓轉換器 規(guī)格書 Datasheet 佰祥電子
- 989.14 KB | 次下載 | 免費
- 7WD6208A產品規(guī)格書
- 631.24 KB | 次下載 | 免費
- 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊
- 1.64 MB | 次下載 | 2 積分
本月
- 1EMC PCB設計總結
- 0.33 MB | 12次下載 | 免費
- 2PD取電芯片 ECP5702規(guī)格書
- 0.88 MB | 5次下載 | 免費
- 3矽力杰 Silergy SY7215A 同步升壓調節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費
- 4氮化鎵GaN FET/GaN HEMT 功率驅動電路選型表
- 0.10 MB | 3次下載 | 免費
- 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊
- 0.88 MB | 3次下載 | 免費
- 6SY50655 用于高輸入電壓應用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
- 1.01 MB | 3次下載 | 免費
- 7怎么為半導體測試儀選擇精密放大器
- 0.65 MB | 2次下載 | 免費
- 8SY52341 次級側同步整流英文手冊
- 0.94 MB | 2次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191469次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81606次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73832次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論