|
一.功能:
1. esp01采集温湿度数据上传点灯平台;
2. 手机端点灯blinkerAPP查看温湿度数据,同时通过按钮控制gpio0输出电平点亮LED。
二.材料:
1. ESP-01;
2. DHT11;
3. CH340C ESP-01下载器;
4. 10K电阻+LED;
5. 面包板;
6. 面包板专用电源模块(输出3.3V,5V);
7. 5V电源。
三.连接:
DHT11 ESP-01 电源
VCC----VCC-----3.3V
DATA----GPIO2
空
GND----GND-----GND
GPIO0-----------LED正极---LED负极---10K电阻---GND
4.源码:
#define BLINKER_PRINT Serial
#define BLINKER_WIFI //定义wifi模块
#include <Blinker.h>//包含Blinker头文件
#include <DHT11.h>//包含DHT头文件
#define DHTPIN 2
#define gpio0 0
char auth[] = "xxxxxx";//点灯平台获取Key
char ssid[] = "xxxxxx";//ESP-01所在WiFi
char pswd[] = "xxxxxx";//WiFi密码
BlinkerButton Buttongpio0("btn-gpio0");//点灯平台定义按钮名称为btn-gpio0
void Buttongpio0_callback(const String & state) {
BLINKER_LOG("gpio0状态: ", state);
if (state=="on") {
digitalWrite(gpio0,HIGH);
Buttongpio0.color("#FF0000"); //按钮btn-gpio0按下时,颜色状态显示红色
// 反馈开关状态
Buttongpio0.text("gpio0-HIGH");
Buttongpio0.print("on");
}
if(state=="off"){
digitalWrite(gpio0,LOW);
Buttongpio0.color("#000000"); //按钮btn-gpio0按下时,颜色状态显示黑色
// 反馈开关状态
Buttongpio0.text("gpio0-LOW");
Buttongpio0.print("off");
}
}
//新建数据类型组件对象,作用:将数据传输到手机blinker app
BlinkerNumber HUMI("humi"); //定义湿度数据键名
BlinkerNumber TEMP("temp"); //定义温度数据键名
DHT11 myDHT11(DHTPIN); //定义myDHT11
void heartbeat()
{
myDHT11.DHT11_Read();
TEMP.print(myDHT11.TEM_Buffer_Int); //给blinkerapp回传温度数据
HUMI.print(myDHT11.HUMI_Buffer_Int); //给blinkerapp回传湿度数据
}
void dataStorage()
{
Blinker.dataStorage("temp", myDHT11.TEM_Buffer_Int);
Blinker.dataStorage("humi", myDHT11.HUMI_Buffer_Int);
}
void setup()
{
//初始化端口
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
pinMode(gpio0, OUTPUT);
digitalWrite(gpio0, LOW);
Blinker.begin(auth, ssid, pswd);
Buttongpio0.attach(Buttongpio0_callback);
Blinker.attachHeartbeat(heartbeat);//将DHT11获取的数据传给blinker app上
Blinker.attachDataStorage(dataStorage);//调用平台数据存储函数
}
void loop()
{
Blinker.run();//运行Blinker
}
|
|