基于嵌入式Web服務器的智能溫室監(jiān)控系統(tǒng)
摘 要 闡述了一個溫室大棚的自動控制系統(tǒng)。該系統(tǒng)使用Luminary公司的LM3S102處理器以及精簡的TCP/IP協(xié)議棧,構建了嵌入式Web服務器,實現(xiàn)基于以太網(wǎng)的智能溫室大棚監(jiān)控功能。系統(tǒng)通過對光照強度、溫度、濕度等信號的采集,使用戶可以在任意計算機終端上通過IE瀏覽器遠程監(jiān)控大棚狀態(tài),實現(xiàn)對大棚電動卷簾機、溫室電熱器、植物生長燈、微管噴滴灌等系統(tǒng)的實時控制。用戶也可通過LCD屏與鍵盤實現(xiàn)大棚的實地監(jiān)控。系統(tǒng)采用PoE技術,不需要額外的輸電線,充分利用了LM3S102外設,使測控系統(tǒng)適應基層生產(chǎn)的需要。
關鍵詞 溫室監(jiān)控 嵌入式 以太網(wǎng)供電 協(xié)議棧 Web服務器 LM3S102
現(xiàn)代化的溫室監(jiān)控系統(tǒng)用來實時采集溫室內溫度、濕度、光照、土壤溫度、CO2濃度、葉面濕度、露點溫度等環(huán)境參數(shù),根據(jù)種植作物的需求提供各種聲光報警信息。當溫濕度超過設定值的時候,自動開啟或者關閉指定設備?,F(xiàn)有的溫室監(jiān)控系統(tǒng)采用無線方式的居多,且傳輸范圍有限,價格比較昂貴,與其他系統(tǒng)的兼容性不好。本設計提出基于以太網(wǎng)的溫室監(jiān)控系統(tǒng),使用Luminary公司的LM3S102處理器,在其有限的內存空間上構建精簡的TCP/IP協(xié)議棧,實現(xiàn)通用的嵌入式Web服務器,實現(xiàn)基于以太網(wǎng)的智能溫室大棚監(jiān)控功能。
1 系統(tǒng)設計
系統(tǒng)由傳感器子系統(tǒng)、Web服務器子系統(tǒng)、外設控制子系統(tǒng)、人機接口子系統(tǒng)4個部分組成?;窘Y構如圖1所示。
系統(tǒng)工作流程簡述如下:通過傳感器子系統(tǒng)采集,獲得溫室中的光照、溫度、濕度等關鍵信息后處理加工,變成可以經(jīng)TCP/IP協(xié)議傳輸?shù)囊蕴W(wǎng)數(shù)據(jù)包。數(shù)據(jù)傳輸采用監(jiān)控終端計算機主動獲取的方式,可以始終獲取,也可以在需要的時候獲取。監(jiān)控終端計算機只需具備通用的IE瀏覽器,即可訪問嵌入式Web服務器的控制界面,查看每一個溫室監(jiān)控節(jié)點的數(shù)據(jù)信息,實現(xiàn)對大棚電動卷簾機、溫室電熱器、植物生長燈、微管噴滴灌等系統(tǒng)的實時控制。
本文從4個部分介紹系統(tǒng)的設計與實現(xiàn),先從硬件角度構建主要的傳感器子系統(tǒng)、Web服務器子系統(tǒng)、外設控制子系統(tǒng),然后從軟件角度出發(fā),設計實現(xiàn)精簡的TCP/IP協(xié)議棧。
1.1 傳感器子系統(tǒng)
考慮到LM3S102接口有限,傳統(tǒng)的模擬傳感器需要A/D轉換后方可使用,不適合本系統(tǒng)。設計選用I2C接口的數(shù)字傳感器SHT10,該傳感器將外界環(huán)境的濕度、溫度信息采集以后存儲在自身內存中,將其掛接在LM3S102處理器的I2C總線上實現(xiàn)數(shù)據(jù)的讀取。在后續(xù)部分可以看到,I2C總線上還掛接了用來擴展I/O口的專用芯片。溫度與濕度傳感器電路如圖2所示。
[!--empirenews.page--]
圖3是獲取外界光照條件的方案。設計選用廉價的光電管,當光照強度大時,光電管導通電流大,從而在VIN_N端得到更低的電壓。VIN_N端和 LM3S102內置的模擬比較器相接,將采集到的數(shù)據(jù)存于RAM中,和SHT10采集到的濕度、溫度信息一起,由TCP/IP協(xié)議封裝發(fā)送。
1.2 Web服務器子系統(tǒng)
為了構建Web服務器子系統(tǒng),必須找到合適的網(wǎng)絡功能實現(xiàn)方法。如圖4所示,系統(tǒng)選用SPI接口的網(wǎng)絡芯片ENC28J60實現(xiàn)網(wǎng)絡MAC和PHY的功能,充分利用LM3S102的外設接口。TPOUT和TPIN端送往隔離變壓器,外接通用的RJ45網(wǎng)口。后續(xù)部分將介紹在此硬件平臺上TCP/IP協(xié)議的實現(xiàn)。
1.3 外設控制子系統(tǒng)
為了實現(xiàn)對溫室自動卷簾的遠程智能升降控制,設計采用PWM控制步進電機的方法。步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點,使得在速度、位置等控制領域用步進電機來控制非常簡單。接口芯片MPC17529用來驅動步進電機。在實際運用中,可采用各種方法增大后級電路的驅動能力,以實現(xiàn)對重型卷簾門的自如控制。圖5為電機控制電路的實現(xiàn)方法。
由于LM3S102的I/O口有限,本設計采用I2C接口擴展I/O口的專用芯片PCA9554。掛接在I2C總線上的該芯片可以擴展出8路GPIO,在演示時采用用8盞LED燈來表示溫室電熱器、植物生長燈、微管噴滴灌、氣體肥料釋放機等溫室常用設備。實際應用時加上繼電器電路以后便可以方便地實現(xiàn)對溫室中諸多科技農(nóng)業(yè)控制系統(tǒng)的實時控制。電機控制電路如圖6所示。
經(jīng)過各子系統(tǒng)的硬件設計,LM3S102的片上接口與片內資源得到了充分的利用。[!--empirenews.page--]
1.4 設計實現(xiàn)精簡的TCP/IP協(xié)議棧
嵌入式Web服務器運行的目標系統(tǒng)大多是各類專用設備,內存資源和存儲器資源非常有限,它通常作為一種監(jiān)控、管理手段去控制和配置各種電子設備,實現(xiàn)設備的智能化和信息化。嵌入式Web服務器的應用系統(tǒng)框架如圖7所示。
考慮到嵌入式Web服務器的硬件處理速度慢并且存儲容量相對較小的限制,在TCP/IP協(xié)議棧中能夠實現(xiàn)ARP、IP、TCP協(xié)議即可。采用精簡的 TCP/IP協(xié)議棧,在上層實現(xiàn)了HTTP協(xié)議。包括ENC28J60網(wǎng)絡芯片的驅動和IP包與ARP包的相應,實現(xiàn)了基于TCP協(xié)議的HTTP包的收發(fā),協(xié)議棧省去了作為精簡’Web服務器不需要的UDP協(xié)議和ICMP協(xié)議,并且不實現(xiàn)SOCKET函數(shù),使得代碼空間降到最小,卻能夠完成所有需要的功能。裁剪后的嵌入式專用TCP/IP協(xié)議棧結構如圖8所示,軟件模塊分層工作流程如圖9所示。
2 實驗結果與分析
當以上步驟完成后,接下來的主要任務就是將整個系統(tǒng)構建起來,并進行調試。遠程人員只需登錄節(jié)點服務界面就能實現(xiàn)如親臨溫室的監(jiān)測與控制效果。此功能的實現(xiàn)為溫室管理工作人員和科研工作人員提供了極大的便利。
在實驗室里模擬溫室環(huán)境,用白熾燈泡模擬溫度和光照,用人工噴霧的方法增加溫室濕度,以此來測試系統(tǒng)工作性能。實驗結果表明,系統(tǒng)經(jīng)調試處理后,能夠按照設計原理完成相應功能,達到預設目標,并對各參數(shù)的測量可達較高精度(對溫度的測量可達O.5℃,濕度可達4.5%),并對電動卷簾機、微觀噴滴灌等電動設備實現(xiàn)實時監(jiān)控,操作靈活,構建簡單,具有較好的穩(wěn)定性和應用性。本系統(tǒng)不僅適用于農(nóng)業(yè)還適用于畜牧業(yè),同時設置了多個備用接口,便于改造和開發(fā)升級,具有很高的應用價值和良好的商業(yè)前景。