查看: 3801|回复: 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程序


#定义 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);
}
  • TA的每日心情
    无聊
    2020-2-27 14:44
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-8 23:29 | 显示全部楼层
    你好,麻烦从新发下你的代码,这个代码是错误的,是翻译中文后的,不对
  • TA的每日心情
    奋斗
    2020-3-24 10:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 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);
    }
  • TA的每日心情
    开心
    2020-2-19 20:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-9 16:07 | 显示全部楼层
    请问怎么定义一个esp8266的引脚作为接受开关信号呢
  • TA的每日心情
    奋斗
    2020-3-19 09:41
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2020-3-18 23:13 来自手机 | 显示全部楼层
    我就是问问测温准不准

    该用户从未签到

     楼主| 发表于 2020-3-20 17:43 | 显示全部楼层
    天竹村 发表于 2020-3-18 23:13
    我就是问问测温准不准

    恩还可以
  • TA的每日心情
    开心
    2020-4-10 00:00
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2020-3-25 21:43 | 显示全部楼层
    一看代码高兴死我了,ide支持中文指令了?这对于我这个英语差的人真是福音

    该用户从未签到

    发表于 2020-3-28 20:41 | 显示全部楼层
    app上为什么不能时时更新呢?
  • TA的每日心情
    无聊
    2020-4-11 11:38
  • 签到天数: 128 天

    [LV.7]常住居民III

    发表于 2020-3-28 21:06 来自手机 | 显示全部楼层
    itfangli 发表于 2020-3-25 21:43
    一看代码高兴死我了,ide支持中文指令了?这对于我这个英语差的人真是福音 ...

    不支持,目前只支持注释。

    该用户从未签到

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

    本版积分规则

    热门推荐

    【花雕动手做】快餐盒盖,极低成本搭建机器人实验平台
    【花雕动手做】快餐盒盖,
    吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成
    关于串口通信协议的激光测距模块问题
    关于串口通信协议的激光测
    采用的是60m相位单点红外激光测距模组,模块与arduino mega采用串口相连接。模块为串
    DIY X-Y 平面激光器
    DIY X-Y 平面激光器
    DIY X-Y 平面激光器 总成本不到50元,性能一点不比市面的差. Arduino UNO x1 舵机 x2
    连杆形式的腿机构十一种:盘点机器人行走背后的机械原理
    连杆形式的腿机构十一种:
    机器人概念已经红红火火好多年了,目前确实有不少公司已经研制出了性能非常优越的机器
    【Arduino】108种传感器模块系列实验(21)--激光头传感器模块
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表