用esp8266+DHT11实现小爱同学查看家中温湿度

编程入门 行业动态 更新时间:2024-10-26 20:29:17

用esp8266+DHT11实现小爱同学查看家中<a href=https://www.elefans.com/category/jswz/34/1763887.html style=温湿度"/>

用esp8266+DHT11实现小爱同学查看家中温湿度

接着上一次做的小爱同学脱离局域网控制三路开关,我还找到另外一个好玩的项目,,接下来我讲解一下项目过程

用到的东西和上一次差不多,有esp8266nodemcu、点灯科技app、Arduino IDE,但是还需加上一个DHT11模块

如果是直接看到这篇文章的小伙伴,如果没有配置好Arduino IDE,建议去看一下博主这个专栏的上一个文章,里面有详细介绍使用Arduino IDE开发esp8266所需要的设置

还有我们需要在Arduino IDE里添加DHT11的库文件,在文章里提供下载链接

下载以后找到自己软件的安装目录,找到libraries文件夹,解压放入

那么现在我们直接来上代码:

#define BLINKER_WIFI
#define BLINKER_MIOT_SENSOR   //小爱同学定义为传感器设备#include <Blinker.h>
#include <DHT.h>char auth[] = "点灯app获取的设备密钥";
char ssid[] = "WiFi名称";
char pswd[] = "WiFi密码";BlinkerNumber HUMI("humi");    //定义湿度数据键名
BlinkerNumber TEMP("temp");    //定义温度数据键名#define DHTPIN 5      //定义DHT11模块连接管脚io5#define DHTTYPE DHT11   // 使用DHT 11温度湿度模块 
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)DHT dht(DHTPIN, DHTTYPE);    //定义dhtfloat humi_read = 0, temp_read = 0;void heartbeat()
{HUMI.print(humi_read);        //给blinkerapp回传湿度数据TEMP.print(temp_read);        //给blinkerapp回传温度数据
}void miotQuery(int32_t queryCode)      //小爱同学语音命令反馈
{BLINKER_LOG("MIOT Query codes: ", queryCode);int humi_read_int=humi_read;     //去掉湿度浮点BlinkerMIOT.humi(humi_read_int);     //小爱接收湿度BlinkerMIOT.temp(temp_read);      //小爱接收温度BlinkerMIOT.print();}void setup()
{Serial.begin(115200);BLINKER_DEBUG.stream(Serial);BLINKER_DEBUG.debugAll();Blinker.begin(auth, ssid, pswd);   Blinker.attachHeartbeat(heartbeat);dht.begin();BlinkerMIOT.attachQuery(miotQuery);
}void loop()
{Blinker.run();float h = dht.readHumidity();float t = dht.readTemperature();if (isnan(h) || isnan(t)){BLINKER_LOG("Failed to read from DHT sensor!");}else{BLINKER_LOG("Humidity: ", h, " %");BLINKER_LOG("Temperature: ", t, " *C");humi_read = h;temp_read = t;}Blinker.delay(2000);
}

在代码的注释内容下我们可以很容易的找到用esp8266接收数据的引脚是哪一个

但是在这里指的是GPIO5,并不是我们esp8266d nodemcu的D5
这里我为大家提供了编号装换图,与是得知,我设置的gpio5是我们开发板上的D1

OK,我们开始


1、打开Arduino IDE写入代码,编译上传,烧录程序:

2、硬件连接:

我们的DHT11模块有三个引脚:VCC、GND以及DATA

DATA就是我们的数据传输引脚,接在我们程序设置好的GPIO5,也就是esp8266 nodemcu的D1引脚上
VCC接esp8266 nodemcu 3V供电端口即可
GND接esp8266 nodemcu G接地端口即可

3、重启开发板,我们可以看到点灯app上设备在线,我们还可以设置点灯app内的组件设置,在点灯app内查看温度湿度:

我们可以这样添加组件

例如我们的湿度数据,数据键名为代码前定义的humi,显示文本为湿度,单位为%,最大值为100

我已经设置好了,大家可以看到效果

4、最后我们使用小爱同学控制,在米家中绑定点灯平台,在小爱训练中添加训练即可,具体训练过程可以看看我的小爱脱离局域网控制小灯

好啦,感兴趣的可以去试一试,成本很低,收获很大。

更多推荐

用esp8266+DHT11实现小爱同学查看家中温湿度

本文发布于:2023-07-27 22:20:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1231610.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:温湿度   小爱   家中   同学

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!