999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ESP32的環境監測系統的設計與實現

2024-09-24 00:00:00張來洪關海偉魯興張揚
物聯網技術 2024年5期

摘 要:基于ESP32為主芯片設計環境監測系統,獲取環境中的溫濕度、光照強度、氣壓、海拔、紫外線強度、煙霧濃度、二氧化碳含量、甲醛含量、TVOC含量、PM2.5含量等一系列環境信息以及實時時鐘信息,通過LED燈、OLED屏實現環境信息的狀態顯示和信息值的屏幕顯示,基于語音合成模塊實現環境信息的語音播報,通過RS 232串口、串口轉USB、以太網、WiFi、藍牙等多種接口將環境信息報送至上位機,通過多種接口或調試指令對ESP32的工作狀態進行管理。詳細介紹了該系統的整體設計、硬件設計、軟件設計。通過聯調演示,證明該系統各項功能正常、運行穩定,可用于辦公室、農業大棚、儲物倉庫等場景的環境監測,也為同類方案或產品提供參考和借鑒。

關鍵詞:ESP32;傳感器;環境監測;屏幕顯示;語音播報;上位機

中圖分類號:TP29 文獻標識碼:A 文章編號:2095-1302(2024)05-00-04

0 引 言

ESP32是樂鑫信息科技提供的微控制器(Micro Control Unit, MCU)芯片,采用兩個哈佛結構Xtensa LX6 CPU構成雙核系統,片上集成通用型輸入輸出(General Purpose Input/Output, GPIO)、通用異步收發傳輸器(Universal Asynchronous Reveiver Transmitter, UART)、集成電路總線(Inter Integrated Circuit, I2C)、串行外設接口(Serial Peripheral Interface, SPI)、模數轉換(Analog to Digital Convert, ADC)等控制器以及WiFi收發器和藍牙收發器,兼具功能強大、性能穩定、體積精巧、價格低廉的優勢[1]。本文將ESP32作為主芯片,結合一系列外部器件,設計一套環境監測系統,監測環境中的多項參數,可用于辦公室內、農業大棚、儲物倉庫等場景的環境監測,也為同類方案或產品提供參考和借鑒[2-4]。

1 系統整體設計

整個環境監測系統由供電模塊、主芯片、采集模塊、狀態顯示模塊、狀態上報接口、上位機組成[5-6],如圖1所示。

供電模塊負責提供主芯片及各種外圍設備工作所需的電壓。ESP32作為主芯片,片內充分利用處理器核、各種控制器、WiFi及藍牙收發器等資源,對外則驅動各種外圍設備。采集模塊包括AHT20溫濕度傳感器、BH1750光照強度傳感器、BMP180氣壓海拔傳感器、S12SD紫外線強度傳感器、MQ-2煙霧濃度傳感器、JW01模組二氧化碳甲醛總揮發性有機化合物(Total Volatile Organic Compounds, TVOC)含量三合一傳感器、ZPH02模組PM2.5含量傳感器等傳感器模塊,以及PCF8563實時時鐘、AT24C256存儲芯片、4路輸入按鍵。狀態顯示模塊包括綠、黃、紅狀態顯示LED燈,有源蜂鳴器,SSD1306-OLED顯示屏。狀態上報接口包括RS 232串口接口、串口轉USB接口、基于W5500實現的RJ 45以太網接口、基于SYN6658語音合成模塊實現的LINE音頻線接口和語音播報喇叭,以及ESP32提供的WiFi和藍牙接口。上位機可以是串口、網口、USB接口的PC,也可以是WiFi和藍牙接口的手機等無線設備。ESP32的上報接口同時提供CS(客戶端-服務器)和BS(瀏覽器-服務器)服務,上位機可以使用按協議設計的終端軟件,或者使用網頁瀏覽器,來訪問ESP32的狀態信息或對ESP32的工作狀態進行管理。

2 硬件設計

基于ESP32芯片模組與各外圍設備器件設計硬件平臺,各模塊的內部電路硬件均穩定,需要著重注意搭建時的硬件連接關系[7]。ESP32與各外圍設備的連接關系如圖2所示。

供電設計:調試階段可以使用MINI-USB接口為ESP32供電,MINI-USB聯合ESP32的電壓輸出管腳為采集模塊、狀態顯示模塊、狀態上報接口的各器件供電,調試完成后使用可充電鋰電池為主芯片和各外圍設備供電。

