湖北工業大學機械工程學院 劉嘉誠 段磊磊 朱鄖濤 張秦 翟中生
基于以太網的溫濕度檢測及控制系統設計
湖北工業大學機械工程學院 劉嘉誠 段磊磊 朱鄖濤 張秦 翟中生
本設計是基于STM32單片機為核心的自動澆水系統,通過移植輕量級TCP/IP協議棧LWIP搭建Web服務器,從而可以通過網頁實時監控盆栽土壤濕度和遠程控制系統澆水。該方案不僅可以及時給盆栽澆水,而且降低了開發成本,具有較高的應用價值。
LWIP協議棧;以太網;Web服務器;遠程控制
隨著生活質量不斷的提高,許多人喜歡在家里或者辦公室擺上花盆,這樣不僅可以陶冶情操而且可以達到凈化室內空氣的功效。但是,在生活中很多時候人們太忙沒有時間顧及這些花草,室內花草由于受不到雨水的滋潤很容易凋謝。人們這個時候就會很困擾,自己好不容易買的花草因為自己無暇照顧而死亡,心情也受到了不好的影響。很多人對花草有著天生的喜愛,看到這些花死去是很不樂意的。雖然市場上有賣盆花自動澆水器,但價格很貴,并且多數是設定一個定時澆水的時間,很難做到給對盆花自動適時適量澆水。也有盆花缺水報警器,可以提醒人們及時地給盆花澆水,雖然這種設備比較經濟,但這種報警器只是報警,澆水還需要人們親自動手。家中無人時,即使報警也不會有人澆水,設備就成了擺設。因此,設計一種集盆花土壤濕度檢測、自動澆水系統,對盆栽適時適量的澆水,也可以通過遠程控制系統給盆栽澆水。
現階段,石油化工、煤炭、冶金、交通、電力等工業行業已逐步應用了以太網技術。從全球來看,由于以太網技術擁有開放性好,應用廣泛,透明與統一的通訊協議,高傳輸速率保證實時性等優點,以太網行業在近10年的增速遠遠高于現場總線和互聯網的增速,以太網行業作為新興產業已進入了發展的導入期,并將發展成為工業控制領域中的領頭羊,使通過以太網對遠程設備進行檢測和控制成為一種可能,解決了受時間和地理條件約束的疑難問題。
從目前的發展現狀來看,以太網成為應用最廣泛的計算機網絡技術,Java,VisualC++,VisualBasic等編程語言都支持以太網的應用與開發,使得以太網能在多種開發環境和開發工具可供選擇的情況下,使用的范圍更加廣泛。研究和實踐證明,基于Ethernet技術研制的工業生產過程現場控制網絡的傳輸鏈路層,可以較好地滿足大多數遠程監控系統應用的技術要求。
本文著眼于設計一個基于以太網的遠程監控系統,實現對盆栽溫濕度的檢測和控制,采用STM32F103為主控制器來控制以太網控制器ENC28J60與計算機通信,通過主控制器采集土壤濕度和環境溫度數據。移植輕量級TCP/IP協議棧LWIP搭建Web服務器[1],把溫濕度以網頁的形式顯示給用戶。用戶可以登入手機或者電腦瀏覽器,對盆栽的溫濕度進行遠程監控,也可以通過網頁遠程控制系統給盆栽澆水。遠程監控系統總體框圖如下圖1所示。

圖1 遠程監控系統總體框圖
在進行數據傳輸之前,首先要對主控制系統的各模塊進行初始化設置。系統初始化配置如圖2所示,分別要對STM32主控芯片的GPIO引腳配置、ADC通道、SPI接口、ENC28J60以太網芯片模塊、TFT彩屏等進行初始化[2]。初始化后,外圍傳感器開始采集數據,通過以太網網口把數據發送到交換機上,由交換機分配數據包給訪問的計算機,通過網頁頁面接收數據并實時顯示。通過網頁可以遠程控制澆水裝置給盆栽澆水。主控制系統程序設計流程圖如圖2所示。

