我们假设您现在需要将数据保存到SD卡,这些数据可以在以后的PC中脱机使用。
让我们像第3章“使用ESP8266的搭建家用温控器” 一样连接DHT22,并读取其值并将其记录在microSD卡的文件上。
使用相同的SPI和SD卡库:
#include <SPI.h>
#include <SD.h>
#include <DHT.h>
const int chipSelect = D8;
定义 DHT 类型,因为库可以与 DHT11 和 DHT22 一起使用:
#define DHTTYPE DHT22
#define DHTPIN 4
#define DEV_TYPE "dht"
DHT dht(DHTPIN, DHTTYPE, 11);
float humidity, temp_f; // 从传感器读取的值
定义将读取温度的函数并使用湿度和温度更新全局变量 humidity 和 temp_f:
void gettemperature()
{
int runs=O;
do {
delay(2000);
temp_f = dht.readTemperature(false);
humidity = dht.readHumidity();
if(runs > O)
Serial.println("##Failed to read from DHT sensor ! ###") ;
runs++;
}
while(isnan(temp_f) && isnan(humidity));
}
初始化 SD 卡并首先读取湿度和温度:

本文介绍如何使用ESP8266模块配合DHT22温湿度传感器,将读取的温湿度数据记录到microSD卡上,实现离线数据存储。通过SPI和SD卡库,每三秒读取一次数据,并将数据追加到DATALOG.txt文件中。
最低0.47元/天 解锁文章





