点灯·blinker esp8266加上DHT_11温度传感器-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9868|回复: 13

[分享] 点灯·blinker esp8266加上DHT_11温度传感器

[复制链接]
发表于 2020-3-6 16:25 | 显示全部楼层 |阅读模式
一、准备工作
1.1软件
  ·Arduino IDE (必须是1.8.10及以上版本!
         Arduino官网下载新版本:https://www.arduino.cc/

  ·安装blinker Arduino库(blinker-library-master.zip)
      官方库  https://github.com/blinker-iot/blinker-library/archive/master.zip
         将下载好的库文件夹(blinker-library-master)解压到 我的电脑>文档>Arduino>libraries 文件夹中。
·安装DHT库(DHT-sensor-library-master.zip爆改车间分享)
https://github.com/baogaichejian/blinker_xiaoai_wendu/blob/master/DHT-sensor-library-master.zip
将下载好的库文件夹解压到 我的电脑>文档>Arduino>libraries 文件夹中。


  ·安装esp8266/esp32扩展包(8266_package_2.6.3.exe)
https://pan.baidu.com/s/19yEQ4UDF-bQCzt3BsdV6Yw
如果安装过其他版本的esp8266sdk,请先删除,再使用本安装包
解压完成后,再打开Arduino IDE,即可在 菜单栏>工具>开发板 中找到你使用的esp8266开发板
1           esp8266 一个

          DHT_11温湿度模块
微信图片_20200306160254.jpg
      ESP8266烧录器
微信图片_20200306160300.jpg
2开始
安装点灯·blinkerAPP百度搜
打开app获取Key码
微信图片_20200306161337.jpg 微信图片_20200306161342.jpg 微信图片_20200306161347.jpg 微信图片_20200306161354.jpg

3 Arduino程序


[pre]#定义 BLINKER_WIFI
#定义 BLINKER_MIOT_SENSOR    //小爱同学定义为传感器设备

#包括 < Blinker.h >
#包括 < DHT.h >

char auth [] = “ ******** ” ;    //设备密钥
char ssid [] = “ ********** ” ;         // wifi ssid
char pswd [] = “ ******** ” ;     // wifi密码

BlinkerNumber HUMI(“ humi ”);    //定义湿度数据键名
BlinkerNumber TEMP(“ temp ”);    //定义温度数据键名

#限定 DHTPIN  2       //定义DHT11模块连接管脚IO2

#定义 DHTTYPE DHT11    //使用DHT 11温度湿度模块
// #define DHTTYPE DHT22 // DHT 22(AM2302),AM2321
// #define DHTTYPE DHT21 // DHT 21(AM2301)

DHT dht(DHTPIN,DHTTYPE);    //定义dht

浮点数 humi_read = 0,temp_read = 0 ;

心跳无效()
{
    胡米 打印(humi_read);        //给blinkerapp回传湿度数据
    温度 打印(temp_read);        //给blinkerapp回传温度数据
}

void  miotQuery(int32_t queryCode)       //小爱同学语音命令反馈
{
    BLINKER_LOG(“ MIOT查询代码:”,queryCode);

            int humi_read_int = humi_read;     //去掉湿度浮点
            眨眼 humi(humi_read_int);     //小爱接收湿度
            眨眼 temp(temp_read);      //小爱接收温度
            眨眼 打印();

}


无效 设置()
{
    序列号。开始(115200);
    BLINKER_DEBUG。流(串行);
    BLINKER_DEBUG。debugAll();

    信号灯。开始(auth,ssid,pswd);   
    信号灯。attachHeartbeat(heartbeat);
    dht。开始();
    眨眼 attachQuery(miotQuery);
}

无效 循环()
{
    信号灯。运行();

    浮点数 h = dht。readHumidity();
    浮点数 t = dht。readTemperature();

    if(isnan(h)|| isnan(t))
    {
        BLINKER_LOG(“无法从DHT传感器读取!”);
    }
    其他
    {
        BLINKER_LOG(“湿度:”,h,“%”);
        BLINKER_LOG(“ Temperature:”,t,“ * C ”);
        humi_read = h;
        temp_read = t;
    }


    信号灯。延迟(2000);
}[/pre]
发表于 2020-3-9 06:36 | 显示全部楼层
谢谢楼主,代码在github上有
#define BLINKER_WIFI
#define BLINKER_MIOT_SENSOR   //小爱同学定义为传感器设备

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

char auth[] = "**********";    //设备key
char ssid[] = "**********";         //wifi ssid
char pswd[] = "**********";     //wifi 密码

BlinkerNumber HUMI("humi");    //定义湿度数据键名
BlinkerNumber TEMP("temp");    //定义温度数据键名
  
#define DHTPIN 2      //定义DHT11模块连接管脚io2

#define DHTTYPE DHT11   // 使用DHT 11温度湿度模块
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);    //定义dht

float 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);
}
发表于 2020-3-8 23:29 | 显示全部楼层
你好,麻烦从新发下你的代码,这个代码是错误的,是翻译中文后的,不对
发表于 2020-3-9 16:07 | 显示全部楼层
请问怎么定义一个esp8266的引脚作为接受开关信号呢
发表于 2020-3-18 23:13 来自手机 | 显示全部楼层
我就是问问测温准不准
 楼主| 发表于 2020-3-20 17:43 | 显示全部楼层
天竹村 发表于 2020-3-18 23:13
我就是问问测温准不准

恩还可以
发表于 2020-3-25 21:43 | 显示全部楼层
一看代码高兴死我了,ide支持中文指令了?这对于我这个英语差的人真是福音
发表于 2020-3-28 20:41 | 显示全部楼层
app上为什么不能时时更新呢?
发表于 2020-3-28 21:06 来自手机 | 显示全部楼层
itfangli 发表于 2020-3-25 21:43
一看代码高兴死我了,ide支持中文指令了?这对于我这个英语差的人真是福音 ...

不支持,目前只支持注释。
发表于 2020-5-6 02:00 | 显示全部楼层
请问能分享一下接线图吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 14:33 , Processed in 0.116205 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表