|
先在点灯科技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连上网络,手机上的点灯科技就可以随时监控温湿度了。
|
评分
-
查看全部评分
|