如何將DHT11傳感器數(shù)據(jù)從NodeMCU發(fā)布到Modbus TCP/IP服務(wù)器
介紹
Modbus TCP是一種開(kāi)放的通信協(xié)議,用于工業(yè)自動(dòng)化系統(tǒng)中通過(guò)以太網(wǎng)連接設(shè)備。Modbus TCP利用TCP/IP協(xié)議建立設(shè)備間的通信。NodeMCU是一個(gè)圍繞ESP8266 Wi-Fi模塊構(gòu)建的開(kāi)源開(kāi)發(fā)板。NodeMCU單板用于連接傳感器和執(zhí)行器與Modbus TCP服務(wù)器。在這篇博文中,我們將討論如何將DHT11傳感器數(shù)據(jù)從NodeMCU發(fā)布到Modbus TCP服務(wù)器。
NodeMCU和DHT11傳感器
NodeMCU是一款基于ESP8266 Wi-Fi模塊的開(kāi)發(fā)板。該板具有內(nèi)置Wi-Fi功能,可以使用Arduino IDE進(jìn)行編程。DHT11是與NodeMCU配套使用的溫濕度傳感器。傳感器有四個(gè)引腳,VCC, GND, Data和NC(未連接)。傳感器的數(shù)據(jù)引腳連接到NodeMCU的數(shù)字引腳上。
向Modbus TCP服務(wù)器發(fā)布DHT11傳感器數(shù)據(jù)
為了將DHT11傳感器數(shù)據(jù)發(fā)布到Modbus TCP服務(wù)器,我們需要在NodeMCU和Modbus TCP服務(wù)器之間建立連接。下面的代碼演示了如何在NodeMCU和Modbus TCP服務(wù)器之間建立連接并發(fā)布DHT11傳感器數(shù)據(jù)。
上面的代碼使用WiFi.begin()函數(shù)建立到Wi-Fi網(wǎng)絡(luò)的連接。
?mb.server()函數(shù)用于初始化Modbus TCP服務(wù)器。
?addhreg()函數(shù)的作用是:為溫度和濕度添加Modbus寄存器。
?函數(shù)的作用是初始化DHT11傳感器。
?mb.task()函數(shù)用于處理Modbus TCP請(qǐng)求。
?dht.readTemperature()和dht.readHumidity()函數(shù)從傳感器讀取溫度和濕度值。
?mb.Hreg()函數(shù)將溫度和濕度值保存在Modbus寄存器中。
結(jié)論
在這篇博文中,我們討論了如何將DHT11傳感器數(shù)據(jù)從NodeMCU發(fā)布到Modbus TCP服務(wù)器。我們學(xué)習(xí)了如何在NodeMCU和Modbus TCP服務(wù)器之間建立連接,以及如何讀取傳感器數(shù)據(jù)并將其保存到Modbus寄存器。Modbus TCP是工業(yè)自動(dòng)化系統(tǒng)中廣泛使用的協(xié)議,NodeMCU是一種多功能開(kāi)發(fā)板,可用于將傳感器和執(zhí)行器連接到Modbus TCP服務(wù)器。
本文編譯自hackster.io