GPIO接口的外設:選用ESP32的4路IO實現數字輸入功能,外接輸入按鍵。選用ESP32的4路IO實現數字輸出功能,分別接綠色、黃色、紅色的LED燈和有源蜂鳴器。

ADC接口的外設:選用ESP32的2路IO實現ADC模擬輸入功能,分別外接S12SD紫外線強度傳感器、MQ-2煙霧濃度傳感器。ESP32以模擬量讀取ADC管腳的值,當管腳上的電壓為3.3 V時,讀值4095為最大值,當管腳上電壓為0 V時,讀值0為最小值,中間區域可作線性比例處理,從而獲取S12SD的紫外線強度和MQ-2的煙霧濃度。

I2C接口的外設:選用ESP32的2路IO管腳實現I2C總線,ESP32作為主機發出I2C時序控制一系列不同從機地址的I2C外圍設備,從而讀取AHT20的溫濕度信息、BH1750的光照強度信息、BMP180的氣壓信息,進一步計算出海拔信息,控制OLED顯示屏動態顯示各狀態信息,讀取或設置PCF8563的實時時間信息,訪問AT24C256存取工作參數。

UART接口的外設:ESP32片上有三個串口控制器(Serial0、Serial1、Serial2),通信波特率都配置為9 600 b/s,8位數據位,1位停止位,無校驗位。Serial0的輸出實現調試打印功能,便于調試觀測代碼流程,Serial0的輸入實現調試命令解析功能,解析出正確的指令后可以設置PCF8563的時間、設置ESP32的工作參數并存入AT24C256。Serial1、Serial2的RX線分別接JW01模組、ZPH02模組,這兩個模組正常工作時,會將獲取的環境信息按協議格式以串口格式的包發出,每包定常為8字節,且包頭有固定的標識,包尾有校驗值。ESP32收到模組的串口包后,基于狀態機即可解析出包中間的字節從而獲取環境信息。Serial1的TX線分成兩路,一路接串口轉USB器件,一路接TTL電平轉RS 232電平器件,分別對PC提供USB接口和RS 232接口的串口上報接口。Serial2的TX線接到SYN6658語音合成模塊,ESP32遵照協議通過串口向SYN6658發送待合成的文字信息,文字信息由固定的漢字編碼加變化的環境信息值合并而成,SYN6658實現文字轉語音的合成功能,輸出語音信息到LINE音頻線,LINE線可以進一步接音響或耳機,同時SYN6658通過所接的喇叭播報語音。

SPI接口的外設:選用ESP32的4路IO管腳實現SPI總線,通過SPI時序控制W5500模塊,W5500內部硬件集成TCP/IP協議棧,W5500模塊對外提供RJ 45以太網接口[8]。W5500提供了套接字編程接口,支持TCP和UDP協議。ESP32對W5500進行UDP編程,從而對上位機提供CS服務,ESP32對W5500進行TCP編程,實現HTTP服務功能,從而對上位機提供BS服務。

WiFi接口: ESP32運行片上WiFi的AP基站功能,ESP32的WiFi具備無線局域網(Wireless Local Area Networks, WLAN)網卡屬性且運行dhcpd服務程序。手機等無線設備通過WLAN接入ESP32后,ESP32為無線設備分配WLAN同網段的IP地址,在此基礎上ESP32與無線設備基于TCP/IP協議互聯,兩者能通過UDP和TCP協議進行網口套接字通信。

藍牙接口:ESP32可以將片上藍牙功能虛擬化為串口,手機等無線設備的藍牙也使用串口模式,ESP32與無線設備基于藍牙虛擬串口進行串口通信。

3 軟件設計

使用Arduino工具對ESP32進行軟件開發和燒寫,Arduino工具通過導入芯片包實現ESP32的底層驅動功能,用戶只需調用驅動層的接口函數,即可進行業務功能的應用層開發。Arduino工具提供程序框架,提供初始調用一次的setup函數和隨后輪詢調度的loop函數供用戶填充,用戶需在setup函數里填充初始化功能,在loop函數里填充需運行的業務功能[9]。

