资料介绍
描述
描述:
这个项目可以帮助你看看你的温室。它由传感器组成:
- DHT11(温度和湿度),
- MQ-135(空气质量),
- 土壤水分。
- 接下来的几个步骤将解释如何制作系统。
第 1 步:方案
- DHT11传感器数据引脚通过D0 引脚连接到NodeMCU 。
- 土壤湿度传感器数据引脚通过 D1 引脚连接到NodeMCU 。
- MQ-135传感器数据引脚通过A0 引脚连接到NodeMCU 。
- 传感器上的VCC 引脚连接到NodeMCU上的VIN 引脚,GND 引脚连接到NodeMCU上的GND 引脚。
第 2 步:Arduino IDE 库
- 所需的库是:
第 3 步:谷歌火力基地
Google Firebase用于存储在NodeMCU上收集的数据。这些数据可以进一步用于网站、移动应用程序以及他们可以访问互联网的任何地方。使用您的 Google 帐户登录并按照以下步骤操作。
登录后执行以下步骤:
- 点击“+ 添加项目”
- 填写信息并点击“创建”
- 加载后,点击左侧导航栏中的“开发”。然后点击“数据库”
- 单击“创建数据库”,然后选中“以测试模式启动”并单击“启用”
- 在下拉菜单中的“数据库”标题旁边,选择“实时数据库”
- 单击“角色”选项卡。在代码中删除“false”并添加“true”。
- 返回“数据”选项卡。复制数据库的链接并插入 Arduino 代码。
- 单击图标齿轮(左侧导航栏)选择“项目设置”,然后单击“服务帐户”选择“数据库机密”。
- 在右侧复制“秘密”代码并插入 Arduino 代码。
现在,我们已经连接了NodeMCU和Google Firebase。
第 4 步:NodeMCU
- NodeMCU是一个可以连接到Internet的板子。此外,还有几个数字引脚和一个模拟引脚。它非常适合需要连接到 Internet 的项目。
- 连接到互联网和连接到 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发送数据:
Firebase.setFloat("t", t);
Firebase.setFloat("h", h);
第 6 步:土壤湿度传感器
- 使用以下命令完成用于读取土壤水分数据值的引脚的初始化:
int soilPin = 1;
使用以下命令读取数据并发送到 Google Firebase:
int soilData = digitalRead(soilPin);
Firebase.setInt("soilData", soilData);
第 7 步:MQ-135 传感器
- 使用以下命令完成用于读取空气质量数据值的引脚的初始化:
int airPin = A0;
- 使用以下命令读取数据并发送到 Google Firebase:
int airData = analogRead(airPin);
Firebase.setInt("airData", airData);
第 8 步:Android 应用程序
- 该应用程序是在 android studio 中创建的。连接来自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文件也在附件中。
我的温室监控系统
我的系统的电源是移动电源。移动电源+连接到NodeMCU上的VIN ,-连接到NodeMCU上的GND 。
- STING温室光照管理系统开源分享
- 家庭温室监测系统开源
- 更智能的温室开源
- 基于ARM11和WinCE的温室大棚嵌入式监控系统设计
- 使用单片机实现温室监控系统仿真设计的C语言实例程序免费下载 10次下载
- 面向温室集群的环境无线监控系统设计_张勇军 1次下载
- 基于ZigBee和Internet的温室群环境远程监控系统设计_ 2次下载
- 基于ZigBee和PLC的温室监控系统的设计 16次下载
- 基于MPI网络的温室监控系统 13次下载
- 低功耗无线温室监控系统的研制 47次下载
- 基于WIFI的智能温室监控系统设计 122次下载
- 无线温室信息监测系统设计
- 智能温室远程监控系统的研究与实现
- 温室无线远程监控技术的研究与应用
- zigBee在温室监控系统中的应用
- 什么是动力环境监控系统 883次阅读
- 监控系统负载记录系统状态 867次阅读
- 图像传感器为视频监控带来了新趋势 8.3w次阅读
- 基于LM3S102处理器和以太网实现温室监控系统的设计 790次阅读
- 基于Web服务器和S3C2410处理器实现温室茶树培养监测系统的设计 798次阅读
- 监控系统的存储方法 8375次阅读
- 农业温室大棚中所应用的几种传感器介绍 7111次阅读
- 基于GSM的太阳能农业大棚多功能智能监控系统模块设计 3261次阅读
- 一种基于STM32的温室远程监测和控制系统的设计 1.2w次阅读
- 什么是结晶器监控系统?结晶器监控系统组成原理 1108次阅读
- 基于CC2530的温室无线采集与控制系统设计与实现 4052次阅读
- 基于ZigBee温室环境监测系统电路设计 9044次阅读
- 基于XMEGA的温室环境检测系统的方案 3047次阅读
- 基于51单片机的温室测试系统设计 4855次阅读
- 基于Zigbee技术的温室大棚监控系统 3357次阅读
下载排行
本周
- 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开发指南
- 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次下载 | 免费
评论
查看更多