步驟1:需要什么?
這項(xiàng)工作需要:
1 流量計(jì) http://pt.aliexpress.com/item/New-Black-G1-2-Wate 。..
1 NodeMcu http://pt.aliexpress.com/item/NodeMcu-Lua-WIFI-dev 。..
或http://pt.aliexpress.com/item/V2-4M-4FLASH-NodeMcu 。..(我更喜歡這個(gè))
1 面包板(取決于NodeMcu版本,此功能適用于我上面提到的第二個(gè)http://pt.aliexpress.com/item/400-Tie-Point-Interl 。..)
3條面包板電纜,就像這樣http://pt.aliexpress.com/item/Free-shipping-Dupon 。..,您只需要3個(gè),這樣您就可以將其余的保留給其他項(xiàng)目使用。
所有代碼都是在Arduino IDE。 (https://www.arduino.cc/zh/Main/Software)
最后,我使用LUA語(yǔ)言使用ESPlorer進(jìn)行了示例,以嘗試獲得相同的結(jié)果(http://esp8266 .ru/esplorer/)
硬件連接是通過在流量計(jì)和 nodemcu 之間連接3條電纜(跳線)來(lái)完成的
電纜連接(使用面包板電纜,公對(duì)公):
將流量計(jì)的紅色電纜輸出連接到nodemcu上的3.3v引腳。
將流量計(jì)的黑色電纜輸出連接到nodemcu上的“接地”。
將流量計(jì)的黃色電纜輸出連接至nodemcu上的控制引腳(在我的情況下為D2引腳)
這就是開始,所以下一步是對(duì)nodemcu進(jìn)行編程(控制流量計(jì)中經(jīng)過的公升)。
注意:在編寫任何代碼之前,您可能需要將新固件刷入NodeMcu中,請(qǐng)使用ESP8266Flasher(https://github.com/github .com/nodemcu/nodemcu-flasher)。
我做了3個(gè)示例,將在下一步中顯示,但是我只會(huì)顯示第一個(gè)示例的代碼。
* 流量計(jì)的規(guī)格表明+/- 440“ pulses”等于1升。
步驟2:示例1
在第一個(gè)示例中,我們有:
在Arduino IDE的串行監(jiān)視器中的升數(shù);
在ESP8266中設(shè)置一個(gè)網(wǎng)絡(luò)服務(wù)器,其中顯示了來(lái)自升消耗量的數(shù)據(jù)以響應(yīng)HTTP請(qǐng)求。可以在網(wǎng)絡(luò)內(nèi)部或外部進(jìn)行對(duì)Web服務(wù)器的訪問,這需要對(duì)Wi-Fi路由器進(jìn)行相應(yīng)的設(shè)置。
通過HTTP GET請(qǐng)求,其總數(shù)升被發(fā)送到外部服務(wù)器(ThingSpeak)。有了該信息,便可以在ThingSpeak平臺(tái)(請(qǐng)參閱https://thingspeak.com/channels/120470)中顯示一個(gè)圖,可以在任何Internet終端中進(jìn)行訪問并隨時(shí)進(jìn)行分析。
可以在本地網(wǎng)絡(luò)服務(wù)器中使用“ html iframe”來(lái)顯示ThingSpeak的圖形(如上圖所示)。
已附上了該示例的完整代碼。
步驟3:示例2
在第二個(gè)示例中,我們有:
公升計(jì)數(shù)在Arduino IDE的串行監(jiān)視器中;
通過HTTP GET請(qǐng)求,將總升數(shù)發(fā)送到外部服務(wù)器(Emoncms)。通過該信息,可以在EmonCms中創(chuàng)建圖形(請(qǐng)參閱http://emoncms.org/a21210&id=32359),該圖形可以遠(yuǎn)程訪問并進(jìn)行實(shí)時(shí)分析。
可以通過將示例1中的URL替換為emoncms的輸入API中的URL來(lái)獲得此示例的代碼。
步驟4:示例3(僅ThingSpeak)
在第三個(gè)示例中,我們有:
在Arduino IDE的串行監(jiān)視器中計(jì)數(shù)的升數(shù);
通過HTTP GET請(qǐng)求,將總升數(shù)發(fā)送到外部服務(wù)器(ThingSpeak)。有了該信息,便可以在ThingSpeak平臺(tái)(請(qǐng)參閱https://thingspeak.com/channels/120470)中顯示一個(gè)圖,該圖可以在任何Internet終端中訪問并隨時(shí)進(jìn)行分析。 (現(xiàn)在由ThingSpeak網(wǎng)站頁(yè)面說(shuō)明。)
可以很容易地修改示例1中的代碼來(lái)實(shí)現(xiàn)此示例的代碼。
第5步:ESplorer示例(LUA代碼)
附帶了一些帶有LUA示例代碼的文件。
關(guān)于ESplorer和LUA:使用ESplorer(Lua代碼)與NodeMcu配合使用時(shí),可以將多個(gè)文件發(fā)送到其內(nèi)存。一方面使軟件更具模塊化,另一方面,我們可以將HTML頁(yè)面存儲(chǔ)在NodeMcu內(nèi)存中,可以在代碼上隨時(shí)調(diào)用。
有用的鏈接:
Lua示例:https://learn.adafruit.com/adafruit-huzzah-esp8266 。..
軟件ESPlorer:http://esp8266.ru/esplorer/
步驟6:最后的話。..?
和其他項(xiàng)目一樣,出現(xiàn)故障。..
NodeMcu發(fā)送隨機(jī)堆棧錯(cuò)誤,有時(shí)是由于無(wú)法連接到wifi網(wǎng)絡(luò),或者是通過使用函數(shù)attachInterrupt。
啟動(dòng)代碼時(shí),我使用的是庫(kù)ESP8266WiFiMulti.h,并決定換成庫(kù)ESP8266WiFi.h,錯(cuò)誤開始出現(xiàn)的頻率越來(lái)越低。
盡管我的編碼能力比電子技術(shù)要好一些(一點(diǎn)都不懂:P),但我一直在網(wǎng)上閱讀有關(guān)此問題的信息,但沒有運(yùn)氣。我使用了3個(gè)單位的NodeMcu(2個(gè)不同的模型)來(lái)檢查錯(cuò)誤是否來(lái)自有缺陷的錯(cuò)誤,但是沒有任何區(qū)別。
也許有人可以告訴我我哪里失敗了?
責(zé)任編輯:wv
-
遠(yuǎn)程監(jiān)控
+關(guān)注
關(guān)注
2文章
1331瀏覽量
30286 -
監(jiān)控系統(tǒng)
+關(guān)注
關(guān)注
21文章
3939瀏覽量
175849
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論