|
先在點燈科技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連上網絡,手機上的點燈科技就可以隨時監控溫濕度了。
|
評分
-
查看全部評分
|