查看: 187|回复: 5

[已解决] blinker DHT11提示Failed to read from DHT sensor!

[复制链接]
  • TA的每日心情
    奋斗
    2020-7-17 18:40
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2020-7-16 17:24 | 显示全部楼层 |阅读模式
    本帖最后由 lslcxlsl 于 2020-7-17 08:30 编辑
    1. /* *****************************************************************
    2. *
    3. * Download latest Blinker library here:
    4. * https://github.com/blinker-iot/blinker-library/archive/master.zip
    5. *
    6. *
    7. * Blinker is a cross-hardware, cross-platform solution for the IoT.
    8. * It provides APP, device and server support,
    9. * and uses public cloud services for data transmission and storage.
    10. * It can be used in smart home, data monitoring and other fields
    11. * to help users build Internet of Things projects better and faster.
    12. *
    13. * Make sure installed 2.5.0 or later ESP8266/Arduino package,
    14. * if use ESP8266 with Blinker.
    15. * https://github.com/esp8266/Arduino/releases
    16. *
    17. * Make sure installed 1.0.2 or later ESP32/Arduino package,
    18. * if use ESP32 with Blinker.
    19. * https://github.com/espressif/arduino-esp32/releases
    20. *
    21. * Docs: https://doc.blinker.app/
    22. *       https://github.com/blinker-iot/blinker-doc/wiki
    23. *
    24. * *****************************************************************
    25. *
    26. * Blinker 库下载地址:
    27. * https://github.com/blinker-iot/blinker-library/archive/master.zip
    28. *
    29. * Blinker 是一套跨硬件、跨平台的物联网解决方案,提供APP端、设备端、
    30. * 服务器端支持,使用公有云服务进行数据传输存储。可用于智能家居、
    31. * 数据监测等领域,可以帮助用户更好更快地搭建物联网项目。
    32. *
    33. * 如果使用 ESP8266 接入 Blinker,
    34. * 请确保安装了 2.5.0 或更新的 ESP8266/Arduino 支持包。
    35. * https://github.com/esp8266/Arduino/releases
    36. *
    37. * 如果使用 ESP32 接入 Blinker,
    38. * 请确保安装了 1.0.2 或更新的 ESP32/Arduino 支持包。
    39. * https://github.com/espressif/arduino-esp32/releases
    40. *
    41. * 文档: https://doc.blinker.app/
    42. *       https://github.com/blinker-iot/blinker-doc/wiki
    43. *
    44. * *****************************************************************/

    45. #define BLINKER_WIFI

    46. #include <Blinker.h>

    47. char auth[] = "8bb519c05ee0";
    48. char ssid[] = "abcd";
    49. char pswd[] = "chenxu123";

    50. BlinkerNumber HUMI("humi");
    51. BlinkerNumber TEMP("temp");

    52. // Download Adafruit DHT-sensor-library library here:
    53. // https://github.com/adafruit/DHT-sensor-library
    54. #include <DHT.h>

    55. #define DHTPIN 2

    56. #define DHTTYPE DHT11   // DHT 11
    57. //#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
    58. //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    59. DHT dht(DHTPIN, DHTTYPE);

    60. uint32_t read_time = 0;

    61. float humi_read, temp_read;

    62. void dataRead(const String & data)
    63. {
    64.     BLINKER_LOG("Blinker readString: ", data);

    65.     Blinker.vibrate();
    66.    
    67.     uint32_t BlinkerTime = millis();
    68.    
    69.     Blinker.print("millis", BlinkerTime);
    70. }

    71. void heartbeat()
    72. {
    73.     HUMI.print(humi_read);
    74.     TEMP.print(temp_read);
    75. }

    76. void setup()
    77. {
    78.     Serial.begin(115200);
    79.     BLINKER_DEBUG.stream(Serial);

    80.     pinMode(LED_BUILTIN, OUTPUT);
    81.     digitalWrite(LED_BUILTIN, LOW);

    82.     Blinker.begin(auth, ssid, pswd);
    83.     Blinker.attachData(dataRead);
    84.     Blinker.attachHeartbeat(heartbeat);
    85.    
    86.     dht.begin();
    87. }

    88. void loop()
    89. {
    90.     Blinker.run();

    91.     if (read_time == 0 || (millis() - read_time) >= 2000)
    92.     {
    93.         read_time = millis();

    94.         float h = dht.readHumidity();
    95.         float t = dht.readTemperature();        

    96.         if (isnan(h) || isnan(t)) {
    97.             BLINKER_LOG("Failed to read from DHT sensor!");
    98.             return;
    99.         }

    100.         float hic = dht.computeHeatIndex(t, h, false);

    101.         humi_read = h;
    102.         temp_read = t;

    103.         BLINKER_LOG("Humidity: ", h, " %");
    104.         BLINKER_LOG("Temperature: ", t, " *C");
    105.         BLINKER_LOG("Heat index: ", hic, " *C");
    106.     }
    107. }
    复制代码
    https://www.arduino.cn/thread-99596-1-1.html 我看这个帖子配置,测试代码 串口可以接收到数据,使用上述代码提示Failed to read from DHT sensor!
    不知道那个线没接对
  • TA的每日心情
    开心
    2020-8-11 05:09
  • 签到天数: 646 天

    [LV.9]以坛为家II

    发表于 2020-7-16 21:29 | 显示全部楼层
    换成dht11.h库试试。
  • TA的每日心情
    奋斗
    2020-7-17 18:40
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2020-7-17 08:39 | 显示全部楼层
    本帖最后由 lslcxlsl 于 2020-7-17 09:26 编辑

    在arduino库里搜 Adafruit_Sensor.h  安装Adafruit_Sensor这个库,信号线接D2
  • TA的每日心情
    开心
    2020-8-11 05:09
  • 签到天数: 646 天

    [LV.9]以坛为家II

    发表于 2020-7-17 16:07 | 显示全部楼层
    lslcxlsl 发表于 2020-7-17 08:39
    在arduino库里搜 Adafruit_Sensor.h  安装Adafruit_Sensor这个库,信号线接D2

    dht11.h库

    dht11.rar

    2.53 KB, 下载次数: 4

  • TA的每日心情
    开心
    2020-7-20 14:58
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2020-7-17 17:46 | 显示全部楼层
    刚好这几天我也在玩这个,给你分享下我的代码!有时候重插一下,重新启动下就可以了!
    目前遇到的问题是,小爱同学有时候可以读取到温度,有时候不行,湿度是一次也没有读取到过!历史数据时间轴显示异常!

    1. /* *****************************************************************
    2. *
    3. *  名称:DHT11温湿度计
    4. *  简介:DHT11温湿度传感器DATA引脚接入NodeMCU D4(GPIO2)引脚,接入小爱同学、
    5. *       小度音箱、天猫精灵,增加历史数据存储与图表查看数据的功能
    6. *  作者:MOLUN
    7. *  抖音:tymishop
    8. *  博客:https://molun.cf/
    9. *
    10. * *****************************************************************/

    11. #define BLINKER_WIFI
    12. #define BLINKER_MIOT_SENSOR
    13. #define BLINKER_DUEROS_SENSOR
    14. #define BLINKER_ALIGENIE_SENSOR

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

    17. char auth[] = "6**********3"; // Blinker APP中添加设备时生成的Secret Key
    18. char ssid[] = "tymishop"; // WIFI名称
    19. char pswd[] = "15*******5"; // WIFI密码

    20. BlinkerNumber HUMI("humi");
    21. BlinkerNumber TEMP("temp");

    22. #define DHTPIN D4

    23. #define DHTTYPE DHT11   // DHT 11
    24. //#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
    25. //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    26. DHT dht(DHTPIN, DHTTYPE);

    27. uint32_t read_time = 0;

    28. float humi_read, temp_read;

    29. void heartbeat()
    30. {
    31.     HUMI.print(humi_read);
    32.     TEMP.print(temp_read);
    33. }

    34. void miotQuery(int32_t queryCode)
    35. {
    36.     BLINKER_LOG("MIOT Query codes: ", queryCode);

    37.     switch (queryCode)
    38.     {
    39.         case BLINKER_CMD_QUERY_ALL_NUMBER :
    40.             BLINKER_LOG("MIOT Query All");
    41.             BlinkerMIOT.temp(temp_read);
    42.             BlinkerMIOT.humi(humi_read);
    43.             BlinkerMIOT.print();
    44.             break;
    45.         default :
    46.             BlinkerMIOT.temp(20);
    47.             BlinkerMIOT.humi(20);
    48.             BlinkerMIOT.print();
    49.             break;
    50.     }
    51. }

    52. void dataStorage()
    53. {
    54.     Blinker.dataStorage("temp", temp_read);
    55.     Blinker.dataStorage("humi", humi_read);
    56. }

    57. void duerQuery(int32_t queryCode)
    58. {
    59.     BLINKER_LOG("DuerOS Query codes: ", queryCode);

    60.     switch (queryCode)
    61.     {
    62.         case BLINKER_CMD_QUERY_HUMI_NUMBER :
    63.             BLINKER_LOG("DuerOS Query HUMI");
    64.             BlinkerDuerOS.humi(humi_read);
    65.             BlinkerDuerOS.print();
    66.             break;
    67.         case BLINKER_CMD_QUERY_TEMP_NUMBER :
    68.             BLINKER_LOG("DuerOS Query TEMP");
    69.             BlinkerDuerOS.temp(temp_read);
    70.             BlinkerDuerOS.print();
    71.             break;
    72.         default :
    73.             BlinkerDuerOS.temp(20);
    74.             BlinkerDuerOS.humi(20);
    75.             BlinkerDuerOS.print();
    76.             break;
    77.     }
    78. }

    79. void aligenieQuery(int32_t queryCode)
    80. {
    81.     BLINKER_LOG("AliGenie Query codes: ", queryCode);

    82.     switch (queryCode)
    83.     {
    84.         case BLINKER_CMD_QUERY_ALL_NUMBER :
    85.             BLINKER_LOG("AliGenie Query All");
    86.             BlinkerAliGenie.temp(temp_read);
    87.             BlinkerAliGenie.humi(humi_read);
    88.             BlinkerAliGenie.print();
    89.             break;
    90.         default :
    91.             BlinkerAliGenie.temp(20);
    92.             BlinkerAliGenie.humi(20);
    93.             BlinkerAliGenie.print();
    94.             break;
    95.     }
    96. }

    97. void dataRead(const String & data)
    98. {
    99.     BLINKER_LOG("Blinker readString: ", data);

    100.     Blinker.vibrate();
    101.    
    102.     uint32_t BlinkerTime = millis();
    103.    
    104.     Blinker.print("millis", BlinkerTime);
    105. }

    106. void setup()
    107. {
    108.     Serial.begin(115200);
    109.     BLINKER_DEBUG.stream(Serial);

    110.     pinMode(LED_BUILTIN, OUTPUT);
    111.     digitalWrite(LED_BUILTIN, LOW);

    112.     Blinker.begin(auth, ssid, pswd);
    113.     Blinker.attachData(dataRead);
    114.     Blinker.attachHeartbeat(heartbeat);
    115.     Blinker.attachDataStorage(dataStorage);
    116.     BlinkerMIOT.attachQuery(miotQuery);
    117.     BlinkerDuerOS.attachQuery(duerQuery);
    118.     BlinkerAliGenie.attachQuery(aligenieQuery);   
    119.     dht.begin();
    120. }

    121. void loop()
    122. {
    123.     Blinker.run();

    124.     if (read_time == 0 || (millis() - read_time) >= 2000)
    125.     {
    126.         read_time = millis();

    127.         float h = dht.readHumidity();
    128.         float t = dht.readTemperature();        

    129.         if (isnan(h) || isnan(t)) {
    130.             BLINKER_LOG("Failed to read from DHT sensor!");
    131.             return;
    132.         }

    133.         float hic = dht.computeHeatIndex(t, h, false);

    134.         humi_read = h;
    135.         temp_read = t;

    136.         BLINKER_LOG("Humidity: ", h, " %");
    137.         BLINKER_LOG("Temperature: ", t, " *C");
    138.         BLINKER_LOG("Heat index: ", hic, " *C");
    139.     }
    140. }
    复制代码


  • TA的每日心情
    开心
    2020-7-20 14:58
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2020-7-17 17:48 | 显示全部楼层
    有小度 天猫精灵的试一试是否能够正常读取数据
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    未见过的TFT屏,是什么驱动芯片?
    未见过的TFT屏,是什么驱
    这两块屏是从POS机里拆的,准备做几个锂电池组电压监测,在网上没找到资料,在这里问
    win10系统显示不出端口信息,编译后显示serial port not selected。
    win10系统显示不出端口信
    求各位哥哥帮忙,小兄弟实在不懂是win10系统的原因,还是需要安装什么驱动程式?具体
    更智能的电脑远程开关机-基于继电器
    更智能的电脑远程开关机-
    我只是刚刚入门的萌新,所以有不足请指出 先展示下 功能:开关机,开关机检测,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表