www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 物聯(lián)網(wǎng) > IoT設(shè)計分享
[導(dǎo)讀]在本教程中,我們將制作一個基于ESP32的氣象站,我們將在其中構(gòu)建一個ESP32 web服務(wù)器,以在web瀏覽器上顯示溫度,濕度,壓力,亮度和海拔值。其中DHT11傳感器用于獲取溫度和濕度數(shù)據(jù),BMP180傳感器用于獲取壓力和海拔數(shù)據(jù),LDR傳感器用于獲取光度數(shù)據(jù)。這些天氣數(shù)據(jù)可以從世界任何地方使用ESP32的IP地址進行監(jiān)控。它也可以上傳到ThingSpeak,使其更具互動性,就像我們在樹莓派氣象站所做的那樣。

在本教程中,我們將制作一個基于ESP32的氣象站,我們將在其中構(gòu)建一個ESP32 web服務(wù)器,以在web瀏覽器上顯示溫度,濕度,壓力,亮度和海拔值。其中DHT11傳感器用于獲取溫度和濕度數(shù)據(jù),BMP180傳感器用于獲取壓力和海拔數(shù)據(jù),LDR傳感器用于獲取光度數(shù)據(jù)。這些天氣數(shù)據(jù)可以從世界任何地方使用ESP32的IP地址進行監(jiān)控。它也可以上傳到ThingSpeak,使其更具互動性,就像我們在樹莓派氣象站所做的那樣。

在基于物聯(lián)網(wǎng)的應(yīng)用中,web服務(wù)器用于使用web瀏覽器控制或監(jiān)控任何傳感器值,我們以前使用Arduino, ESP8266, NodeMCU, ESP32,樹莓派等創(chuàng)建了許多web服務(wù)器。

DHT11溫濕度傳感器

DHT11傳感器在測量溫度和濕度方面非常流行,我們以前使用DHT11與其他微控制器(如Arduino, Raspberry Pi等)建立氣象站。它經(jīng)過工業(yè)校準,并提供數(shù)字輸出,使其非常容易與所有類型的mcu接口。它只有3個引腳(數(shù)據(jù),Vcc和GND),如下圖所示。

在這里查看所有基于DHT11的項目。

BMP180壓力傳感器

BMP180是一種氣壓傳感器,主要用于測量高度。它還有一個內(nèi)置的溫度傳感器。它與I2C接口一起工作。BMP180傳感器測量周圍空氣的絕對壓力。壓力值取決于天氣和海拔高度。

組件的要求

?ESP32 Dev模塊

?DHT11溫濕度傳感器

?BMP180壓力傳感器

?LDR(光相關(guān)電阻)

?電阻

?電路試驗板

?公母線

ESP32 Wi-Fi氣象站電路圖

ESP32, DHT11和BMP180連接:

?連接ESP32的D22引腳(SCL) - BMP180的> SCL引腳

?連接ESP32的D21引腳(SDA) - BMP180的> SDA引腳

?連接ESP32的D13引腳-> DHT11的數(shù)據(jù)引腳

?連接ESP32的D12引腳-分壓器的>輸出

?連接ESP32 3.3v引腳->傳感器Vcc

?連接ESP32的GND ->傳感器的GND

代碼的解釋

在這里,ESP32是用Arduino IDE編程的,在項目結(jié)束時給出了完整的代碼和演示視頻。

我們還需要為這個基于物聯(lián)網(wǎng)的氣象站提供四個庫- WiFi, DHT(用于DHT傳感器),Adafruit_BMP085(用于BMP180)和Wire(用于I2C)。

從以下鏈接下載這些庫:DHT11庫,BMP180,并通過在Sketch菜單中的Include庫將它們安裝在Arduino IDE中。

首先,包括所有必需的庫。

然后,初始化變量并為DHT11、BMP180、Wi-Fi名稱、Wi-Fi密碼和代碼中使用的其他一些變量創(chuàng)建實例。

接下來,聲明一個Wi-Fi庫的對象來訪問它的函數(shù)。所形成的實例的參數(shù)將是服務(wù)器正在偵聽的端口號。因為80是HTTP的默認端口,所以我們將使用這個值。

在Void setup()函數(shù)中,使用.begin()函數(shù)初始化波特率,DHT傳感器和BMP180,然后使用WiFi將模塊與Wi-Fi連接。開始(ssid、密碼);函數(shù)。

現(xiàn)在,使用server.begin()啟動服務(wù)器;功能,打印ESP32的IP地址。此IP地址將用于在瀏覽器上訪問天氣數(shù)據(jù)。

在void loop()函數(shù)中,通過讀取LDR連接的模擬引腳12來獲得亮度。此外,使用dht.read()函數(shù)獲取以攝氏度和華氏度為單位的溫度,并將該數(shù)據(jù)存儲在不同的變量中。然后,使用bmp獲取高度和壓力。readPressure函數(shù)。壓強的單位是毫巴。然后,將此數(shù)據(jù)打印到串行監(jiān)視器上。

ESP32默認具有12位ADC,因此LDR讀數(shù)將在0-4095之間,其中4095被認為是最大亮度,0被認為是最小亮度。

接下來,使用HTML設(shè)計web頁面,并使用client.println()函數(shù)發(fā)送每一行。

要裝飾頁面,請使用CSS為文本和背景設(shè)置樣式。您可以更改下面幾行中的屬性來更改顏色、字體和其他樣式。

然后使用。創(chuàng)建除法標簽為每個參數(shù),即壓力,溫度,濕度,海拔,和亮度。另外,為這些參數(shù)定義不同的屬性。

類似地,為其他參數(shù)創(chuàng)建division類,并關(guān)閉HTML和body標記。

測試ESP32氣象站

現(xiàn)在,將ESP32與筆記本電腦連接,正確選擇電路板和端口,然后點擊上傳按鈕。確保您的筆記本電腦或智能手機與ESP32共享相同的Wi-Fi網(wǎng)絡(luò)。

上傳代碼后,打開串口監(jiān)視器。使串行監(jiān)視器波特率為115200。您將在監(jiān)視器中看到IP地址,只需復(fù)制此IP并將其粘貼到瀏覽器中。

因此,通過在地址欄中復(fù)制粘貼IP地址,在web瀏覽器中打開該IP地址,您將看到一個網(wǎng)頁,顯示所有天氣數(shù)據(jù),如溫度、濕度、壓力、海拔和光度。此頁面每隔10秒自動刷新一次。

因此,這就是如何使用ESP32, DHT11和BMP180傳感器輕松構(gòu)建完整的氣象站。通過在路由器設(shè)置中啟用端口轉(zhuǎn)發(fā),可以從世界任何地方監(jiān)控此數(shù)據(jù)。

本文編譯自iotdesignpro

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