在物联网应用中,对环境数据(如温度、湿度、光照等)的监测是非常基础且重要的需求。本实战项目将使用 ESP32 结合多种传感器,打造一个智能环境监测站,不仅能实时采集环境数据,还能将数据存储在本地 SD 卡中,同时通过 Wi-Fi 实现远程查看。
一、所需硬件
- ESP32 开发板
- DHT11 温湿度传感器
- 光敏电阻(用于光照强度检测)
- SD 卡模块
- 杜邦线若干
二、硬件连接
1. DHT11 与 ESP32 连接:
- VCC 接 ESP32 的 3.3V 引脚
- GND 接 ESP32 的 GND 引脚
- DATA 接 ESP32 的 GPIO4 引脚
2. 光敏电阻与 ESP32 连接:
- 光敏电阻一端接 ESP32 的 3.3V 引脚,另一端通过一个 10KΩ 电阻接 GND,同时在光敏电阻与 10KΩ 电阻的连接点引出线接 ESP32 的 GPIO34(ADC 引脚)
3. SD 卡模块与 ESP32 连接:
- VCC 接 ESP32 的 5V 引脚
- GND 接 ESP32 的 GND 引脚
- MOSI 接 ESP32 的 GPIO23 引脚
- MISO 接 ESP32 的 GPIO19 引脚
- SCK 接 ESP32 的 GPIO18 引脚
- CS 接 ESP32 的 GPIO5 引脚
三、软件准备
在 Arduino IDE 中,需要安装以下库:
- DHT 库(用于读取 DHT11 数据)
- SD 库(用于 SD 卡操作)
四、代码实现
#include <WiFi.h>
#include <DHT.h>
#include <SD.h>
// WiFi 配置
const char* ssid = "你的WiFi名称";
const char* password = "你的WiFi密码";
// DHT11 配置
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// SD 卡配置
#define SD_CS_PIN 5
// 存储数据的文件名
const char* dataFileName = "/environment_data.csv";
// 初始化网络服务器
WiFiServer server(80);
void setup() {
Serial.begin(115200);
// 初始化 DHT11
dht.begin();
// 初始化 SD 卡
Serial.print("Initializing SD card...");
if (!SD.begin(SD_CS_PIN)) {
Seria

最低0.47元/天 解锁文章
3765





