使用Arduino IDE编译ESP8266(Wemos D1 Mini )模块+DHT11+BMP180+MQ135上传到点灯科技来查看当前温湿度气压空气质量

5 篇文章 0 订阅
5 篇文章 0 订阅

目录

重要提醒(必须看):

介绍

效果展示

一、点灯科技的配置

2、添加设备

3.加配置Blinker界面(UI)

二、代码步骤

1.引入库

2.接线(检查好是否连接正确在通电)

3.代码

存在的问题

压缩包


点灯科技的下载和注册:


点灯科技的下载网站APP那一行(安卓和苹果)在注册页面,输入手机号,并点击获取验证码,可以收到手机短信验证码,输入验证码和密码后,点击 立即注册 按钮,即可注册账号,注册成功后会进入我的设备页面。


重要提醒(必须看):

免费用户的额度:

 


介绍

使用esp8266(Wemos D1 Mini ),DHT11,BMP180,MQ135,点灯科技平台,来创造出一个可以使用手机app查看到内温湿度空气质量PM2.5气压+上传至点灯科技平台可以查到1周内温湿度气压


效果展示

 


一、点灯科技的配置


2、添加设备

通过添加设备页面,您可以添加设备到您的账号。
我的设备页面点击右上角的“+”图标,即可进入添加设备页面,具体步骤如下:

在这里插入图片描述


3.加配置Blinker界面(UI)



在这里插入图片描述
我的界面设置在压缩包里

二、代码步骤

1.引入库

代码如下(示例):

#include <MQ135.h>//MQ135
#include <Blinker.h>//点灯科技
#include <DHT.h>//DHT11
#include <Wire.h>
#include <Adafruit_BMP085.h>//BMP180

库文件在我的压缩包里


2.接线(检查好是否连接正确在通电)

  1. 开发板+5V—VVC(DHT11,MQ135)
  2. 开发板GND—GND(全部模块的)
  3. 开发板+3.3V—VVC(BMP180)
  4. 开发板D1—BMP180(SCL)
  5. 开发板D2—BMP180(SDA)
  6. 开发板A0—MQ135(A0)
  7. 开发板D4—DHT11(DAT)

3.代码

代码如下(示例):

#include <MQ135.h>
#define BLINKER_WIFI

#include <Blinker.h>
#include <DHT.h>
#include <Wire.h>
#include <Adafruit_BMP085.h>
#define DHTPIN 2      //定义DHT11模块连接管脚io2
#define DHTTYPE DHT11   // 使用温度湿度模块的类型为DHT11
const int ANALOGPIN =0;
char auth[] = "*****";//*****修改成生成密钥(key)
char ssid[] = "*******";//*****修改WLAN
char pswd[] = "*******";//*****修改WLAN密码


BlinkerNumber TEMP("temp"); // 定义BMT180温度数据键名
BlinkerNumber PRES("pres"); // 定义BMT180气压数据键名
BlinkerNumber HUMI("cemp"); //定义DHT11湿度数据键名
BlinkerNumber CEMP("humi"); //定义DHT11温度数据键名
BlinkerNumber CEMC("humc"); //定义QM135数据键名
DHT dht(DHTPIN, DHTTYPE);    //生成DHT对象,参数是引脚和DHT的类型
MQ135 gasSensor = MQ135(ANALOGPIN);
float humi_read, temp_read;//定义浮点型全局变量 储存DHT11读取的温湿度数据
volatile float ad;
volatile float bd;
float cd = 0;
Adafruit_BMP085 bmp;

void heartbeat()
{
    TEMP.print(ad);//反馈数据
    PRES.print(bd);//反馈数据
    HUMI.print(humi_read);//反馈数据
    CEMP.print(temp_read);//反馈数据
    CEMC.print(cd);//反馈数据
}
void dataStorage()//云存储温湿度数据函数
{
    Blinker.dataStorage("temp", ad);//存BMP180储温度
    Blinker.dataStorage("pres", bd);//存BMP1880储气压
    Blinker.dataStorage("cemp", humi_read);//存DHT11储温度
    Blinker.dataStorage("humi", temp_read);//存DHT11储湿度
}
void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    Blinker.begin(auth, ssid, pswd);
    Blinker.attachHeartbeat(heartbeat);
    Blinker.attachDataStorage(dataStorage);
    dht.begin();
    bmp.begin());

    }
}
void loop() //把主代码放在这里,重复运行:
{
    Blinker.run();//运行Blinker
    getDHT();
    getBMP();
    getMQ();
}
void getDHT()
{
    float h = dht.readHumidity();//读取DHT11传感器的湿度 并赋值给h
    float t = dht.readTemperature();//读取传感器的温度   并赋值给t
    if (isnan(h) || isnan(t))//判断是否成功读取到温湿度数据
    {
        BLINKER_LOG("Failed to read from DHT sensor!");//读取温湿度失败!
    }
    else//成功读取到数据
    {   
        //打印
        BLINKER_LOG("DHT11湿度: ", h, " %");
        BLINKER_LOG("DHT11温度: ", t, " *C");
        
        humi_read = h;//将读取到的湿度赋值给全局变量humi_read
        temp_read = t;//将读取到的温度赋值给全局变量temp_read
        delay(10);//延时函数
    }
}
void getBMP()
{
     if (!bmp.begin()) {
      BLINKER_LOG("找不到有效的BMP180传感器,请检查接线!");
      return;}
    }
    float a = bmp.readTemperature();//读取BMP180传感器的湿度 并赋值给c
    float b = bmp.readPressure();//读取BMP180传感器的湿度 并赋值给b
    {   
        //打印
        BLINKER_LOG("BMP180温度: ", a, "C");
        BLINKER_LOG("气压: ", b, " *Pa");
        
        ad = a;//将读取到的温度赋值给全局变量ad
        bd = b;//将读取到的气压赋值给全局变量bd
        delay(10);//延时函数
    }
}
void getMQ()
{
   float c = gasSensor.getPPM();//测MQ135
 {   
        //打印
        BLINKER_LOG("getPPM: ", c, "PPM");
       cd = c;//将读取到的温度赋值给全局变量ad    
   } 
 Blinker.delay(100);//延时函数 
 }

在我的压缩包里


压缩包

https://www.123pan.com/s/RMm9-i6qSh.html

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值