步驟1:我用的東西
對于我的試用,我想使用ESP8266讀取數(shù)字溫度計并將結(jié)果傳輸?shù)骄W(wǎng)站以進行可視化。
這是我用的東西:
1個ESP8266-E12
1個與Arduino兼容的DS18B20數(shù)字溫度傳感器
1個3.7v鋰離子電池(
第2步:連接一切
好吧,我不會講究所有的棘手問題,因為那里有更好的說明,但是所附的圖是一個很好的起點
主要要點是:
1。我用一個迷你面包板將ESP和溫度計連接到電池上。
2。我使用了USB到TTL轉(zhuǎn)換器(也從速賣通購買)。將您的代碼上傳到ESP板使生活變得輕松愉快。
3。 Arduino IDE用來編寫和上傳程序
第3步:Arduino代碼
所以這就是ESP8266的美。我們可以完全避免使用arduino板,而只使用ESP本身。
我的程序很簡單:
1。讀取溫度傳感器
2。將數(shù)據(jù)發(fā)送到網(wǎng)頁
3。將ESP板置于睡眠模式。
第3步是最關(guān)鍵的,因為我們希望該電池依靠電池運行,并因此使用盡可能少的功率。為此,我們調(diào)用ESP的deepSleep()命令,并為該函數(shù)傳遞持續(xù)時間以喚醒它。結(jié)果,程序只運行一次,并且只能運行到deepSleep()命令。當(dāng)板卡喚醒時,它將執(zhí)行重置并再次啟動程序。
以下是主要代碼段:
溫度= sensor.getTempCByIndex(0);
t = Temperature.toFloat()* 100;
//我將其乘以100,以便可以將完整的整數(shù)傳遞給網(wǎng)頁
///在網(wǎng)頁上,我再除以100得到完整的十進制值。
溫度=字符串(t);
//為什么選擇“ byIndex”?//同一總線上可以有多個IC。
//0表示線路上的第一個IC
sendToWeb(Temperature);////我的網(wǎng)頁是一個簡單的PHP頁面,需要一個參數(shù)
///我只是簡單地執(zhí)行HTTP GET來傳遞數(shù)據(jù)。
ESP.deepSleep(SLEEPTIMEINSECONDS * 1000000) ;
延遲(1000);//永遠不要到達這里
第4步:網(wǎng)頁
該網(wǎng)站由兩個方面組成:
1。一個接受溫度信息的PHP頁面,并將數(shù)據(jù)與溫度讀數(shù)的相應(yīng)日期和時間一起寫入txt文件。當(dāng)心您的Web服務(wù)器所在的時區(qū)。我發(fā)現(xiàn)我的網(wǎng)站位于美國的某個地方(我在歐洲),并保存了美國當(dāng)?shù)氐娜掌跁r間。通過在PHP代碼中設(shè)置時區(qū),可以輕松解決此問題。
2。顯示溫度圖表的HTML + javscript頁面。
這有點棘手,因為我沒有開發(fā)網(wǎng)站圖表的經(jīng)驗。但這就是Internet和開放源碼之美的體現(xiàn)。我很快通過www.amcharts.com/javascript-charts找到了一個超酷的javascript圖表庫。圖書館員真是太好了!我使用了免費版本,還能夠找到有關(guān)如何加載txt文件的示例。稍作調(diào)整,我就在屏幕上顯示了我的溫度數(shù)據(jù),并能夠放大和縮小。
-
溫度傳感器
+關(guān)注
關(guān)注
48文章
3028瀏覽量
158227 -
LED顯示屏
+關(guān)注
關(guān)注
36文章
1845瀏覽量
100778 -
ESP8266
+關(guān)注
關(guān)注
51文章
965瀏覽量
46959
發(fā)布評論請先 登錄
esp32和esp8266代碼共用嗎
esp8266和esp32區(qū)別是什么
esp8266不燒錄可以使用嗎
esp8266wifi模塊怎么連接手機
Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

評論