在setup函數里,需要執行的操作如圖3所示。首先初始化調試串口,然后依次初始化各類通信總線,以及對總線上所接的傳感器外設進行初始化[10]。還需從AT24C256讀取工作參數,例如訪問外設的時間間隔,默認100 ms,以及環境信息的告警閾值,例如溫度的告警上下限、二氧化碳含量的告警上下限等。初始化W5500后,配置以太網口的UDP和TCP套接字;初始化WiFi后,配置WLAN網口的UDP和TCP套接字;初始化藍牙后,配置藍牙虛擬串口。

在loop函數里執行業務流程如圖4所示。首先從各個傳感器讀取環境信息和時間信息,對于I2C接口的傳感器,讀寫交互后,從外設寄存器獲取信息;對于ADC接口的傳感器,讀ADC功能管腳的模擬值獲取信息;對于UART接口的傳感器,接收串口字節后基于狀態機解析后獲取信息。新讀的值與最近5次歷史值整合計算平均值,作為當前有效值,用結構體變量存儲。然后使用OLED顯示屏顯示環境信息,因OLED屏幕大小有限,每輪loop函數只顯示所有環境信息的其中幾條。同時通過LED燈顯示環境狀態,若環境狀態值均正常,則綠燈亮;如果環境狀態值稍微超出正常范圍,則黃燈亮;如果環境狀態值嚴重超出正常范圍,則紅燈亮,且蜂鳴器響,提醒人采取相應措施,例如通過通風降低二氧化碳含量。此外,如果檢測到按鍵有按下動作時,經軟件防抖處理后,運行相應的功能,按鍵1對應功能為語音播報時間信息,按鍵2對應功能為語音播報環境信息。再者,基于狀態機解析藍牙串口收到的字節,解析出命令包,基于套接字檢測是否收到WiFi或以太網口的UDP命令包,如果是查詢命令,則將環境信息結構體變量中的值按協議返回;如果是配置命令,則修改工作狀態;如果是HTTP的GET請求,則返回Web頁面的應答。之后,將本輪環境值通過串口報送給上位機。最后,判斷是否需執行Serial0調試命令,之后進行延時等待,退出本輪loop函數,進入下一輪loop函數。

參考Linux系統的shell命令行,對Serial0的輸入指令進行功能解析,當輸入的指令滿足一定格式時,則執行相應功能。例如“SETTIME:2023-04-10 10:53:00”是設置時間,“SETTEMPU:60”是設置溫度告警上限。

為了通過上位機對環境監測系統的狀態進行顯示和控制,可以在上位機開發終端軟件,使用軟件控件調用操作系統的API,基于串口或網口編程與ESP32通信,也可以不用終端軟件而直接使用網頁瀏覽器訪問ESP32。

4 聯調演示

基于ESP32芯片模組與各外圍設備器件實現演示板,按硬件設計連接各信號線,制作完整的演示板如圖5所示。

ESP32程序正常啟動運行后,LED狀態燈顯示正常,OLED屏翻頁逐條顯示各項環境信息的值,如圖6所示。

PC通過以太網口接入演示板,運行PC上設計的終端軟件,能更新顯示環境信息,且能對ESP32的工作狀態進行配置。在PC瀏覽器輸入ESP32的以太網IP地址,ESP32會返回環境信息。手機上能搜到并接入ESP32的WiFi信號,在手機瀏覽器輸入ESP32的WLAN的IP地址,ESP32會返回環境信息。上位機通過瀏覽器訪問ESP32的界面如圖7所示。

按下演示板上的按鍵1,喇叭會播報時間信息。按下演示板上的按鍵2,喇叭會播報環境信息。在調試串口輸入設置時間、設置工作參數等命令,演示板均有正常響應。

調整演示板所處環境的溫度、光照等狀態,演示板上顯示和上報的環境信息會隨之變化,且與溫度計等儀器測得的值接近一致,可見本系統各項功能均正常,且運行穩定。

5 結 語

本文設計了基于ESP32的環境監測系統,完成了多項環境信息的采集、多種方式的顯示、多種接口的上報,可用于辦公室內、農業大棚、儲物倉庫等場景的環境監測,也為同類方案或產品提供參考和借鑒。

本系統還可優化調整,例如,為了節省功耗,也許并不需要多個傳感器同時工作,也不需要多種上報接口同時工作,可以在硬件上添加使能設計,在軟件上規劃ESP32的工作參數,做合理調度;在運行過程中,按需動態地使能訪問各外圍設備。

參考文獻

