資料介紹
描述
描述:
這個(gè)項(xiàng)目可以幫助你看看你的溫室。它由傳感器組成:
- DHT11(溫度和濕度),
- MQ-135(空氣質(zhì)量),
- 土壤水分。
- 接下來的幾個(gè)步驟將解釋如何制作系統(tǒng)。
第 1 步:方案

- DHT11傳感器數(shù)據(jù)引腳通過D0 引腳連接到NodeMCU 。
- 土壤濕度傳感器數(shù)據(jù)引腳通過 D1 引腳連接到NodeMCU 。
- MQ-135傳感器數(shù)據(jù)引腳通過A0 引腳連接到NodeMCU 。
- 傳感器上的VCC 引腳連接到NodeMCU上的VIN 引腳,GND 引腳連接到NodeMCU上的GND 引腳。
第 2 步:Arduino IDE 庫
- 所需的庫是:
第 3 步:谷歌火力基地
Google Firebase用于存儲(chǔ)在NodeMCU上收集的數(shù)據(jù)。這些數(shù)據(jù)可以進(jìn)一步用于網(wǎng)站、移動(dòng)應(yīng)用程序以及他們可以訪問互聯(lián)網(wǎng)的任何地方。使用您的 Google 帳戶登錄并按照以下步驟操作。
登錄后執(zhí)行以下步驟:
- 點(diǎn)擊“+ 添加項(xiàng)目”
- 填寫信息并點(diǎn)擊“創(chuàng)建”
- 加載后,點(diǎn)擊左側(cè)導(dǎo)航欄中的“開發(fā)”。然后點(diǎn)擊“數(shù)據(jù)庫”
- 單擊“創(chuàng)建數(shù)據(jù)庫”,然后選中“以測(cè)試模式啟動(dòng)”并單擊“啟用”
- 在下拉菜單中的“數(shù)據(jù)庫”標(biāo)題旁邊,選擇“實(shí)時(shí)數(shù)據(jù)庫”
- 單擊“角色”選項(xiàng)卡。在代碼中刪除“false”并添加“true”。
- 返回“數(shù)據(jù)”選項(xiàng)卡。復(fù)制數(shù)據(jù)庫的鏈接并插入 Arduino 代碼。
- 單擊圖標(biāo)齒輪(左側(cè)導(dǎo)航欄)選擇“項(xiàng)目設(shè)置”,然后單擊“服務(wù)帳戶”選擇“數(shù)據(jù)庫機(jī)密”。
- 在右側(cè)復(fù)制“秘密”代碼并插入 Arduino 代碼。
現(xiàn)在,我們已經(jīng)連接了NodeMCU和Google Firebase。
第 4 步:NodeMCU
- NodeMCU是一個(gè)可以連接到Internet的板子。此外,還有幾個(gè)數(shù)字引腳和一個(gè)模擬引腳。它非常適合需要連接到 Internet 的項(xiàng)目。
- 連接到互聯(lián)網(wǎng)和連接到 Google Firebase 所需的代碼如下所示:
#include
#include
#include
#include
#define FIREBASE_HOST "firebase_link"
#define FIREBASE_AUTH "firebase_secretcode"
#define WIFI_SSID "wifi_name"
#define WIFI_PASSWORD "wifi_password"
void setup() {
Serial.begin(9600);
WiFi.begin (WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println ("");
Serial.println ("WiFi Connected!");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}
void loop() {
}
第 5 步:DHT11 傳感器
- 使用以下命令連接dhtnew.h庫和傳感器數(shù)據(jù)引腳所連接的引腳:
int dhtPin = 0;
DHTNEW dhtsensor(dhtPin);
- 使用以下命令讀取溫度和濕度:
dhtsensor.read();
float t = dhtsensor.temperature;
float h = dhtsensor.humidity;
- 最后使用以下命令向Google Firebase發(fā)送數(shù)據(jù):
Firebase.setFloat("t", t);
Firebase.setFloat("h", h);
第 6 步:土壤濕度傳感器
- 使用以下命令完成用于讀取土壤水分?jǐn)?shù)據(jù)值的引腳的初始化:
int soilPin = 1;
使用以下命令讀取數(shù)據(jù)并發(fā)送到 Google Firebase:
int soilData = digitalRead(soilPin);
Firebase.setInt("soilData", soilData);
第 7 步:MQ-135 傳感器
- 使用以下命令完成用于讀取空氣質(zhì)量數(shù)據(jù)值的引腳的初始化:
int airPin = A0;
- 使用以下命令讀取數(shù)據(jù)并發(fā)送到 Google Firebase:
int airData = analogRead(airPin);
Firebase.setInt("airData", airData);
第 8 步:Android 應(yīng)用程序
?

