为了丰富我们的养老生活。本文我们来介绍利用Esp8266来做一个智能养花系统。
实现功能
- 通过手机端查看当前的温服务器托管网度 湿度 以及土壤湿度
- 当土壤湿度低于50%时,自动启动继电器,利用水泵浇水。湿度超过50%断开继电器。
所需设备
- esp8266
- 继电器
- DHT11
- 土壤湿度传感器
线路连接
设备 |
VCC (+) |
GND(-) |
信号线 |
继电器 |
3V |
GND |
D4 |
DHT11 |
3V |
GND |
D2 |
土壤传感器 |
3V |
GND |
D0 |
代码
#define BLINKER_WIFI
#define BLINKER_MIOT_SENSOR //引入小爱同学
#define soilPin A0 //土壤传感器脚针 DO
#define CS 2 //定义继电器脚针为D4
#include
#include //DHT11传感器的头文件
#define DHTPIN 4 //定义DHT11模块连接管脚io4(D2脚)
#define DHTTYPE DHT11 // 使用DHT11温度湿度模块,当然也可以换其他DHT
//存储土壤的值
int soilValue;
//定义土壤湿度
int soilMoisture;
char auth[] = "1c2ce3eef946"; //点灯app的密钥key
char ssid[] = "PDCN"; //所需连接的WiFi名
char pswd[] = "1234567890"; //WiFi的密码
BlinkerNumber HUMI("humi"); //定义湿度数据键名
BlinkerNumber TEMP("temp"); //定义温度数据键名
BlinkerNumber TEMP2("temp2"); //定义土壤湿度数据键名
DHT dht(DHTPIN, DHTTYPE); //定义dht
float humi_read = 0, temp_read = 0; //初始化读取的数据
//仪表盘组件
void heartbeat()
{
HUMI.print(humi_re服务器托管网ad); //给blinkerapp回传湿度数据
TEMP.print(temp_read); //给blinkerapp回传温度数据
TEMP2.print(soilMoisture);
if(soilMoisture
效果
当湿度低于50%时,继电器自动工作。
当土壤湿度高于50%时,继电器停止工作
当然上面的代码,仅仅是完成了相应的功能。可能存在一定的不足之处。可根据你的实际情况自行修改。
博客地址:基于ESP8266的物联网养花系统 – Kali’s Blog (bbskali.cn)
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net