admin管理员组文章数量:1600155
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
版权声明:本文标题:基于ESP8266-NodeMCU实现环境温湿度感知系统 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728334724a1154673.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论