ESP8266之blinker物联网平台DHT11温湿度数据上报

ESP8266之blinker物联网平台DHT11温湿度数据上报float hic = dht.computeHeatIndex;}六、展望一下 其实DHT11也不能说一点用都没有,曾经用它实现

一、背景

很久以前购买的DHT11温湿度传感器,被无情遗忘。终于在今天倒腾器件时,给翻了出来。压箱这么久,也是亏欠了这位小老弟,怎么也得让它实现点自我价值才行啊!想了很久,这玩意似乎也只能做点温湿度检测的活了。说干就干,那就让你继续做温湿度数据上报吧!以后有更好的想法的时候,再让你实现更多的价值!

二、实现原理

本次使用到的器件如下:

  • ESP8266 WIFI模块
  • DHT11 温湿度传感器模块
  • 3.3~5.0V电源适配器

ESP8266通过DHT11将温湿度数据监测,并上传至blinker物联网平台,同时在APP端显示对应的数据。PS:实现原理极为简单,不复杂,体验电子DIY的快乐,才是我们玩电子的初衷嘛!

三、电路连接

ESP8266之blinker物联网平台DHT11温湿度数据上报

网上直接购买的模块,上电即用

四、APP配置

ESP8266之blinker物联网平台DHT11温湿度数据上报

APP端配置,两个图表组件即可

五、编码实现

#define BLINKER_WIFI

#include <Blinker.h>
#include <DHT.h>


// 定义温湿度传感器引脚
#define DHTPIN 2
#define DHTTYPE DHT11


// 认证信息
char auth[] = "XXXXXXXX";
char ssid[] = "XXXXXXXX";
char pswd[] = "XXXXXXXX";


// 创建组件
BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");


// DHT11初始化
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(115200);
    BLINKER_DEBUG.stream(Serial);
    
    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");
    }
}

六、展望一下

其实DHT11也不能说一点用都没有,曾经用它实现过一个想法:通过DHT11采集室内温度,并上报,然后通过米家的多个设备设置自动化任务,最后实现在一定温度条件下控制某个插座或者开关打开。尤其针对南方的东西,尤为有效的。每天定时、定温度将电热毯打开,等你到床上躺着的时候,那叫一个舒服,一个享受!各位小伙伴还可以有其他想法,通过物联网平台的各种自动化、智能化任务,使多个设备联动,从而达到一个物物联通为自己服务,岂不快哉!

今天的文章ESP8266之blinker物联网平台DHT11温湿度数据上报分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/59440.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注