該系統(tǒng)是一個(gè)基于ESP32NodeMCU的空氣質(zhì)量監(jiān)測(cè)系統(tǒng),用于檢查PM、顆粒物(PM)以及濕度以及溫度、海拔和壓力。對(duì)位置環(huán)境的各個(gè)方面進(jìn)行測(cè)試,然后顯示在TFT屏幕上,并使用ThingSpeakIoT(物聯(lián)網(wǎng))平臺(tái)。
顆粒物
灰塵和PM會(huì)對(duì)人體構(gòu)成健康風(fēng)險(xiǎn)。PM2.5的直徑可以小于2.5微米,PM10的寬度也可以小于10微米。這意味著PM10報(bào)告也將包括PM2.5。這兩種顆粒都比人的頭發(fā)短,人的頭發(fā)直徑約為70微米。
PM10
諸如碎石、磨煤、水泥行業(yè)內(nèi)的回轉(zhuǎn)窯等操作,以及移動(dòng)車輛攪動(dòng)的道路上的灰塵,都會(huì)增加PM10的水平。24小時(shí)PM10限值為150ug/m3。
PM2.5
它是由任何類型的燃燒產(chǎn)生的細(xì)顆粒的結(jié)果,例如機(jī)動(dòng)車輛熱電廠、住宅中的木材燃燒、與森林有關(guān)的農(nóng)業(yè)燃燒火災(zāi)以及各種其他工業(yè)過程。24小時(shí)平均值的PM2.5限值為35ug/m3。
電路
它由ESP32NodeMCUSDS011、BME280ILI9163TFT顯示屏、電阻以及晶體管2N2219組成。ESP32NodeMCU位于該電路的中心部分。
基于物聯(lián)網(wǎng)的空氣質(zhì)量系統(tǒng)示意圖如圖所示:
ESP32NodeMCU:
它是一款集成了Wi-Fi和雙模藍(lán)牙的低功耗(MCU)微控制器。它是早期ESP8266微控制器的升級(jí)版。ESP32如圖所示。可以使用ArduinoIDE將代碼發(fā)送到ESP32NodeMCU。(EFY實(shí)驗(yàn)室使用ESP-Wroom-32版本1.1來測(cè)試草圖。)
TFT顯示屏
在測(cè)試過程中使用了帶有支持SPI串行總線技術(shù)的彩色顯示屏的3.65厘米(1.44英寸)觸摸屏。
SDS011。Nova的粉塵探測(cè)器SDS011可以說是在尺寸、精度和成本方面最有效的顆粒物傳感器之一。它帶有一個(gè)UART接口,測(cè)量精度為0.3ug/m3。工作電壓5V。
BME280
為了讀取溫度和壓力以及相對(duì)濕度,采用了經(jīng)濟(jì)實(shí)惠的BME280模塊。
2N2219
晶體管2N2219(T1)可用作SDS011中的開關(guān)。它的集電極連接到SDS011的GND引腳,發(fā)射極連接到電路的地。如果ESP32的15腳為高電平,邏輯T1導(dǎo)通,SDS011通過T1接地。否則SDS011無法接地。
ThingSpeak,一個(gè)基于物聯(lián)網(wǎng)的平臺(tái)
該項(xiàng)目建立在ThingSpeak云計(jì)算之上。ThingSpeak是一個(gè)開源物聯(lián)網(wǎng)應(yīng)用程序和API,允許您通過LAN使用HTTP協(xié)議通過Internet存儲(chǔ)和檢索設(shè)備中的數(shù)據(jù)。它允許開發(fā)傳感器記錄軟件、位置跟蹤應(yīng)用程序以及提供狀態(tài)更新的社交網(wǎng)絡(luò)。如果您定期將數(shù)據(jù)從傳感器傳輸?shù)絋hingSpeak,它將生成數(shù)據(jù),然后將其存儲(chǔ)并實(shí)時(shí)顯示趨勢(shì)。它還具有內(nèi)置的數(shù)學(xué)建模作為免費(fèi)提供的MATLAB文檔。
帳戶和頻道設(shè)置。在www.thingspeak.com上設(shè)置帳戶和頻道。為此,您需要有一個(gè)有效的電子郵件帳戶。該網(wǎng)站將向您發(fā)送一封確認(rèn)電子郵件。按照電子郵件中的鏈接確認(rèn)您的帳戶并建立一個(gè)帳戶。
從這一點(diǎn)開始,您可以制作任意數(shù)量的頻道。如果您創(chuàng)建一個(gè)頻道,您將收到三個(gè)ThingSpeak身份,例如頻道ID、用于寫入的API密鑰和用于讀取的API密鑰。記下這些,以防您將來需要這些以使用程序源。每個(gè)通道最多八個(gè)傳感器信息,例如PM2.5和PM10溫度和高度、相對(duì)濕度和壓力。
每個(gè)通道八個(gè)數(shù)據(jù)。每個(gè)通道能夠接收來自各種設(shè)備的八個(gè)數(shù)據(jù)信號(hào)。這意味著,使用ThingSpeakAPI,您將能夠?yàn)槊總€(gè)頻道上傳8個(gè)數(shù)據(jù)。然后使用ThingSpeak收集、記錄數(shù)據(jù)并轉(zhuǎn)換為趨勢(shì)數(shù)據(jù),例:https://thingspeak.com/channels/279012
軟件
該項(xiàng)目的軟件(environment_thingspeak.in)是用Arduino編程語(yǔ)言編寫的。PM2.5和PM10都與相對(duì)濕度(RH)有關(guān)。
因此有必要在軟件(或草圖)中添加一個(gè)RH校正來調(diào)整讀數(shù)。
ESP32上的SDS011。ESP32在ArduinoIDE上運(yùn)行。由于Arduino是一項(xiàng)尖端技術(shù),因此幾乎所有傳感器都有一個(gè)應(yīng)用程序庫(kù)。對(duì)于SDS011,有一個(gè)現(xiàn)成可用的庫(kù),它使用可直接與ArduinoUno一起使用的SoftwareSerial庫(kù)。
ESP32與SoftwareSerial不兼容。它帶有三個(gè)UART端口,并利用HardwareSerial連接UART設(shè)備?,F(xiàn)有的命令和庫(kù)可以與硬件串行結(jié)合使用,以從傳感器獲取PM信息。這些命令存儲(chǔ)在data.h文件中。它應(yīng)該與Arduino草圖保存在同一位置,然后通常與草圖一起編譯。
SDS011在SDS011模式下休眠。根據(jù)規(guī)格,SDS011可以有2mA的休眠電流。傳感器很少處于睡眠模式。此外,與睡眠相關(guān)的命令已包含在data.h文件中,以便您進(jìn)行測(cè)試。但是,GPIO13(第15腳)用于接通NPN晶體管(2N2219)以確保SDS011在活動(dòng)階段保持運(yùn)行,然后將其切換到斷電模式。
我正在將程序上傳到ESP32。然后一切都準(zhǔn)備好由您執(zhí)行。將設(shè)備連接到PCB或Veroboard以實(shí)現(xiàn)通用目的。連接到ESP32的USB電源。
啟動(dòng)ArduinoIDE并添加ESP32庫(kù)和任何其他相關(guān)庫(kù)。打開Arduino代碼(environment_thingspeak.info)。
在開始草圖時(shí)更改或提供Wi-FiID和密碼。將ThingSpeak頻道編號(hào)替換為您的頻道編號(hào)以及API密鑰和API密鑰。
通過選擇Tools(r)Board選項(xiàng)下方的下拉菜單來選擇ESP32DebModule。之后,在Tools(r)Port選項(xiàng)下方的下拉菜單中選擇正確的USB端口。按上傳。
如果一切正常,您的程序?qū)㈤_始通過ESP32板進(jìn)行通信,并將代碼上傳到ESP32MCU。
幾分鐘后,您將能夠看到PM2.5或PM10以及TFT顯示屏上顯示的其他信息。類似的數(shù)據(jù)將顯示在Arduino的串口監(jiān)視器上。
在任何Internet瀏覽器中啟動(dòng)ThingSpeak頻道。您的智能手機(jī)瀏覽器也可以使用。數(shù)據(jù)完美堆疊,如圖所示:
測(cè)試
空氣質(zhì)量監(jiān)測(cè)系統(tǒng)實(shí)際尺寸的PCB布局如圖所示:
如果一切正常,您就能觀察空氣質(zhì)量監(jiān)測(cè)器TFT顯示屏上正確的值。
可能的拓展
項(xiàng)目中SDS011由5V供電。但是,您可以將2節(jié)3.7V鋰離子電池與極小的線性穩(wěn)壓器(例如7805)一起使用,以降壓至5V。
您還可以使用一個(gè)極小的轉(zhuǎn)換器將電壓提升到1.5V至5V。您可以使用一節(jié)鋰聚合物電池和轉(zhuǎn)換器,使其成為便攜式設(shè)備。
-
mcu
+關(guān)注
關(guān)注
146文章
17123瀏覽量
350973 -
質(zhì)量監(jiān)測(cè)系統(tǒng)
+關(guān)注
關(guān)注
0文章
5瀏覽量
5557 -
ESP32
+關(guān)注
關(guān)注
18文章
971瀏覽量
17200
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論