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