标题: esp8266温湿度连上点灯科技 [打印本页]

作者: 244512469    时间: 2021-5-25 11:16
标题: esp8266温湿度连上点灯科技
先在点灯科技app上将独立设备添加一个数据组件,然后将代码中的数据键名写入即可,最大值可设置为50。因为此次用的温湿度传感器是DH-11,测量范围是0-50℃。然后点击保存,app就设置好了。然后在arduino ide写入以下代码:#define BLINKER_WIFI //定义wifi模块
#include <Blinker.h>//包含Blinker头文件
#include <DHT.h>//包含DHT头文件

#define DHTPIN 2      //定义DHT11模块连接管脚io2

#define DHTTYPE DHT11   // 使用温度湿度模块的类型为DHT11

char auth[] = "e3d772afc0ba";  //你的设备key
char ssid[] = "iQOO";  //你的wifi 名称
char pswd[] = "123qweasd";  //你的wifi 密码

//新建数据类型组件对象,作用:将数据传输到手机blinker app
BlinkerNumber HUMI("humi");    //定义湿度数据键名
BlinkerNumber TEMP("temp");    //定义温度数据键名

DHT dht(DHTPIN, DHTTYPE);    //生成DHT对象,参数是引脚和DHT的类型

float humi_read = 0, temp_read = 0;//定义浮点型全局变量 储存传感器读取的温湿度数据

void heartbeat()
{
    HUMI.print(humi_read);        //给blinkerapp回传湿度数据
    TEMP.print(temp_read);        //给blinkerapp回传温度数据
}



void setup()//将设置代码放在此处,运行一次;
{
    //初始化端口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();

    Blinker.begin(auth, ssid, pswd); // // 初始化blinker
    Blinker.attachHeartbeat(heartbeat);//将传感器获取的数据传给blinker app上
    dht.begin();//初始化DHT传感器
    //在回调函数中反馈该控制状态
}
//通过循环不断读取温湿度传感器获取的数据
void loop() //把主代码放在这里,重复运行:
{
    Blinker.run();//运行Blinker

    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("Humidity: ", h, " %");
        BLINKER_LOG("Temperature: ", t, " *C");

        humi_read = h;//将读取到的湿度赋值给全局变量humi_read
        temp_read = t;//将读取到的温度赋值给全局变量temp_read
    }
    Blinker.delay(2000);//延时函数
}

然后上传到esp8266中,然后让esp8266连上网络,手机上的点灯科技就可以随时监控温湿度了。

Screenshot_20210525_110957.jpg (246.69 KB, 下载次数: 122)

Screenshot_20210525_110957.jpg





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1