基于ESP8266芯片的实时温湿度传感器

准备工作:

        1. ESP8266芯片

        2. DHT11温湿度传感器

        3. 点灯科技平台

一. 电路设计

  以ESP8266连接手机终端,以DHT11为数据发送端,将DHT11的三个接口分别接在ESP8266芯片的3V、G以及D7引脚(自定义)上。3V、G对应于DHT11上的正负极,D7引脚主要接收由DHT11传输来的数据,最后由ESP8266芯片的WIFI模块将数据上传到手机终端,供用户接收查看

二. 代码设计

将代码用 arduino 软件烧录到ESP8266上


#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "737426fbeb6a";     //点灯科技密钥
char ssid[] = "aoaodadie";        //连接的WIFI名称
char pswd[] = "jaashiwoer.";      //连接WIFI的密码

BlinkerNumber HUMI("humi");       //对应手机上的显示框1对应湿度
BlinkerNumber TEMP("temp");       //对应手机上显示框2对应温度

// Download Adafruit DHT-sensor-library library here:
// https://github.com/adafruit/DHT-sensor-library
#include <DHT.h>

#define DHTPIN 13             //对应esp8266引脚D7

#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);

uint32_t read_time = 0;

float humi_read, temp_read;

void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();
    
    uint32_t BlinkerTime = millis();
    
    Blinker.print("millis", BlinkerTime);
}

void heartbeat()
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}

void setup()
{
    Serial.begin(9600);
    BLINKER_DEBUG.stream(Serial);

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
    Blinker.attachHeartbeat(heartbeat);
    
    dht.begin();
}

void loop()
{
    Blinker.run();

    if (read_time == 0 || (millis() - read_time) >= 2000)
    {
        read_time = millis();

        float h = dht.readHumidity();
        float t = dht.readTemperature();        

        if (isnan(h) || isnan(t)) {
            BLINKER_LOG("Failed to read from DHT sensor!");
            return;
        }

        float hic = dht.computeHeatIndex(t, h, false);

        humi_read = h;
        temp_read = t;

        BLINKER_LOG("Humidity: ", h, " %");
        BLINKER_LOG("Temperature: ", t, " *C");
        BLINKER_LOG("Heat index: ", hic, " *C");
    }
}

三. 上传到云端

   在手机上安装点灯科技,在ESP8266芯片接入传感器DHT11模块后,将ESP8266芯片接入电脑,使用Arduino软件进行代码的上传和烧录,等待DHT11将数据传输给ESP8266芯片,在通过WIFI模块将数据上传至手机上,实现对温湿度的直观观测。下面是不同时间温湿度的直观变化情况:

需要注意的是,在电脑上也需要下载ESP8266驱动,arduino 中需要下载DHT11模块。

ESP8266芯片驱动:

链接:https://pan.baidu.com/s/1jpp14Apyl_OekYgoXrDylg 
提取码:olil

点灯科技平台icon-default.png?t=LA92https://diandeng.tech/home

版权声明:本文为CSDN博主「点点dream」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_57035925/article/details/121971844

生成海报
点赞 0

点点dream

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于Arduino的显示测量环境数据设计

题目: 基于Arduino的显示测量环境数据设计 目录 基于Arduino的显示测量环境数据设计... 3 第一章 课题任务... 4 1.1课题任务... 4 1.2任务分工... 4 1.3设计条件... 4 第

2021全国电设(F题)灰度传感器——循迹红线

基于灰度传感器的循迹(红色循迹) 通过参加全国电子设计大赛F题总结出识别红色线路的循迹方法——灰度传感器 灰度传感器的工作原理 灰度传感器利用不同颜色的检测面对光的反射程度不同,光敏电阻对不同检测面返

Arduino 水滴检测

实物连接图: 电路图: 代码: void setup() {pinMode(3, OUTPUT);pinMode(2, INPUT); }void loop() {bool va2 digitalR

2WD远程控制小车——程序设计

1. 简介 本文主要包括ESP32开发板的程序和ESP8266开发板的程序。涉及到的内容有OLED显示、DHT22的数据采集、ADC电压测量、TB6612驱动和PS2接收。 2. 电路连接 控制板ESP32的主要电路连接如下图所示&#xf