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