廣東工業大學自動化學院 樊智一
基于STM32的無線WIFI溫濕度監測系統設計
廣東工業大學自動化學院樊智一
針對分散節點的溫濕度檢測,設計了一種基于單片機的無線WIFI溫濕度監測系統。該系統以STM32F103RCT6單片機為控制器、以溫濕度傳感器DHT11和無線WIFI收發模塊ESP8266為輔助,實現空間溫濕度數據的采集、發送與監測。該系統能穩定可靠地反饋現場的溫濕度數據,實現溫濕度的同步監測。
單片機;WIFI無線通信;溫濕度測量
溫濕度的監測在工農業生產中有著重要地位,特別是對大棚種植,養殖,糧食存儲等,對溫濕度的控制要求甚高。為擺脫落后的傳統監測手法,需要引進測量精度高,低投入,易于維護的監測系統。為了滿足上述要求,設計了一個可實現遠程監控,測量精度高,價格低廉易于維護的溫濕度監測系統。該系統以STM32F103RCT6單片機為控制芯片,以溫濕度傳感器DHT11采集空間的溫濕度數據,并通過無線WIFI收發模塊ESP8266把數據傳輸至上位機的監測界面,實現溫濕度的同步監測。
該系統通過溫濕度傳感器采集空間的溫濕度數據,并在STM32F103RCT6單片機中對獲取的溫濕度數據進行處理。利用無線WIFI收發模塊對處理完成的數據進行無線傳輸,發送至上位機的接收端,并把數據上傳至LabVIEW設計的監測界面。在監測過程中,若現場空間溫度超出額定值系統隨即發出報警并反饋到上位機。無線WIFI溫濕度監測系統總體結構如圖1所示。

圖1 監測系統總體結構
下位機采用STM32F103RCT6單片機作為系統的主控制器,其中外圍電路由電源電路,溫濕度傳感器,時鐘和復位電路,液晶顯示電路,系統報警電路以及無線WIFI數據收發電路組成。該硬件部分主要實現以下功能:(1)采集空間溫濕度數據;(2)顯示溫濕度數據;(3)溫濕度超出額定值時發出報警;(4)溫濕度數據的無線傳輸。其設計框圖如圖2所示。

圖2 下位機硬件設計框圖
上位機同樣以STM32F103RCT6單片機作為系統的主控制器,外圍電路由電源電路,時鐘和復位電路,無線WIFI數據收發電路以及串口通信電路組成。該硬件部分主要實現以下功能:(1)接收溫濕度數據;(2)顯示當前的溫濕度數據;(3)保存歷史溫濕度數據。其設計框圖如圖3所示。

圖3 上位機硬件設計框圖
2.1單片機控制系統設計
單片機控制系統為整個系統的控制部分,該部分以STM32F103RCT6單片機為控制器,由時鐘電路、復位電路、電源電路、JTAG下載調試電路組成。該系統采用適合于低功耗應用的高速32位處理器STM32F103RCT6,該芯片工作電壓為3.3V,具有64個I/O接口,內置高速內存,256KB閃存容量。處理器采用8MHz的無源晶振提供時鐘源,通過控制器內部PLL倍頻控制寄存器使工作頻率提高至72MHz,采用MAX809S作為上電復位芯片,實現對單片機控制器的上電復位。
2.2系統供電模塊
該系統中的溫濕度傳感器的工作電壓是5V,控制器STM32F103RCT6與無線WIFI通信模塊的工作電壓是3.3V。因此采用了LM2576 5.0V開關電源芯片,它內含固定頻率振蕩器(52kHz)和基準穩壓器(1.23V),并具有完善的保護電路,包括電流限制以及熱關斷電路等。同時該系統采用了asm1117 3.3V的線性穩壓芯片產生3.3V的電壓,利用以上器件只需極少的外圍器件便可構成高效穩定的系統供電電路。
2.3溫濕度數據采集模塊
該系統采用的溫濕度傳感器為DHT11數字溫濕度傳感器,該傳感器由一個電阻型濕敏元件和溫度傳感器組成,采用單線制的串行接口,該溫濕度傳感器的工作電壓為3至5.5V,控制器發出啟動信號后傳感器工作于高速模式。啟動信號結束時,傳感器輸出40位數據,觸發一次溫濕度數據采集,采集完成后溫濕度傳感器的工作模式變為低功耗模式。溫濕度傳感器處于空閑狀態時總線為高電平,工作時需把總線電平拉低。
2.4系統通信模塊
該設計采用的無線WIFI通信模塊為Ai-Thinker公司的ESP8266模塊,該模塊通過串口與單片機控制器進行通信,該模塊內置TCP/ IP協議棧,能夠實現串口與WIFI之間的轉換。通過配置單片機控制器的串口即可通過WIFI傳輸數據。該無線WIFI通信模塊的工作電壓為3.3V,有三種工作模式分別為(1)AP;(2)STA;(3)AP+STA。其
中每個工作模式又包含TCP服務器,TCP客戶端和UDP三種工作子模式。該系統中下位機的WIFI通信模塊作為服務器并且采用AP模式,上位機的WIFI通信模塊作為客戶端并且采用STA模式。上位機與PC機之間的通信采用RS232串行通信進行數據交換,該系統采用MAX232電平轉換芯片實現單片機串口與PC機之間的串行通信。
該系統的軟件設計主要分為系統初始化、溫濕度檢測、參數設置、報警處理、溫濕度數據整理及發送、溫濕度信息顯示。下位機溫濕度數據采集模塊的處理如下:對連續采集得到的10個數據,刪去其中的最大與最小值并求出其平均值,最后把平均值發送至上位機接收端。監控PC機采用LabVIEW設計的監測界面,LabVIEW提供很多外觀與傳統儀器類似的控件,可用來方便地創建用戶界面,實現接收下位機的溫濕度數據并匯總顯示。
系統上電后進入初始化階段讀取系統參數,溫濕度傳感器啟動并采集溫濕度數據,采集所得數據顯示于1602液晶顯示屏,并通過無線WIFI模塊把數據傳輸至上位機,上位機接收到來自下位機的數據后通過串口上傳至PC機,通過監測界面顯示當前溫濕度數據。當空間檢測的溫濕度值超出設置的額定值時,下位機系統啟動報警處理程序。
該系統以STM32F103RCT6單片機、ESP8266無線WIFI傳輸模塊、DHT11溫濕度傳感器以及LabVIEW監測界面構成了無線溫濕度監測系統。該系統能同步監測空間溫濕度的變化,當溫濕度超出設置額定值時發出警報。該系統在工農業生產中能發揮重要作用,如糧食存儲中,溫度與濕度是兩個重要指標,必須實時進行監測。該系統具有較好的擴展性,可廣泛應用于需要溫濕度監測的場合。
[1]劉瑞星.單片機原理及應用教程[M].機械工業出版社,2006.
[2]譚浩強.C語言程序設計[M].北京:清華大學出版社,1991.
[3]俞云強.傳感器與檢測技術[M].北京:高等教育出版社,2008.
[4]劉映宏.基于STM32的溫濕度測量系統設計[J].電子技術與軟件編程,2011.
[5]劉博文.ARM Cortex-M3應用開發實例詳解[M].電子工業出版社,2011.
[6]張云.基于藍牙技術的傳感器微網的研制[D].北京:北京工業大學,2008.
[7]陳丹,鄭增威.無線傳感網絡研究綜述[J].計算機測量與控制,2004(12):701-704.
樊智一(1993—),男,廣東廣州人,碩士研究生,研究方向:嵌入式系統設計,圖像理解。