資料介紹
描述
描述:
這個項目可以幫助你看看你的溫室。它由傳感器組成:
- DHT11(溫度和濕度),
- MQ-135(空氣質(zhì)量),
- 土壤水分。
- 接下來的幾個步驟將解釋如何制作系統(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用于存儲在NodeMCU上收集的數(shù)據(jù)。這些數(shù)據(jù)可以進一步用于網(wǎng)站、移動應(yīng)用程序以及他們可以訪問互聯(lián)網(wǎng)的任何地方。使用您的 Google 帳戶登錄并按照以下步驟操作。
登錄后執(zhí)行以下步驟:
- 點擊“+ 添加項目”
- 填寫信息并點擊“創(chuàng)建”
- 加載后,點擊左側(cè)導(dǎo)航欄中的“開發(fā)”。然后點擊“數(shù)據(jù)庫”
- 單擊“創(chuàng)建數(shù)據(jù)庫”,然后選中“以測試模式啟動”并單擊“啟用”
- 在下拉菜單中的“數(shù)據(jù)庫”標(biāo)題旁邊,選擇“實時數(shù)據(jù)庫”
- 單擊“角色”選項卡。在代碼中刪除“false”并添加“true”。
- 返回“數(shù)據(jù)”選項卡。復(fù)制數(shù)據(jù)庫的鏈接并插入 Arduino 代碼。
- 單擊圖標(biāo)齒輪(左側(cè)導(dǎo)航欄)選擇“項目設(shè)置”,然后單擊“服務(wù)帳戶”選擇“數(shù)據(jù)庫機密”。
- 在右側(cè)復(fù)制“秘密”代碼并插入 Arduino 代碼。
現(xiàn)在,我們已經(jīng)連接了NodeMCU和Google Firebase。
第 4 步:NodeMCU
- NodeMCU是一個可以連接到Internet的板子。此外,還有幾個數(shù)字引腳和一個模擬引腳。它非常適合需要連接到 Internet 的項目。
- 連接到互聯(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 步:土壤濕度傳感器
- 使用以下命令完成用于讀取土壤水分數(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ù)如下所示。
- 對于溫度、濕度和空氣質(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) {
}
});
- 對于土壤水分(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)的電源是移動電源。移動電源+連接到NodeMCU上的VIN ,-連接到NodeMCU上的GND 。
- STING溫室光照管理系統(tǒng)開源分享
- 家庭溫室監(jiān)測系統(tǒng)開源
- 更智能的溫室開源
- 基于ARM11和WinCE的溫室大棚嵌入式監(jiān)控系統(tǒng)設(shè)計
- 使用單片機實現(xiàn)溫室監(jiān)控系統(tǒng)仿真設(shè)計的C語言實例程序免費下載 10次下載
- 面向溫室集群的環(huán)境無線監(jiān)控系統(tǒng)設(shè)計_張勇軍 1次下載
- 基于ZigBee和Internet的溫室群環(huán)境遠程監(jiān)控系統(tǒng)設(shè)計_ 2次下載
- 基于ZigBee和PLC的溫室監(jiān)控系統(tǒng)的設(shè)計 16次下載
- 基于MPI網(wǎng)絡(luò)的溫室監(jiān)控系統(tǒng) 13次下載
- 低功耗無線溫室監(jiān)控系統(tǒng)的研制 47次下載
- 基于WIFI的智能溫室監(jiān)控系統(tǒng)設(shè)計 122次下載
- 無線溫室信息監(jiān)測系統(tǒng)設(shè)計
- 智能溫室遠程監(jiān)控系統(tǒng)的研究與實現(xiàn)
- 溫室無線遠程監(jiān)控技術(shù)的研究與應(yīng)用
- zigBee在溫室監(jiān)控系統(tǒng)中的應(yīng)用
- 什么是動力環(huán)境監(jiān)控系統(tǒng) 1068次閱讀
- 監(jiān)控系統(tǒng)負載記錄系統(tǒng)狀態(tài) 1013次閱讀
- 圖像傳感器為視頻監(jiān)控帶來了新趨勢 8.3w次閱讀
- 基于LM3S102處理器和以太網(wǎng)實現(xiàn)溫室監(jiān)控系統(tǒng)的設(shè)計 854次閱讀
- 基于Web服務(wù)器和S3C2410處理器實現(xiàn)溫室茶樹培養(yǎng)監(jiān)測系統(tǒng)的設(shè)計 914次閱讀
- 監(jiān)控系統(tǒng)的存儲方法 8777次閱讀
- 農(nóng)業(yè)溫室大棚中所應(yīng)用的幾種傳感器介紹 7572次閱讀
- 基于GSM的太陽能農(nóng)業(yè)大棚多功能智能監(jiān)控系統(tǒng)模塊設(shè)計 3459次閱讀
- 一種基于STM32的溫室遠程監(jiān)測和控制系統(tǒng)的設(shè)計 1.2w次閱讀
- 什么是結(jié)晶器監(jiān)控系統(tǒng)?結(jié)晶器監(jiān)控系統(tǒng)組成原理 1203次閱讀
- 基于CC2530的溫室無線采集與控制系統(tǒng)設(shè)計與實現(xiàn) 4280次閱讀
- 基于ZigBee溫室環(huán)境監(jiān)測系統(tǒng)電路設(shè)計 9243次閱讀
- 基于XMEGA的溫室環(huán)境檢測系統(tǒng)的方案 3159次閱讀
- 基于51單片機的溫室測試系統(tǒng)設(shè)計 4949次閱讀
- 基于Zigbee技術(shù)的溫室大棚監(jiān)控系統(tǒng) 3461次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論