admin管理员组

文章数量:1600065

1.简介

实现将环境中的温湿度信息通过局域网上传至电脑本地数据库中。基于Arduino平台,采用WIFI网络接入技术实现环境中温湿度参数的感知。

2.设备

硬件设备

ESP8266-NodeMCU、DHT11温湿度传感器、USB-TTL(CH340)、面包板、杜邦线

使用USB-TTL是因为我未安装ESP8266-NodeMCU驱动程序,大家可以试试安装驱动后实现该部分。

引脚参考图

软件平台

Windows11、Arduino、MySQL

3.测试ESP8266开发板

1.安装Arduino

2.在Arduino中安装开发ESP8266-NodeMCU的库

工具–>开发板–>开发板管理器–>搜索esp8266–>选择安装
安装过程可能会很慢
若嫌下载速度过慢可参考以下方法
Arduino安装esp8266开发环境

3.下载dht11库

链接:https://pan.baidu/s/1hqCR4BKIBOP_NaSkDUfAbQ?pwd=hwnh
提取码:hwnh

建议将文件解压到你安装的Arduino的libraries文件夹中

4.连线

USB-TTL ESP8266-NodeMCU
TXD RX
RXD TX
VCC(3.3V) 3.3V
GND GND
DHT11 ESP8266-NodeMCU
data D4
3.3V 3.3V
GND GND

5.端口、开发板选择

工具–>端口
(若不知道端口号可进入设备管理器查看端口)
工具–>开发板(选择NodeMCU1.0开发板)

代码

#include <dht11.h>//引入DHT11库
 
/********************###定义###********************/
dht11 DHT11;//定义传感器类型
#define DHT11PIN 2//定义传感器连接引脚。此处的PIN2在NodeMcu8266开发板上对应的引脚是D4
 
/********************###程序初始化###********************/
void setup()
{
   
  Serial.begin(9600);//设置波特率为9600
  Serial.println("\n");
  Serial.println("esp8266读取DHT11传感器数值 ");
  Serial.println("串口会分别打印当前湿度(%),当前摄氏度温度,当前华氏度温度和当前开式温度 ");
  Serial.print("DHT11库文件版本: ");
  Serial.println(DHT11LIB_VERSION);
  Serial.println();
}
 
/********************###主函数###********************/
void loop()
{
   
  Serial.println("\n");
  DHT11.read(DHT11PIN); //更新传感器所有信息
 
  Serial.print("当前湿度 (%): ");
  Serial.println((float)DHT11.humidity, 2);
 
  Serial.print("当前温度 (℃): ");
  Serial.println((float)DHT11.temperature, 2);
 
  delay(2000);//每两秒打印一次
}

点击编译,通过后上传
在上传程序过程中需要将GPIO0接地,按下开发板上rst键;
在运行程序过程中需要将GPIO0悬空,按下开发板上rst键;
可根据自己ESP8266开发板的引脚参考图查看GPIO0,在我的开发板中GPIO0为D3。

6.打开串口监视器查看结果。

4.测试esp8266连接WiFi功能

本部分参考太极创客-建立基本网络服务器
代码

#include <ES

本文标签: 温湿度环境系统NodeMCU