一、硬件设计
1. 原理图设计
主控模块:使用NodeMCU开发板。
水泵:使用DC 5V小水泵来给盆栽灌水。
土壤湿度传感器:使用淘宝上常见的土壤湿度计检测模块,模块在土壤湿度达不到设定的阈值时,DO口输出高电平,反之,DO口输出低电平。如图:
2. PCB设计
二、 软件设计
2.1 ESP8266程序编写
void setup() {
// 配置波特率为9600
Serial.begin(9600);
display.initialize();
// 配置引脚模式
pinMode(LED, OUTPUT);
pinMode(beep, OUTPUT);
pinMode(PUMP, OUTPUT);
pinMode(SENSOR_AO, INPUT); // 土壤湿度检测模块AO管脚
pinMode(SENSOR_DO, INPUT); // 土壤湿度检测模块DO管脚
// 智能配网
if (!autoConfig())
{
smartConfig();
}
// 初始化阿里云IOT SDK
AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
}
void loop() {
// OLED显示信息
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
// 通过土壤湿度传感器获取土壤湿度
int moisture = analogRead(SENSOR_AO);
Serial.print("土壤湿度:");
Serial.println(moisture);
// 将土壤湿度数据转成百分制
int value = map(moisture, 0, 1024, 100, 0);
// 将土壤湿度数据发送到阿里云物联网平台
AliyunIoTSDK::send("soilHumidity", value);
int out = digitalRead(SENSOR_DO);
Serial.print("土壤湿度检测模块输出电平");
Serial.println(out);
// 如果土壤湿度检测模块输出高电平,说明土壤缺水了。
if (digitalRead(SENSOR_DO) == HIGH)
{
// 打开水泵
digitalWrite(PUMP, HIGH);
} else {
// 关闭水泵
digitalWrite(PUMP, LOW);
}
AliyunIoTSDK::send("pump", out);
AliyunIoTSDK::loop();
delay(2000);
}
2.2 阿里云物联网IoT Studio 移动可视化开发界面
2.3 微信小程序开发
完整资料下载(包含原理图、PCB图、完整ESP8266程序)
https://item.taobao.com/item.htm?ft=t&id=681542802465
相关知识
基于单片机智能浇花控制系统设计
基于Android的阳台浇花控制系统设计
基于单片机自动智能浇花浇水控制系统设计
推荐文章:探索智能园艺新时代 —— STC89C51驱动的自动浇花控制系统
一种智能浇花控制系统的制作方法
基于物联网的智能浇花系统
智能浇花自动灌溉控制系统:让植物护理更智能、更便捷
基于stm32单片机智能浇花自动灌溉控制系统Proteus仿真和程序源码全套资料
【IoT开发】基于机智云物联网的智能浇花教程
花卉智能温室建设中的自动化控制系统设计
网址: 基于ESP8266的智能浇花控制系统的设计 https://m.huajiangbk.com/newsview434640.html
上一篇: 2024年花园浇水系统十大品牌排 |
下一篇: 空调、水帘、生态群落……植物园“ |