不说了,上代码,用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

Turn OnTurn Off

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

  1. ESP8266局域网智能家居 路由器下作服务器模式串口透传 无线通信控制 arduino uno示例 模板参考

    准备工作 下载一个Arduino IDE, 下载8266的库文件 ESP8266服务器模式串口透传编译 功能说明 1.直接使用路由器中转数据 2.手机放热点模式直接传输数据 两者有访问IP地址的差别, ...

  2. ARDUINO MEGA2560 经过ESP8266 WIFI模块上传温湿度数据到 OneNet 服务器

    简述 原来写了一个C++的wifi库但是发现用c++ arduino这小身板有点扛不住,代码比较大,使用String类型数据处理速度慢,而且很容易无缘无故跑飞.而且封装成库后使用还需要修改arduin ...

  3. Arduino和C51开发DHT11温湿度传感器

    技术:51单片机.Arduino.DHT11.温湿度传感器.传感器   概述 学习单片机离不开对传感器的学习,本文主要介绍DHT11温湿度传感器的使用方法,同学也可以了解更多的传感器,这对你以后开发产 ...

  4. 【雕爷学编程】Arduino动手做(55)--DHT11温湿度传感器

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  5. Intel Edison —— 控制GPIO接口,网页显示传感器数值

    前言 原创文章,转载引用务必注明链接. 因为是使用Typora(markdown)写好然后复制到论坛的,推荐直接访问我的网站以获得更好地阅读体验. Intel XDK IoT 开发环境很久之前就上手了 ...

  6. DHT11温湿度传感器编程思路以及代码的实现(转载)

    源自:https://blog.csdn.net/qq_34952376/article/details/81193938 在我们刚开始进入单片机的学习中,练习写传感器的时序是必不可少的,其实我比较推 ...

  7. asp.net 读取一个文本文件,并输出到网页显示 通过 一般处理程序实现

    asp.net 读取一个文本文件,并输出到网页显示 通过 一般处理程序实现 用这个可以做模板首页进行输出,也可以自已自定义进行扩展 //得到读取到的文本到string中 string resultTe ...

  8. Metro中控件WebView访问外部的网页显示一片空白

    Metro中控件WebView访问外部的网页显示一片空白 解决方案: ​下载安装了Initex.Software.Proxifier.v3.21.Standard.Edition.Incl.Keyma ...

  9. 使用php-emoji类让网页显示emoji表情

    需要的材料: php-emoji类库的下载地址:https://github.com/iamcal/php-emoji 代码示例:(该代码来自官网) <?php include('emoji.p ...

  10. python学习笔记--Django入门一 网页显示时间

    我的笔记是学习http://djangobook.py3k.cn/ 课程时做的,这个上边的文章讲的确实是非常的详细,非常感谢你们提供的知识. 上一篇随笔中已经配置好了Django环境,现在继续跟随ht ...

随机推荐

  1. [VueJsDev] 快速入门 - vscode 设置推荐

    [VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html vscode设置推荐 ::: details 目录 目录 v ...

  2. KeyCastOW win10 屏幕显示按键 - 屏幕录像用

    KeyCastOW win10 屏幕显示按键 - 屏幕录像用 https://gitee.com/itas109/KeyCastOW/releases/v2.0.2.5-cn

  3. ncc - koa 后台源码加密打包工具 @vercel/ncc - webpack node打包更正规

    加个重点 webpack 打包更正规 安装 npm i -g @vercel/ncc 又发现一个 https://github.com/zeit/ncc npm i -g @zeit/ncc 卸载之前 ...

  4. 使用gradle打包springboot项目

    这边整理下自己项目使用gradle打jar包的坎坷经历,使用的方式是命令行的方式 首先配置build.gradle跟我一样 plugins { id 'java' id 'org.springfram ...

  5. 译:使用 Bun 执行 Shell 脚本

    原文地址(Bun Blog): https://bun.sh/blog/the-bun-shell 作者: jarredsumner 发布时间:2024-01-20 前言 JavaScript 是世界 ...

  6. 【At Coder begin 345】[D - Tiling] 回溯

    题目链接:problem D 解法: 比较简单.看代码. import java.io.IOException; import java.io.InputStreamReader; import ja ...

  7. 记录-Vue移动端日历设计与实现

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 工作中遇到一个需求是根据日历查看某一天/某一周/某一月的睡眠报告,但是找了好多日历组件都不是很符合需求,只好自己手写一个日历组件,顺便记录 ...

  8. 记录--uni-app App端半屏连续扫码

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本文用一个简单的 demo 讲解 App端 半屏连续扫码 的实现方式,包括(条形码.二维码等各种各样的码). 我会从实现思路讲起,如果你比 ...

  9. 构建个人博客网站(基于Python Flask)

    本文由 Ficow Shen 首发于 Ficow Shen's Blog. 文章概览 前言 Sketch HTML, CSS, JavaScript Python & Flask & ...

  10. Linux安装Oracle12C及一些参考

    目录 安装 系统配置 安装前装备 安装依赖包 创建用户和组 修改内核参数 修改系统资源限制 创建安装目录及设置权限 设置oracle环境变量 安装Oracle 一些参考 compat-libstdc+ ...