ESP8266+DHT11温湿度传感器+LED灯(状态可视化)

接线(继电器与DHT11模块的GND与VCC分别对应接好ESP8266即可,下表只列出信号线接法):

模块 ESP8266
继电器IN D4
DHT11 DAT D7

ESP8266编译环境搭建、继电器如何使用及如何接电灯线不再细说,点击下面链接详看即可
ESP8266接入小爱同学—智能LED台灯或风扇(利用继电器)

程序(有冗余但运行无误,可自行删减无用部分或自行增添功能):

#define BLINKER_WIFI
#include <DHT.h>
#include <Blinker.h>char auth[] = "******";//blinker app注册设备时的密钥
char ssid[] = "******";//wifi名称
char pswd[] = "******";//WiFi密码
//若使用WiFiManager库则更好,具体使用方法以后分享一下,或者去太极创客官网查看#define DHTPIN D7  //定义DHT11信号引脚
#define DHTTYPE DHT11   // dht系列传感器类型为DHT 11
// 新建组件对象
BlinkerNumber HUMI("humi");//湿度显示
BlinkerNumber TEMP("temp");//温度显示
BlinkerButton Button1("btn-abd");
BlinkerNumber Number1("num-abd");
BlinkerButton Button2("btn-abc");
int counter = 0;// 按下按键即会执行该函数
void button2_callback(const String & state) {BLINKER_LOG("get button state: ", state);if (state=="on") {digitalWrite(LED_BUILTIN, LOW);// 反馈开关状态Button2.print("on");} else if(state=="off"){digitalWrite(LED_BUILTIN, HIGH);// 反馈开关状态Button2.print("off");}
}
// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{BLINKER_LOG("Blinker readString: ", data);counter++;Number1.print(counter);
}DHT dht(DHTPIN, DHTTYPE);float humi_read = 0, temp_read = 0;void heartbeat()//心跳包
{HUMI.print(humi_read);TEMP.print(temp_read);
}void dataStorage()//数据云存储
{Blinker.dataStorage("temp", temp_read);Blinker.dataStorage("humi", humi_read);
}void dataGet()//拉取存储数据
{BLINKER_LOG("Blinker.dataGet(): ", temp_read);
BLINKER_LOG("Blinker.dataGet(): ", humi_read);
}void setup()
{// 初始化串口Serial.begin(115200);BLINKER_DEBUG.stream(Serial);BLINKER_DEBUG.debugAll();// 初始化有LED的IOpinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, HIGH);// 初始化blinkerBlinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);Button2.attach(button2_callback);Blinker.attachHeartbeat(heartbeat);Blinker.attachDataStorage(dataStorage);Blinker.dataGet();dht.begin();
}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);
}

blinker app端:


由于采用开关按键,所以对比上次控制灯的简单程序,能显示灯的开关状态无疑是一大优点。

当然也可接入米家利用小爱同学控制,具体操作方法见:ESP8266接入小爱同学—智能LED台灯或风扇(利用继电器)

ESP8266+DHT11温湿度传感器+小爱同学语音智能LED灯(状态可视化)相关推荐

  1. 基于arduino用esp8266和继电器实现小爱同学开关灯

    用esp8266和继电器实现小爱同学开关灯 房间的灯离床太远了,于是想到用esp8266配合点灯科技app来实现用小爱同学开关灯.于是就用小led灯做了测试. 这些是我们需要的材料 在淘宝上都能找到 ...

  2. Esp8266 进阶之路19 【外设篇①】esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  3. ESP8266 快速对接小爱同学 语音控制

    ESP8266 快速对接小爱同学 一.环境资料 二.安装配置 三.下载Blinker手机APP,并更改符合小米小爱协议的代码 四.米家绑定Blinker点灯 一.环境资料 1. 硬件:ESP8266 ...

  4. ⑦ ESP8266 开发学习笔记_By_GYC 【ESP8266 驱动 DHT11 温湿度传感器】

    目录 一.准备材料 二.硬件连接 三.软件编程 1.修改工程名 2.添加组件 3.编程 4.反馈结果 5.核心代码 四.总结 ⑦ ESP8266 开发学习笔记_By_GYC [ESP8266 驱动 D ...

  5. Arduio ESP8266将DHT11温湿度传感器数据在网页上显示

    Arduio ESP8266将DHT11温湿度传感器数据在网页上显示

  6. ESP8266笔记—DHT11温湿度传感器

    DHT11温湿度传感器 参考文档 产品概述 典型电路 标题串行通信说明(单线双向) 单总线传送数据位定义 校验位数据定义 外设读取步骤 参考文档 技小新:https://www.jixin.pro/b ...

  7. 【Homeassistant 的Node-red插件之小爱同学语音功能开通】

    目的:Homeassistant 的Node-red插件之小爱同学语音功能开通,实现播报任意带变量的文本 视频部分效果可见:https://www.bilibili.com/video/BV1id4y ...

  8. 毕设系列教程-基于Blinker和小爱同学的智能家居设计与现实-系统介绍

    前言 本系列教程只是针对刚入门的小白,大佬不喜勿喷,为了帮助一些小白毕业生顺利毕业,帮助电子爱好者制作自己的智能家居DIY,尽量减少对专业知识的描述,如果有毕业设计要求的同学当然也可以提供毕业论文的参 ...

  9. ESP32 开发笔记(三)源码示例 8_DHT11_RMT 使用RMT实现读取DHT11温湿度传感器

    开发板购买链接 https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=62636 ...

最新文章

  1. 4月书讯 | 从引爆技术圈的 K8s 到图灵奖得主作品升级,从独角兽项目到人人都要学习的写作逻辑...
  2. (chap 2 简单的Http协议) HTTP性能优化之Cookie技术
  3. 转: eclipse 快捷键列表(功能清晰版本)
  4. python3.5中pdfkit的详细配置与使用
  5. SAP UI5 XML 视图里 label 和 text 控件文本对齐问题
  6. 高压电是以交流,还是直流方式输送?
  7. 通过MySQL存储原理来分析排序和锁
  8. (王道408考研数据结构)第七章查找-第二节1:顺序查找及其优化
  9. 雷利子油猴脚本v0.3.6,无需启动天翼客户端直接下载
  10. 人工智能这么火,可你真的会用 TensorFlow?
  11. 阻塞非阻塞、同步异步
  12. cognos ibm 收购_IBM Cognos与Linux上的Sterling Selling and Fulfillment Suite集成
  13. 传统人工势场法的MATLAB实现
  14. 【冒泡排序】c++实现冒泡排序代码
  15. 为什么要做特征共线性分析
  16. Kubernetes K8S之存储ConfigMap详解
  17. 推荐 :这里有一份价值 7680 元的学习资料,要免费送给你
  18. tomcat服务器一直自动关,项目在tomcat里运行一段时间总是自动崩掉的问题排查与解决...
  19. 搜索控件SearchView的用法
  20. Ubuntu1804下的Melodic版本Moveit和OMPL的源码安装,并自定义规划算法在Moveit上使用

热门文章

  1. [BZOJ2844]albus就是要第一个出场
  2. 专访今目标李雪:行业分化愈加明显 专业的公司做专业的事情
  3. SN74LVC4245A/(74LVC245) 真是个好东西啊
  4. 自动化测试之MercuryTours订票系统
  5. 5G 学习笔记 NG-RAN架构
  6. BBS论坛 home主页与个人站点主页
  7. 通过代理使用远程桌面(Mstcs)(转载)
  8. SuperMap GIS 10i 新一代三维GIS技术白皮书
  9. 【35】WEB安全学习----XST攻击
  10. 简易版 useState 实现