查看: 522|回复: 1

[分享] esp8266+dht11+bmp180温湿度气压数据存储

[复制链接]
  • TA的每日心情
    奋斗
    2020-10-14 19:55
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2020-10-25 18:53 | 显示全部楼层 |阅读模式
    esp8266+dht11+bmp180温湿度气压数据使用blinke数据记录 esp8266 dht11 bmp180电路图.jpg QQ图片20201025185246.jpg

    使用blinker自带的实例两个合并为一个,esp8266的i2c接口是D1,D2,  D1=SCL D2=SDA BMP180使用的是这两接口,bmp180使用3.3v,DHT11可以在定义为D7接口
    代码有两个问题,一个是天猫精灵关联后无法获取温湿度数据,第二个历史数据无法记录,单独dht11模块可以存历史数据。两个合并后就无法存储了。
    1. #define BLINKER_WIFI
    2. #define BLINKER_ALIGENIE_SENSOR

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

    5. char auth[] = "a9135b780e41";
    6. char ssid[] = "abc";
    7. char pswd[] = "chenxu123";

    8. BlinkerNumber HUMI("humi"); //DHT11
    9. BlinkerNumber TEMP11("temp"); //DHT11
    10. BlinkerNumber TEMP180("temp180"); // Temperature
    11. BlinkerNumber PRES("pres"); // Pressure
    12. BlinkerNumber ALTI("alti"); // Altitude

    13. #define DHTPIN D7
    14. #define DHTTYPE DHT11   // DHT 11
    15. //#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
    16. //#define DHTTYPE DHT21   // DHT 21 (AM2301)

    17. #include <Wire.h>
    18. #include <Adafruit_BMP085.h>

    19. Adafruit_BMP085 bmp;

    20. DHT dht(DHTPIN, DHTTYPE);


    21. float humi_read = 0,temp180_read = 0, temp_read = 0 , pres_read = 0, alti_read = 0 ;

    22. void heartbeat()
    23. {
    24.     HUMI.print(humi_read);
    25.     TEMP11.print(temp_read);
    26.     TEMP180.print(bmp.readTemperature());
    27.     PRES.print(bmp.readPressure());
    28.     ALTI.print(bmp.readAltitude());
    29.    
    30. }

    31. void dataStorage()
    32. {
    33.     pres_read=bmp.readPressure();
    34.     Blinker.dataStorage("temp", temp_read);
    35.     Blinker.dataStorage("humi", humi_read);
    36.     Blinker.dataStorage("pres", pres_read);
    37. }

    38. void aligenieQuery(int32_t queryCode)
    39. {
    40.     switch (queryCode)
    41.     {
    42.         case BLINKER_CMD_QUERY_ALL_NUMBER :
    43.             BLINKER_LOG("AliGenie Query All");
    44.             BlinkerAliGenie.temp(temp_read);
    45.             BlinkerAliGenie.humi(humi_read);
    46.             BlinkerAliGenie.print();
    47.             break;
    48.         case BLINKER_CMD_QUERY_TEMP_NUMBER :
    49.             BlinkerAliGenie.temp(temp_read);
    50.             BlinkerAliGenie.print();
    51.             break;
    52.         case BLINKER_CMD_QUERY_HUMI_NUMBER :
    53.             BlinkerAliGenie.humi(humi_read);
    54.             BlinkerAliGenie.print();
    55.             break;
    56.         default :
    57.             BlinkerAliGenie.temp(20);
    58.             BlinkerAliGenie.humi(20);
    59.             BlinkerAliGenie.print();
    60.             break;
    61.     }
    62. }

    63. void setup()
    64. {
    65.     Serial.begin(115200);
    66.     BLINKER_DEBUG.stream(Serial);
    67.     BLINKER_DEBUG.debugAll();
    68.     pinMode(LED_BUILTIN, OUTPUT);
    69.     digitalWrite(LED_BUILTIN, LOW);

    70.     Blinker.begin(auth, ssid, pswd);
    71.     Blinker.attachHeartbeat(heartbeat);
    72.     BlinkerAliGenie.attachQuery(aligenieQuery);
    73.     Blinker.attachDataStorage(dataStorage);
    74.     dht.begin();
    75.     if (!bmp.begin()) {
    76.        BLINKER_LOG("Could not find a valid BMP085 sensor, check wiring!");
    77.        while (1) {delay(100);}
    78.     }
    79. }

    80. void loop()
    81. {
    82.     Blinker.run();

    83.     float h = dht.readHumidity();
    84.     float t = dht.readTemperature();

    85.     if (isnan(h) || isnan(t))
    86.     {
    87.         BLINKER_LOG("Failed to read from DHT sensor!");
    88.     }
    89.     else
    90.     {
    91.         BLINKER_LOG("Humidity: ", h, " %");
    92.         BLINKER_LOG("Temperature: ", t, " *C");
    93.         humi_read = h;
    94.         temp_read = t;
    95.     }

    96.     Blinker.delay(2000);
    97. }
    复制代码



  • TA的每日心情
    奋斗
    2020-11-4 23:38
  • 签到天数: 49 天

    [LV.5]常住居民I

    发表于 2020-10-25 21:31 | 显示全部楼层
    看调试信息
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    arduino pid麦克纳姆轮小车程序详解
    arduino pid麦克纳姆轮小
    之前发过几个帖子,大家可以参考,但经过多次尝试,整套系统升级了,优化了很多地方目录:
    稚晖大佬给抄袭了??
    稚晖大佬给抄袭了??
    今天逛淘宝突然看见个小板子叫夸克,夸克???开源的就是容易抄袭啊!下面贴上这家店
    步进电机的frizing模块
    步进电机的frizing模块
    请问哪位大佬有frizing中步进电机的驱动器和限位开关,求带
    关于给esp8266编程和给arduino编程的一些疑问
    关于给esp8266编程和给ard
    本人大一学生,目前正在做创新作业,已经进行到了最后一步:arduino从onenet上调取数
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表