圖2 系統程序設計流程圖
2.1 LWIP協議棧的移植
LWIP是瑞典計算機科學院(SICS)的AdamDunkels等開發的一個小型開源的TCP/IP協議棧,是TCP/IP的一種實現方式。LWIP實現的重點是在保持TCP協議主要功能的基礎上減少對RAM的占用,它只需十幾KB的RAM和40K左右的ROM就可以運行,包括TCP,UDP,ICMP,DHCP,PPP和ARP等常見協議的所有或部分功能,而且提供了類似伯克利TCP/IP的API函數,使LWIP協議棧十分適合在低端的嵌入式系統中使用[3]。
網關采用可靠的TCP傳輸協議,保證了數據傳輸的可靠性。
如圖3所示,數據發送的發起者是應用層。首先是應用層調用ip_write()函數,接著就是再將控制權交給tcp_enqueue()函數,使數據分割成適當大小的TCP段,然后放到所屬連接的傳輸隊列中。然后通過tcp_output()函數判斷接收器窗口是否有足夠大的空間,如果空間滿足,就使用ip_route()及ip_output_if()函數發送數據。

圖3 協議棧處理過程圖
數據接受的發起者是網口接口層,首先是網口接口將數據包傳送給ip_input()函數,經過驗證IP頭后傳給TCP段給tcp_input()函數。經過TCP解析和TCP連接。這個TCP段到達tcp_rocess()函數,實現了TCP狀態機,任何必要的狀態轉換在這里實現,最終tcp_receive()函數將數據傳送給上層的應用程序,完成接受過程。
2.2 基于STM32的Web服務器的實現
Web通信是在TCP通信的基礎上再使用了HTTP協議,使得兩個不同的Web應用程序能正常的通信。在Keil軟件中基于LWIP搭建Web服務器,用Dreamweaver編寫靜態網頁。交互方式主要是通過表單來完成,使用了SSI技術和CGI技術。通過瀏覽器控制遠程盆栽的LED指示燈和遠程控制澆水就是使用的CGI技術。CGI是一種公共的網關接口,是一種網絡核心技術。實現服務器與客服端的交互功能,在實際中也用的十分廣泛。通過網頁查看盆栽土壤濕度、環境溫度、時間和日期是通過SSI來實現的。利用S SI技術可以顯示圖形,文本或程序應用程序包含到網頁中[4]。Dreamweaver網頁編輯界面如下圖圖4所示。

圖4 Dreamweaver網頁編輯界面
用路由器搭建了一個網絡,以驗證系統的可行性,在瀏覽器輸入監控設備的IP地址時,首先出現的是監控系統的主頁頁面,如下圖圖5所示,可了解系統的功能。在這個頁面中,有遠程控制、土壤濕度、環境溫度選項。頁面會每3s刷新一次,以便能及時更新當前溫度。

圖5 監控系統的主頁頁面
我們通過點擊遠程控制,就會看到如圖6的頁面,我們可以遠程控制系統指示燈的亮滅和遠程控制系統澆水,點擊土壤濕度,就會看到如圖7的頁面,我們可以實時觀測到土壤濕度的變化。也可以用智能手機登錄設置好的IP地址進行網頁控制,使控制方式多樣化,符合了移動智能終端控制的發展要求。

圖6 遠程控制頁面

圖7 土壤濕度和環境溫度顯示頁面
基于以太網的溫度監控系統是一個遠程的溫度監控系統,在監控端構建了一個WebServer服務器,并能在網頁上為用戶實時提供監控數據,同時,用戶也可以通過網頁去控制設備的工作狀態。在一定程度上可以將本系統看成是智能家居設備的一個縮影,如果能提供更豐富的功能,完善其中存在的問題,并將控制端很好地移植到智能設備上,人們便能輕而易舉地掌控家庭智能設備。在將來,這種模式可以改善人們的生活體驗。
采用STM32F103主控制芯片和ENC28J60以太網控制器構建遠程Web網頁控制系統,與現場總線相比,簡化了設計過程,減少了系統功耗,降低了系統搭建和維護成本;實現了計算機、智能手機、監控系統終端等多樣化監控方式;利用計算機和手機瀏覽器網頁頁面顯示監控信息,無需進行上位機的開發。為智能控制特別是智能家居的控制提供了一種可行的方案,符合物聯網發展的趨勢,有著廣闊的應用空間。參考文獻:
[1]孔棟,鄭建宏.嵌入式TCP/IP協議棧LWIP在ARM平臺上的移植與應用[J].通信技術,2008,41(6):39-41.
[2]彭剛,春志強.基于ARMCortex-M3的STM32系列嵌入式微控制器應用實踐[M].北京電子工業出版社2011.
[3]羅軍舟等.TCP/IP協議及網絡編程技術[M].北京:清華大學出版社,2004.6,21,63-65,102-103.
[4]徐葉,袁敏,李國軍.嵌入式Web服務器遠程監控系統的設計與實現[J].計算機與現代化,2013(2):94-98.
2017-3-02)