衡阳派盒市场营销有限公司

電子發(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 積分
百家乐官网一年诈骗多少钱| 百家乐如何稳赢| 名门国际娱乐| 百家乐衬衣| 公海百家乐官网的玩法技巧和规则| 必胜娱乐| 百家乐棋牌游戏币| 百家乐怎么会赢| 龙山县| 大发888扑克合营商| 百家乐pc| 做生意带什么装饰招财| 澳门赌百家乐官网能赢钱吗| 网络赌博平台| 大发8888娱乐城| 百家乐真人游戏棋牌| 24山风水| 最好的百家乐官网博彩网站| 海宁市| 波音平台| 德州扑克过牌| 大发888娱乐场大发888娱乐场| 百家乐娱乐场开户注册| 赌博百家乐秘笈| 百家乐加牌规则| 金世豪百家乐官网的玩法技巧和规则| 澳门百家乐官网牌规| MG百家乐大转轮| 百家乐自动算牌软件| 至尊百家乐奇热| 24山来水吉凶| 24山向方位度数| 百家乐官网六手变化混合赢家打| 百家乐官网赌博机销售| 赌博投注| 柘城县| 临安市| 网上百家乐官网哪里好| 永利高百家乐官网进不去| 百家乐官网玩法与规则| 百家乐官网模拟投注器|