那曲檬骨新材料有限公司

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>溫室監(jiān)控系統(tǒng)開源分享

溫室監(jiān)控系統(tǒng)開源分享

2022-10-26 | zip | 0.16 MB | 次下載 | 2積分

資料介紹

描述

描述:

這個項目可以幫助你看看你的溫室。它由傳感器組成:

  • DHT11(溫度和濕度),
  • MQ-135(空氣質(zhì)量),
  • 土壤水分
?

- 接下來的幾個步驟將解釋如何制作系統(tǒng)。

第 1 步:方案

?
?
?
?
pYYBAGNYhZGAZZUFAAFr2zhZkpk345.png
?
1 / 2 ?方案:連接NodeMCU和傳感器
?
  • 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ù)庫”標題旁邊,選擇“實時數(shù)據(jù)庫”
  • 單擊“角色”選項卡。在代碼中刪除“false”并添加“true”。
  • 返回“數(shù)據(jù)”選項卡。復(fù)制數(shù)據(jù)庫的鏈接并插入 Arduino 代碼。
  • 單擊圖標齒輪(左側(cè)導(dǎo)航欄)選擇“項目設(shè)置”,然后單擊“服務(wù)帳戶”選擇“數(shù)據(jù)庫機密”。
  • 在右側(cè)復(fù)制“秘密”代碼并插入 Arduino 代碼。

現(xiàn)在我們已經(jīng)連接了NodeMCUGoogle 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)用程序

?

?
?
?
?
pYYBAGNYhaCALeStAAC49WZB4TQ066.png
?
1 / 2 ?溫室應(yīng)用
?
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)

?
?
?
?
pYYBAGNYhaWAaQXPAAa-_5jvxaM268.jpg
?
1 / 3 ?電子設(shè)備的盒子
?

我的系統(tǒng)的電源是移動電源移動電源+連接到NodeMCU上的VIN -連接到NodeMCU上的GND


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1A7159和A7139射頻芯片的資料免費下載
  2. 0.20 MB   |  55次下載  |  5 積分
  3. 2PIC12F629/675 數(shù)據(jù)手冊免費下載
  4. 2.38 MB   |  36次下載  |  5 積分
  5. 3PIC16F716 數(shù)據(jù)手冊免費下載
  6. 2.35 MB   |  18次下載  |  5 積分
  7. 4dsPIC33EDV64MC205電機控制開發(fā)板用戶指南
  8. 5.78MB   |  8次下載  |  免費
  9. 5STC15系列常用寄存器匯總免費下載
  10. 1.60 MB   |  7次下載  |  5 積分
  11. 6模擬電路仿真實現(xiàn)
  12. 2.94MB   |  4次下載  |  免費
  13. 7PCB圖繪制實例操作
  14. 2.92MB   |  2次下載  |  免費
  15. 8零死角玩轉(zhuǎn)STM32F103—指南者
  16. 26.78 MB   |  1次下載  |  1 積分

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  452次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  141次下載  |  1 積分
  5. 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
  6. 0.10 MB   |  137次下載  |  免費
  7. 4A7159和A7139射頻芯片的資料免費下載
  8. 0.20 MB   |  55次下載  |  5 積分
  9. 5PIC12F629/675 數(shù)據(jù)手冊免費下載
  10. 2.38 MB   |  36次下載  |  5 積分
  11. 6如何正確測試電源的紋波
  12. 0.36 MB   |  19次下載  |  免費
  13. 7PIC16F716 數(shù)據(jù)手冊免費下載
  14. 2.35 MB   |  18次下載  |  5 積分
  15. 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統(tǒng)EMC試驗方法及要求
  16. 1.97 MB   |  8次下載  |  10 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
澳门百家乐备用网址| 马牌百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城怎么赢| 百家乐路的看法| 百家乐官网浴盆博彩通排名| 大发888laohuji| 百家乐透明牌靴| 久胜娱乐| 威尼斯人娱乐城排名| 澳门百家乐海星王| 网上百家乐官网有哪些玩法| 皇冠网上投注网| 大发888官方网| 百家乐只打闲打法| 百家乐视频世界| 百家乐官网赌场技巧大全| 涪陵区| 德州扑克 单机版| 百家乐怎么刷反水| 百家乐官网博娱乐场开户注册| 克拉克百家乐官网下载| 京城娱乐城| 大发888娱乐游戏注册| 百家乐海滨网现场| 真人百家乐技巧| 百家乐官网论坛香港马会| 在线娱乐场| 德州扑克 规则| 娱乐城百家乐的玩法技巧和规则 | 百家乐官网娱乐城官方网| 皇冠网小说微博| 澳门顶级赌场| 威尼斯人娱乐场内幕| 百家乐大西洋城| 百家乐大小桌布| 百家乐官网高| 破解百家乐官网真人游戏| 在线百家乐官网怎么下注| 河源市| 宝马会娱乐城| 易胜博娱乐城|