首页 > 其他分享 >基于ESP8266的物联网养花系统

基于ESP8266的物联网养花系统

时间:2023-08-14 16:31:41浏览次数:106  
标签:养花 ESP8266 继电器 定义 联网 湿度 DHT11 土壤湿度 define

为了丰富我们的养老生活。本文我们来介绍利用Esp8266来做一个智能养花系统。

基于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 <Blinker.h>    
#include <DHT.h>         //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_read);        //给blinkerapp回传湿度数据
    TEMP.print(temp_read);        //给blinkerapp回传温度数据
    TEMP2.print(soilMoisture); 
    if(soilMoisture <=50)   //土壤湿度低于50
    {
      
        digitalWrite(CS, !digitalRead(CS)); //运行继电器
      
      }
    else 
    {
       digitalWrite(CS, HIGH);

    }

}
//实时曲线图组件
void dataStorage()
{
    Blinker.dataStorage("temp", temp_read);
    Blinker.dataStorage("humi", humi_read);
    Blinker.dataStorage("humi2", soilMoisture);
}
//数据返回至小爱同学
void miotQuery(int32_t queryCode)      
{
    BLINKER_LOG("MIOT Query codes: ", queryCode);

            int humi_read_int=humi_read;     //将float转成int类型,整数
            BlinkerMIOT.humi(humi_read_int);     //小爱接收湿度
            BlinkerMIOT.temp(temp_read);      //小爱接收温度
            
            BlinkerMIOT.print(); 
}


void setup()
{
    //初始化串口Serial,开启调试输出   
    Serial.begin(9600);//波特率
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
 
    Blinker.begin(auth, ssid, pswd);//WIFI初始化设置   
    Blinker.attachHeartbeat(heartbeat);//注册仪表盘
    dht.begin();
    BlinkerMIOT.attachQuery(miotQuery);//注册小爱
    Blinker.attachDataStorage(dataStorage);//注册实时曲线
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, 1);
    pinMode(CS, OUTPUT);// 初始化继电器脚针
    digitalWrite(CS, HIGH); //初始化继电器脚针
   
   
}
 
void loop()
{
    Blinker.run();//负责处理blinker收到的数据,每次运行都会将设备收到的数据进行一次解析。(这个很重要)
 
    float h = dht.readHumidity();//读取DHT11采集的湿度数据
    float t = dht.readTemperature();//读取DHT11采集的温度数据
 
    if (isnan(h) || isnan(t))//判断温湿度值是否为空
    {
        BLINKER_LOG("读取传感器数据失败");
    }
    else
    {
        BLINKER_LOG("Humidity: ", h, " %");//打印输出调试信息
        BLINKER_LOG("Temperature: ", t, " *C");
        humi_read = h;
        temp_read = t;
    }
 soilValue = analogRead(soilPin); //获取土壤的值0-1024
 soilMoisture = map(soilValue,0,1023,100,0);//将0-1024转为100%-0 空气中土壤湿度为1024
 
    Blinker.delay(200);
    //延时函数, 在延时过程中仍保持设备间连接及数据接收处理
}

效果

当湿度低于50%时,继电器自动工作。

基于ESP8266的物联网养花系统_esp8266_02

当土壤湿度高于50%时,继电器停止工作

基于ESP8266的物联网养花系统_智能养花_03

当然上面的代码,仅仅是完成了相应的功能。可能存在一定的不足之处。可根据你的实际情况自行修改。

博客地址:基于ESP8266的物联网养花系统 - Kali's Blog (bbskali.cn)

标签:养花,ESP8266,继电器,定义,联网,湿度,DHT11,土壤湿度,define
From: https://blog.51cto.com/dabiaoge/7064804

