wemos d1 採集溫度資料上傳到mqtt伺服器

2021-09-10 06:17:29 字數 1507 閱讀 7987

用到的硬體:1.wemos d1板。2.dh1感測器。3.樹莓派。

實驗步驟:1.樹莓派安裝mqtt伺服器,並驗證。

2.wemos 連線dh1測試。

dh1感測器有四個引腳連線如下圖

wemos **如下

#include #include #include "dht.h"

#define dhtpin d4//定義感測器引腳

#define dhttype dht11//定義感測器型別

dht dht(dhtpin, dhttype);

const char* ssid = "路由器名";

const char* password = "路由器密碼";

const char* mqtt_server = "192.168.10.82"; // 伺服器位址

const int port = 1883;//伺服器端口號

const char* topic_name = "home/status/";

const char*client_id = "wemos001";

unsigned long lastsend;

wificlient espclient;

pubsubclient client(espclient);

//獲取溫濕度資料

void gettemp()

serial.print("濕度:");

serial.print(h);

serial.print("%\t");

serial.print("氣溫:");

serial.print(t);

serial.println("℃;");

string temperature = string(t);

string humidity = string(h);

string payload = "";

char attributes[100];

payload.tochararray( attributes, 100 );

client.publish(topic_name, attributes );

}//初始化wifi

void setup_wifi()

}//連線伺服器

void reconnect()else

}}void setup()

void loop()

client.loop();

}

成功的話,arduino串列埠監視器和樹莓派terminal分別有如下輸出

Wemos D1 超聲測距

四個引腳 vcc 正極 trig 觸發 echo 回應 gdn 接地 define echo d2 define trig d8 long gettime pulsein函式會等待引腳變為high,開始計算時間,再等待變為low並停止計時 返回脈衝的長度 聲速是 340m 1s 換算成 34000c...

基於wemosD1晶元的智慧型小車

實現小車自動避障功能,當距離小於設定的距離時,蜂鳴器會響,同時小車也會後退。用串列埠進行除錯,手機tcp軟體進行控制。esp 8266的wemos晶元,蜂鳴器,超聲波模組和驅動電機模組和sg90電機 wifi名字 char passwd lh19981112 wifi密碼 int port 8888...

wemos D1採集JY 61六軸姿態感測器

wemos d1只有乙個半串列埠,由於我需要用電腦顯示獲取的資料,該串列埠被占用了,所以需要採用軟串列埠來獲取jy 61資料。關於軟串列埠的相關知識可以參看softwareserial。include include includesoftwareserial espserial 14,12 rx,...