|
先在點(diǎn)燈科技app上將獨(dú)立設(shè)備添加一個(gè)數(shù)據(jù)組件,然后將代碼中的數(shù)據(jù)鍵名寫(xiě)入即可,最大值可設(shè)置為50。因?yàn)榇舜斡玫臏貪穸葌鞲衅魇荄H-11,測(cè)量范圍是0-50℃。然后點(diǎn)擊保存,app就設(shè)置好了。然后在arduino ide寫(xiě)入以下代碼:#define BLINKER_WIFI //定義wifi模塊
#include <Blinker.h>//包含Blinker頭文件
#include <DHT.h>//包含DHT頭文件
#define DHTPIN 2 //定義DHT11模塊連接管腳io2
#define DHTTYPE DHT11 // 使用溫度濕度模塊的類型為DHT11
char auth[] = "e3d772afc0ba"; //你的設(shè)備key
char ssid[] = "iQOO"; //你的wifi 名稱
char pswd[] = "123qweasd"; //你的wifi 密碼
//新建數(shù)據(jù)類型組件對(duì)象,作用:將數(shù)據(jù)傳輸?shù)绞謾C(jī)blinker app
BlinkerNumber HUMI("humi"); //定義濕度數(shù)據(jù)鍵名
BlinkerNumber TEMP("temp"); //定義溫度數(shù)據(jù)鍵名
DHT dht(DHTPIN, DHTTYPE); //生成DHT對(duì)象,參數(shù)是引腳和DHT的類型
float humi_read = 0, temp_read = 0;//定義浮點(diǎn)型全局變量 儲(chǔ)存?zhèn)鞲衅髯x取的溫濕度數(shù)據(jù)
void heartbeat()
{
HUMI.print(humi_read); //給blinkerapp回傳濕度數(shù)據(jù)
TEMP.print(temp_read); //給blinkerapp回傳溫度數(shù)據(jù)
}
void setup()//將設(shè)置代碼放在此處,運(yùn)行一次;
{
//初始化端口
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
Blinker.begin(auth, ssid, pswd); // // 初始化blinker
Blinker.attachHeartbeat(heartbeat);//將傳感器獲取的數(shù)據(jù)傳給blinker app上
dht.begin();//初始化DHT傳感器
//在回調(diào)函數(shù)中反饋該控制狀態(tài)
}
//通過(guò)循環(huán)不斷讀取溫濕度傳感器獲取的數(shù)據(jù)
void loop() //把主代碼放在這里,重復(fù)運(yùn)行:
{
Blinker.run();//運(yùn)行Blinker
float h = dht.readHumidity();//讀取DHT11傳感器的濕度 并賦值給h
float t = dht.readTemperature();//讀取傳感器的溫度 并賦值給t
if (isnan(h) || isnan(t))//判斷是否成功讀取到溫濕度數(shù)據(jù)
{
BLINKER_LOG("Failed to read from DHT sensor!");//讀取溫濕度失!
}
else//成功讀取到數(shù)據(jù)
{
//打印
BLINKER_LOG("Humidity: ", h, " %");
BLINKER_LOG("Temperature: ", t, " *C");
humi_read = h;//將讀取到的濕度賦值給全局變量humi_read
temp_read = t;//將讀取到的溫度賦值給全局變量temp_read
}
Blinker.delay(2000);//延時(shí)函數(shù)
}
然后上傳到esp8266中,然后讓esp8266連上網(wǎng)絡(luò),手機(jī)上的點(diǎn)燈科技就可以隨時(shí)監(jiān)控溫濕度了。
|
評(píng)分
-
查看全部評(píng)分
|