[1]王忠. ESP32在物聯網通信課程教學中的應用[J].物聯網技術,2022,12(4):128-129.

[2]何經偉.基于ESP32的辦公環境信息監測系統[J].電子技術與軟件工程,2019,8(24):153-154.

[3]孔寧.基于ESP32的畜場環境監測系統設計與實現[J].現代牧業,2022,6(4):37-43.

[4]陳星星.基于ESP32的糧倉遠程溫濕度監控系統[J].電子技術與軟件工程,2018,7(14):94.

[5]肖鑫海.基于STM32的環境監測系統設計[J].化工自動化及儀表,2023,50(1):33-36.

[6]夏長權.基于STM32的環境監測系統設計[J].電子制作,2023,31(4):3-7.

[7]任肖麗.基于STM32的環境監測系統設計[J].集成電路應用,2021,38(8):14-15.

[8]王鵬.基于W5500以太網模塊的溫濕度實時在線采集系統設計[J].通訊世界,2020,27(3):67-68.

[9]謝明瑋.基于Arduino的物聯網家居硬件系統設計與實現[J].物聯網技術,2023,13(2):78-81.

[10]樂萬德. Arduino串口通信控制系統的研究[J].電子設計工程,2022,30(4):69-73.

作者簡介:張來洪(1989-),男,碩士,中級工程師, 研究方向為嵌入式技術、電臺主控及波形。

關海偉(1989-),男,碩士,中級工程師, 研究方向為嵌入式技術、電臺主控及波形。

魯 興(1992-),男,博士,中級工程師, 研究方向為嵌入式技術、通信技術。

張 揚(1993-),男,碩士,中級工程師, 研究方向為嵌入式技術、上位機軟件設計。

收稿日期:2023-05-07 修回日期:2023-06-05

主站蜘蛛池模板: 中文字幕在线视频免费| 无码人妻热线精品视频| 亚洲视频一区在线| 97在线免费视频| 伊人久久久久久久久久| 欧美国产菊爆免费观看| 亚洲伊人天堂| 国产成人调教在线视频| 国产成人精品男人的天堂下载 | 国产aaaaa一级毛片| 久久亚洲国产最新网站| 久久国产av麻豆| 国产91透明丝袜美腿在线| 久久久亚洲国产美女国产盗摄| 国产91视频观看| 亚洲区第一页| 福利片91| 久久毛片免费基地| 久久久久久久久亚洲精品| 国产99在线观看| 欧美成人h精品网站| 精品福利国产| 亚洲中文字幕日产无码2021| 亚洲一区色| 玖玖精品视频在线观看| 亚洲欧美不卡中文字幕| 亚洲无码电影| 亚洲狠狠婷婷综合久久久久| 影音先锋丝袜制服| 黄色网址手机国内免费在线观看| 日韩一区二区三免费高清| 色国产视频| 亚洲一区毛片| 国产v精品成人免费视频71pao| 免费国产高清视频| 91在线无码精品秘九色APP| 色国产视频| 久99久热只有精品国产15| 久久99精品久久久久纯品| 99在线观看免费视频| 午夜老司机永久免费看片| 九色在线视频导航91| 亚洲一区二区成人| 欧美另类图片视频无弹跳第一页| 浮力影院国产第一页| 中国成人在线视频| 国产在线第二页| 四虎成人免费毛片| 麻豆AV网站免费进入| 91青草视频| 国产精品片在线观看手机版 | 91欧美在线| 亚洲综合专区| 午夜视频日本| 国产爽妇精品| 思思99热精品在线| 成人亚洲视频| 国产老女人精品免费视频| 国产精品短篇二区| 黄色网站在线观看无码| 丁香五月激情图片| 色成人亚洲| 亚洲人成网站在线播放2019| 女人一级毛片| 色综合中文| 久久鸭综合久久国产| 免费午夜无码18禁无码影院| 国产成人1024精品下载| 国产91线观看| 天堂亚洲网| 亚洲色成人www在线观看| 国产香蕉一区二区在线网站| 国产成人综合在线观看| 黄色在线不卡| 欧美亚洲第一页| 国产午夜不卡| 波多野结衣无码AV在线| 色哟哟国产精品一区二区| 毛片在线播放a| 亚洲欧洲综合| 久久综合一个色综合网| 亚洲一区二区无码视频|