- 該應(yīng)用程序是在 android studio 中創(chuàng)建的。連接來自Google Firebase的應(yīng)用程序的部分,從其中獲取傳感器數(shù)據(jù)如下所示。
- 對(duì)于溫度、濕度和空氣質(zhì)量:
dref = FirebaseDatabase.getInstance().getReference();
dref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
temp = dataSnapshot.child("t").getValue().toString();
text_temperature.setText(temp + "°C");
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
dref = FirebaseDatabase.getInstance().getReference();
dref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
hum = dataSnapshot.child("h").getValue().toString();
text_humidity.setText(hum + "%");
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
dref = FirebaseDatabase.getInstance().getReference();
dref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
air = dataSnapshot.child("airData").getValue().toString();
text_airquality.setText(air);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
- 對(duì)于土壤水分(if-else 用于決定是否需要澆水):
dref = FirebaseDatabase.getInstance().getReference();
dref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
soilmoisture = dataSnapshot.child("soilData").getValue().toString();
int soilData = Integer.parseInt(soilmoisture);
if (soilData == 0) {
text_soilmoisture.setText("No watering required.");
text_soilmoisture.setTextColor(col2);
}
else {
text_soilmoisture.setText("Watering required!");
text_soilmoisture.setTextColor(col1);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
- 用于鏈接在activity_main.xml(顯示在應(yīng)用程序中)和 Google Firebase 中的文本的部分代碼位于名為MainActivity.java的附件中。xml文件也在附件中。
我的溫室監(jiān)控系統(tǒng)

我的系統(tǒng)的電源是移動(dòng)電源。移動(dòng)電源+連接到NodeMCU上的VIN ,-連接到NodeMCU上的GND 。
- STING溫室光照管理系統(tǒng)開源分享
- 家庭溫室監(jiān)測(cè)系統(tǒng)開源
- 更智能的溫室開源
- 基于ARM11和WinCE的溫室大棚嵌入式監(jiān)控系統(tǒng)設(shè)計(jì)
- 使用單片機(jī)實(shí)現(xiàn)溫室監(jiān)控系統(tǒng)仿真設(shè)計(jì)的C語言實(shí)例程序免費(fèi)下載 10次下載
- 面向溫室集群的環(huán)境無線監(jiān)控系統(tǒng)設(shè)計(jì)_張勇軍 1次下載
- 基于ZigBee和Internet的溫室群環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)_ 2次下載
- 基于ZigBee和PLC的溫室監(jiān)控系統(tǒng)的設(shè)計(jì) 16次下載
- 基于MPI網(wǎng)絡(luò)的溫室監(jiān)控系統(tǒng) 13次下載
- 低功耗無線溫室監(jiān)控系統(tǒng)的研制 47次下載
- 基于WIFI的智能溫室監(jiān)控系統(tǒng)設(shè)計(jì) 122次下載
- 無線溫室信息監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
- 智能溫室遠(yuǎn)程監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)
- 溫室無線遠(yuǎn)程監(jiān)控技術(shù)的研究與應(yīng)用
- zigBee在溫室監(jiān)控系統(tǒng)中的應(yīng)用
- 什么是動(dòng)力環(huán)境監(jiān)控系統(tǒng) 1068次閱讀
- 監(jiān)控系統(tǒng)負(fù)載記錄系統(tǒng)狀態(tài) 1013次閱讀
- 圖像傳感器為視頻監(jiān)控帶來了新趨勢(shì) 8.3w次閱讀
- 基于LM3S102處理器和以太網(wǎng)實(shí)現(xiàn)溫室監(jiān)控系統(tǒng)的設(shè)計(jì) 854次閱讀
- 基于Web服務(wù)器和S3C2410處理器實(shí)現(xiàn)溫室茶樹培養(yǎng)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì) 914次閱讀
- 監(jiān)控系統(tǒng)的存儲(chǔ)方法 8777次閱讀
- 農(nóng)業(yè)溫室大棚中所應(yīng)用的幾種傳感器介紹 7572次閱讀
- 基于GSM的太陽能農(nóng)業(yè)大棚多功能智能監(jiān)控系統(tǒng)模塊設(shè)計(jì) 3459次閱讀
- 一種基于STM32的溫室遠(yuǎn)程監(jiān)測(cè)和控制系統(tǒng)的設(shè)計(jì) 1.2w次閱讀
- 什么是結(jié)晶器監(jiān)控系統(tǒng)?結(jié)晶器監(jiān)控系統(tǒng)組成原理 1203次閱讀
- 基于CC2530的溫室無線采集與控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 4280次閱讀
- 基于ZigBee溫室環(huán)境監(jiān)測(cè)系統(tǒng)電路設(shè)計(jì) 9243次閱讀
- 基于XMEGA的溫室環(huán)境檢測(cè)系統(tǒng)的方案 3159次閱讀
- 基于51單片機(jī)的溫室測(cè)試系統(tǒng)設(shè)計(jì) 4949次閱讀
- 基于Zigbee技術(shù)的溫室大棚監(jiān)控系統(tǒng) 3461次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費(fèi)
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費(fèi)
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費(fèi)
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費(fèi)
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費(fèi)
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費(fèi)
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護(hù)等級(jí)說明
- 0.08 MB | 次下載 | 免費(fèi)
本月
- 1貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計(jì)指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍(lán)牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費(fèi)
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論