首页 > 其他分享 >esp8266,arduino,网页显示dht11温湿度,控制继电器开关,局域网智能家居

esp8266,arduino,网页显示dht11温湿度,控制继电器开关,局域网智能家居

时间:2023-05-19 22:12:32浏览次数:42  
标签:LED esp8266 PIN int 温湿度 智能家居 server html Serial

不说了,上代码,用arduino实现esp8266代码

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <SimpleDHT.h>

// 定义DHT11引脚
//      VCC: 5V or 3V
//      GND: GND
//      DATA: 2
int pinDHT11 = D4;
SimpleDHT11 dht11(pinDHT11);

// read without samples.
byte temperature = 0;
byte humidity = 0;
int err = SimpleDHTErrSuccess;
// 定义LED引脚
#define LED_PIN 5

// 创建Web服务器对象
ESP8266WebServer server(80);

// 处理根目录请求的函数
void handleRoot() {
  
  // 获取LED状态
  String ledState = digitalRead(LED_PIN) == HIGH ? "OFF" : "ON";

  // 生成HTML页面内容
  String html = "<html><head><title>DHT11 and LED Control</title></head><body>";
  html += "<h1>DHT11 and LED Control</h1>";
  html += "<p>Temperature: ";
  html += (int)temperature;
  html += " *C</p>";
  html += "<p>Humidity: ";
  html += (int)humidity;
  html += " %</p>";
  html += "<p>LED State: ";
  html += ledState;
  html += "</p>";
  html += "<form method=\"POST\" action=\"/led\">";
  html += "<button type=\"submit\" name=\"state\" value=\"on\">Turn On</button>";
  html += "<button type=\"submit\" name=\"state\" value=\"off\">Turn Off</button>";
  html += "</form>";
  html += "</body></html>";

  // 发送HTML页面内容
  server.send(200, "text/html", html);
}

// 处理LED控制请求的函数
void handleLed() {
  // 获取按钮状态
  String state = server.arg("state");

  // 根据按钮状态控制LED灯
  if (state == "on") {
    digitalWrite(LED_PIN, LOW);
  } else if (state == "off") {
    digitalWrite(LED_PIN, HIGH);
  }

  // 返回根目录
  server.sendHeader("Location", "/");
  server.send(302, "text/plain", "");
}

void setup() {
  // 初始化串口
  Serial.begin(9600);
  while (!Serial) {}

  // 初始化LED引脚
  pinMode(LED_PIN, OUTPUT);
  delay(20);
  digitalWrite(LED_PIN, HIGH);
  // 连接WiFi网络
  WiFi.begin("litianmenzhenbu", "LT12345678");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(1000);
  }
  Serial.println("");
  Serial.println("WiFi connected");

  // 注册请求处理函数
  server.on("/", handleRoot);
  server.on("/led", handleLed);

  // 启动Web服务器
  server.begin();
}

void loop() {

  for (int i=0;i<1000;i++)
  {
    delay(1);
    // 处理Web请求
    server.handleClient();
   }
  
  // 读取温湿度
  if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
    Serial.print("Read DHT11 failed, err="); Serial.println(err);//delay(1000);
    //return;
  }
//  Serial.print("Sample OK: ");
//  Serial.print((int)temperature); Serial.print(" *C, "); 
//  Serial.print((int)humidity); Serial.println(" H");
////  // DHT11 sampling rate is 1HZ.
//  delay(1500);
}

  

效果:

需要使用360防火墙找到esp8266的ip地址   , 打开浏览器输入ip即可控制

 

DHT11 and LED Control

Temperature: 25 *C

Humidity: 59 %

LED State: OFF

 

标签:LED,esp8266,PIN,int,温湿度,智能家居,server,html,Serial
From: https://www.cnblogs.com/LiuXinyu12378/p/17416442.html