相关文章

  • 智慧储能物联网助力实现数据监测的价值
    随着全球能源需求的不断增长和可再生能源的快速发展,储能技术变得越来越重要。智慧储能物联网作为新型储能系统的智能应用,结合了物联网和通信技术,实现数据分析利用,帮助提高设备管理水平、优化能源利用效率和可持续发展。 数据监测是通过传感器和PLC数据采集实现储能设备的实时在线......
  • 【专题】2022互联网母婴行业用户洞察报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=33430我国出生人口数量在2022年为956万人,比去年减少了10%。多种因素影响了这一趋势,包括育龄人口减少、生育观念改变以及婚育年龄推迟。然而,与此同时,由于母婴人群消费水平不断提高,以及精细化喂养逐渐成为育儿的主流方式,我国母婴市场产业规模持续增长......
  • 浅谈人工智能技术与物联网结合带来的好处
    物联网是指通过互联网和各种技术将设备进行连接,实时采集数据、交互信息的网络,对设备实现智能化自动化感知、识别和控制,给人们带来便利。人工智能是计算机科学的一个分支,旨在研究和开发能够模拟人类智能的技术和方法。人工智能通过模仿、延伸和扩展人类的自然智能,使计算机能够具备......
  • 现代化创新发展:农业现代化 两化融合与智能制造 消费互联网
      一、农业农村现代化。实现农业农村现代化需要将先进技术、现代装备、管理理念等引入农业,将基础设施和基本公共服务向农村延伸覆盖,提高农业生产效率,改善乡村面貌,提升农民生活品质,促进农业全面升级、农村全面进步、农民全面发展。    农业现代化是用现代工业装备农业,用现......
  • 物联网学习笔记
    毫米波雷达相关厂商电目科技的开发人员建议:富汉的芯片海思www.alcctv.com云帆跌倒lte庆科 DC-DC和LDO的区别DC-DC和LDO是两种不同的电源管理技术,它们有以下区别:1.DC-DC(直流-直流)转换器是一种电子设备,用于将一个直流电源的电压转换为另一个......
  • 【8月摸鱼计划】Air780E|物联网模组|AT命令|MQTT接入|云平台(1)-MQTT基本原理及AT步骤
    基础资料基于Air780E开发板:Air780E文档中心简介:AT开发探讨重点AT固件是通信模组或者单片机(MCU)+网络模块标准固件的基本配置,该模式定制化程序较高,简单易上手,但缺点也较为明显,仅用于快速基本功能验证。本系列主要探讨MQTT方式手动接入、信息订阅及发布的基本原理,后续详细介绍接入多......
  • ChatGPT联网查询基于yahoo搜索引擎
    联网查询原理很简单1.对搜索内容分词2.将分词后的内容用yahoo搜索3.将搜索返回的内容交给ChatGPT整理提炼Demo代码如下importfetchfrom'node-fetch';importSegmentfrom'segment';import{HttpsProxyAgent}from'https-proxy-agent';constproxyUrl='http://1......
  • 文章学习 | 智能车联网信息安全研究
    文章学习:智能车联网信息安全研究摘要车联网技术智能化、共享化、网联化发展带来了安全问题。车联网的三层架构:车载端、路端、云端车联网应用广泛安全问题贡献三层架构的安全问题对应解决方案引言车联网将智能互联网和车辆相连接,实现了车与车、车与人以及车与道......
  • 融合科技与医疗:互联网医院小程序的开发策略
    时下,互联网医院小程序正在成为医疗领域的创新亮点。今天,小编将于大家一同讨论如何将科技与医疗融合,开发高效实用的互联网医院小程序或者相关平台。一、背景介绍:互联网医院小程序的兴起随着移动互联网的迅速发展,人们对于医疗服务的需求也在不断增加。正因为现在传统的线下医疗流程存......
  • RTMP流媒体服务器LntonMedia(免费)互联网视频云平台优化HLS的访问路径的方案
    LntonMedia视频平台具有便捷可控的特点,观看视频推流和直播时无需安装插件,只需通过浏览器进入平台即可进行配置。对于用户而言,这一优势使他们无需额外搭建服务器,享受到了方便和可操作性。在原先的LntonMedia设计中,LntonMedia平台直接获取到流媒体的存储hls的路径,然后将该路径变为可......