基于物聯(lián)網(wǎng)的智能電能表,采用NodeMCU ESP8266
我們家庭中用來測量能源消耗的傳統(tǒng)電能表是一種離線設(shè)備,因此必須手動監(jiān)控。但現(xiàn)在市場上有智能電能表,其讀數(shù)可以從任何地方使用互聯(lián)網(wǎng)進(jìn)行監(jiān)控,不僅是能源消耗,而且我們可以使用物聯(lián)網(wǎng)在筆記本電腦或移動設(shè)備上監(jiān)控多個參數(shù),如電壓,電流,功率因數(shù),頻率等。
所以今天我們正在使用物聯(lián)網(wǎng)構(gòu)建智能電表。在這里,我們將使用pzm - 004t交流多功能電能計量功率監(jiān)視器模塊來測量參數(shù),并將使用NodeMCU ESP8266將數(shù)據(jù)發(fā)布到HTML網(wǎng)頁。
材料
?NodeMCU ESP8266
?pzem - 004 t模塊
?CT線圈
?電路試驗板
?跳投
?連接線
pzm - 004t模塊的工作
pzm - 004tac模塊用于測量交流電壓、電流、有功功率、頻率、功率因數(shù)和有功能量。該模塊通過TTL端子輸出,可被各種微控制器讀取以供進(jìn)一步應(yīng)用。
技術(shù)特點:
?電壓測量范圍:80-260 VAC
?電流測量范圍:0-100安培
?有功功率測量范圍:0-23KW
?功率因數(shù)測量范圍:0-1
?頻率測量范圍:45- 65hz
?模塊工作電壓:5V DC
?輸出接口:TTL
Pin描述:
?VCC:模塊5V直流輸入電源
?GND:接地電基準(zhǔn)
?TX: UART數(shù)據(jù)傳輸引腳
?RX: UART數(shù)據(jù)接收引腳
物聯(lián)網(wǎng)電能表電路圖
使用NodeMCU ESP8266的基于物聯(lián)網(wǎng)的智能電能表電路圖如下:
以下是物聯(lián)網(wǎng)電能表在所有連接后的完整設(shè)置:
編程的解釋
在成功完成硬件設(shè)置之后,現(xiàn)在是時候?qū)odeMCU進(jìn)行編程了。這個智能電表的完整代碼以及視頻在本教程的最后給出。下面給出了代碼的逐步描述。
要使用Arduino IDE將代碼上傳到NodeMCU,請遵循以下步驟:
1. 打開Arduino IDE,然后進(jìn)入File - >Preferences - >Settings。
2. 在“附加板管理器URL”字段中鍵入,然后單擊“確定”。
3. 現(xiàn)在轉(zhuǎn)到Tools > Board > Boards Manager。在“單板管理器”窗口中,在搜索框中輸入ESP8266,選擇最新版本的單板,單擊“安裝”。
4. 安裝完成后,進(jìn)入“Tools ->Board ->”,選擇“NodeMCU 1.0(ESP-12E Module)”。現(xiàn)在您可以使用Arduino IDE對NodeMCU進(jìn)行編程。
完成上述設(shè)置后,使用Arduino IDE對NodeMCU進(jìn)行編程,將完整的代碼上傳到ESP8266 NodeMCU。下面給出了完整代碼的逐步解釋。
首先,在代碼中包含所有必需的庫文件。在這里,ESP8266板庫用于NodeMCU, PZEM004Tv30.h用于能源監(jiān)控模塊,可以從這里下載。
然后在類PZEM004Tv30中創(chuàng)建一個對象,該對象可以在整個程序范圍內(nèi)使用。還定義了軟件串行引腳,在我的情況下是D1和D2。
然后使用名稱服務(wù)器和默認(rèn)端口號80創(chuàng)建ESP8266WebServer類對象。
現(xiàn)在,聲明網(wǎng)絡(luò)憑據(jù),即SSID和密碼。需要將我們的NodeMCU連接到互聯(lián)網(wǎng)。
然后,將NodeMCU連接到互聯(lián)網(wǎng),調(diào)用WiFi。開始并傳遞網(wǎng)絡(luò)SSID和密碼作為參數(shù)。使用WiFi.status()檢查網(wǎng)絡(luò)連接是否成功,連接成功后,在帶有IP地址的Serial Monitor中打印一條消息。
在下一步中,將創(chuàng)建如下所示的HTML頁面,其中包含一個HTML表,用于顯示購物車中的產(chǎn)品詳細(xì)信息和賬單信息。HTML頁面存儲在一個字符串變量中,以便在客戶端請求時使用server.send()函數(shù)發(fā)送回。
在loop()中,使用專用函數(shù)(如voltage(), current()等)讀取不同的參數(shù),然后將其分配給附加在HTML網(wǎng)頁中的單獨變量。
最后,為了處理客戶機(jī)請求,我們必須調(diào)用server.handleClient()。它將處理新的請求并檢查它們。
使用NodeMCU測試基于物聯(lián)網(wǎng)的電能表
完成連接和硬件設(shè)置后,只需將代碼上傳到NodeMCU,并打開串口監(jiān)視器中打印的IP地址。您將看到如下所示。
在這里,我們連接了一個交流燈泡,以監(jiān)測燈泡消耗的能量以及其他參數(shù),如電壓,電流,功率因數(shù)等。
這里我們不必?fù)?dān)心電壓、電流、功率等的計算,因為pzem004t模塊提供的庫(PZEM004Tv30.h)有與之相關(guān)的所有功能,我們只需要調(diào)用它們來顯示相關(guān)信息。
這就是我們?nèi)绾问褂肗odeMCU ESP8266構(gòu)建基于物聯(lián)網(wǎng)的智能電能表。
本文編譯自iotdesignpro