相关文章

  • Arduino读取DHT11,DHT22,SHTC3温湿度数据
    本文章讲解使用NodeMcu开发板读取DHT11、DHT22、SHTC3这三个温湿度传感器的数据并发送至串口。各传感器我都写了使用第三方库和不用第三方库的例程。ESP8266开发环境搭建教程:https://blog.zeruns.tech/archives/526.html文中所用到传感器购买地址在文章最下面。DHT11DHT11是一款有......
  • 档案馆库房内环境温湿度的控制与解决方案
    ​ 目录一、智慧档案馆建设目的二、智慧档案馆集成度三、智慧档案馆架构3.1库房环境监测3.2库房安防监控四、智慧档案馆功能简介4.1档案室一体化控制管理系统建设方案4.2温湿度检测建设方案4.3恒温控制建设方案4.4烟雾感应检测系统4.5安防系统建设方案4.6漏水报警监......
  • STM32+HAL库+SHT30温湿度传感器模块I2C通讯数字型
    模块与接线SHT30模块与引脚SCL-------PA4SCL--------PA5实现步骤:  1、IIC地址 0x45(板子上有)  2、启动温湿度测量写入0x2c0x06  3、延时10ms,等待测量结束  4、读测量值,发读指令,延时1ms,接收测量结果。  5、采样值转换为温度值、湿度值程序代......
  • 怎么样才能正确的选择一款机房用的温湿度传感器呢?
    ​ 目前市场上出现了多种以太网温湿度传感器,也可称为IP温湿度传感器,鱼龙混杂,良莠不齐,好像有了RJ45网络接口是以太网温湿度传感器,单看宣传页技术指标参数,好像都差不多,给工程师带来选择上的困惑,到底该选择哪种类型的传感器呢??笔者根据实际测试,现场了解等方面总结了以下几点来进行选......
  • 智能家居生态迎来超强辅助
    在家居领域,中商行业研究所预测,2023年中国智能家居市场可达7157.1亿元。未来5年,中国智能家居产业将继续快速发展。2027年,市场规模预计将超过1.1万亿亿元人民币。那么未来智能家居发展的突破口又在何方?智能终端设备运行小程序的概念在智能终端设备中运行小程序,是指在不需要下载和......
  • 档案馆库房环境温湿度一体化建设平台之10款八防硬件设备详细介绍
    档案八防十防常用的十款设备序号名称1温湿度传感器2空气质量云测仪3恒湿净化一体机4健康防护一体机5综合智能触摸一体化区域控制器6空调红外学习控制模块7漏水检测控制器及感应线8数字烟雾传感器9......
  • esp8266 水墨屏显示中文之简单字库
    esp8266驱动水墨屏显示中文,假设在此之前已经安装好arduino,配置好esp8266的开发环境。水墨屏显示中文的步骤如下:一、下载库安装esp8266需要的库文件:GxEPD2屏幕驱动库U8g2_for_Adafruit_GFX安装过程可能需要梯子,如果已安装则跳过。二、准备使用打包好的工程驱动屏幕。......
  • PHP对接ESP8266
    前言:    众所周知,在APP开发中,C/S是基本的开发结构。客户端负责应用的展示,交互与网络请求,服务端负责数据的传输,处理,存储,输出等等。而物联网除了之前介绍的MQTT实现H5实时控制舵机旋转角度来完成开关外,同样也可以通过HTTP的请求方式来和任何一门语言的服务端进行交互。  ......
  • 树莓派之人脸识别与智能家居
    访问【WRITE-BUG数字空间】_[内附完整源码和文档]树莓派加上摄像头之后就可以拍照、录视频等各种功能了,这样做一个树莓派相机已经是非常简单的事情了。我们在这里做一个简单的人脸区域检测的功能实验,然后我们在下一个实验让树莓派来控制风扇转动。发现有人脸了,就开始转动风扇。这也......
  • 智能家居管理系统
    源码及演示地址:演示地址:https://www.wchime.xyz:8080/#/后端代码:https://gitee.com/mom925/device-web-api前端代码:https://gitee.com/mom925/device-web-vue模拟中控代码:https://gitee.com/mom925/center-control演示登录账号:......