


摘 要: 為了能夠實現對溫室集群的智能控制,設計并實現了一種基于RS 485總線搭配Modbus協議的溫室集群監控系統。該系統由現場數據采集及控制部分、遠程監控中心監控軟件部分和通信協議部分組成。利用在RS 485總線上搭配Modbus協議實現監控中心主機與各個溫室的微控制器通信。結合溫室環境控制的特點,利用ZigBee技術組成無線數據采集網絡,使用S3C6410處理器實現對繼電器的控制,利用BP神經網絡PID控制算法,從而達到溫室環境的智能控制。使用Qt軟件設計人機交互界面,實現對溫室集群的遠程控制。實驗結果表明,該系統能夠正確采集溫室環境的溫度、濕度和光照強度等參數,并且能夠通過控制繼電器的動作對各個溫室的環境參數進行有效的控制。
關鍵詞: 溫室集群; ZigBee網絡; Modbus協議; RS 485總線; 智能控制; Qt軟件
中圖分類號: TN926?34; TP273 文獻標識碼: A 文章編號: 1004?373X(2016)14?0049?04
Design of greenhouse environment monitoring system based on Internet of Things technology
ZHANG Ziqian1, ZHONG Weisheng1, LIANG Kai1, WANG Na2
(1. School of Information Engineering, Nanchang University, Nanchang 330031, China; 2. Shanxi Branch of China Telecom Co., Ltd., Lüliang 033000, China)
Abstract: In order to realize the intelligent control of the greenhouse cluster, a greenhouse cluster monitoring system based on RS 485 bus and Modbus protocol was designed and implemented. The system is composed of the field data acquisition and control part, monitoring software of remote monitoring center, and communication protocol. The communication between the monitoring center and the individual greenhouse is realized by collocation of RS 485 bus with Modbus protocol. Combined with the characteristics of greenhouse environment control, the ZigBee technology is adopted to constitute a wireless data acquisition network, S3C6410 processor is used to control the relay, and BP neutral network PID control algorithm is utilized to achieve the intelligent control of greenhouse environment. The Qt software is used to design the man?machine interface to realize the remote control of the greenhouse cluster. The experimental results show that the system can correctly collect the temperature, humidity and light intensity in the greenhouse, and can effectively control the environmental parameters of the greenhouse by controlling the action of the relay.
Keywords: greenhouse cluster; ZigBee network; Modbus protocol; RS 485 bus; intelligent control; Qt software
隨著人們生活水平的提高,人們希望在一年里的每個時候都能夠品嘗到綠色新鮮的水果蔬菜,以日光溫室為主體的設施農業應運而生。而溫室環境監控系統是提高溫室作物產量、減少勞動力成本的關鍵技術,代表了溫室生產的核心競爭力。隨著傳感器技術、計算機控制、網絡通信以及物聯網等技術的快速發展,融合了上述高新技術的智能監控系統逐漸被應用到溫室監控領域[1?2]。傳統的大規模溫室集群的管理大多是對溫室環境單因素進行監測控制,且由人工管理,不能精準地做到溫室環境的綜合監測和遠程控制[3]。為了能夠對溫室集群中每個溫室的生態環境參數實時采集、顯示及智能控制,利用物聯網技術,開發了針對溫室集群環境參數的智能監控系統。
1 系統總體設計
溫室集群監控系統主要由各個溫室的環境數據采集子系統、環境控制子系統和遠程監控子系統組成。將各個溫室的微控制器掛在已經布置好的RS 485總線上作為系統從機,然后微控制器將傳感器采集的環境參數數據經ZigBee協調器傳過來,并將該數據經RS 485總線通過Modbus協議上傳到作為系統主機的監控中心PC機上并保存到數據庫中。當需要打開鼓風機、遮陽網或者噴灌來控制溫室環境參數時,監控中心會給指定的溫室微控制器發送指令,控制該溫室的繼電器動作,以達到溫室環境參數的智能控制。系統總體結構圖如圖1所示。
2 系統硬件設計
系統的硬件組成部分主要包括數據采集模塊、現場控制模塊和繼電器模塊。
2.1 數據采集模塊
數據采集模塊包括傳感器和無線傳感網絡兩部分。
2.1.1 傳感器部分
傳感器作為信息獲取的重要手段, 與通信技術和計算機技術共同構成信息技術的三大支柱,是現代信息系統和各種監測系統不可缺少的信息采集手段[4]。將這幾種技術融合,能夠實現對溫室內環境參數的采集、處理和傳輸。
系統中的溫濕度數據采集使用的是STH10傳感器模塊,具有數字信號輸出、低功耗、響應迅速的優點。內部包含一個電容式測濕元件和一個能隙式測溫元件,集成了溫度和相對濕度的采集。測濕范圍為0~100%RH,測溫范圍為-40~123.8 ℃。其與CC2530的連接電路圖如圖2所示。
光照傳感器采用的是HA2003型,采用了先進的光電轉換模塊,將光照強度轉化為電壓值,通過A/D轉化為數字信號輸出。其測量范圍為0~200 000 lux。
2.1.2 無線傳感網絡的建立
該系統的數據傳輸方式采用的是由各個ZigBee節點組成的無線傳輸網絡。相對于其他無線傳輸方式,ZigBee網絡具有成本低、功耗低、高傳輸率、安全可靠的特點。使它非常適合在物聯網感知層的傳感器網絡傳遞信息。ZigBee節點的處理器采用的是TI公司的CC2530芯片,它由增強型的 8051 單片機和高性能的 RF無線收發器組成。將傳感器和CC2530芯片集成在一起形成ZigBee節點,并放置在各個溫室的合適位置,然后與ZigBee協調器連接組成ZigBee無線傳感網絡,ZigBee協調器通過串口與各溫室的微控制器連接,完成數據采集和傳輸功能(溫度采集、濕度采集和光照采集)。通過程序設置,使得ZigBee節點能夠每10 s采集一次環境參數數據,并將數據傳至協調器。ZigBee無線傳輸網絡的拓撲圖通常有三種即星型、網型和樹型。由于單個溫室數據采集子相對簡單,本設計采用的是星型設計,如圖3所示。
溫室內各個ZigBee節點將采集到的數據經ZigBee無線傳感網絡匯聚到ZigBee協調器中,然后協調器與溫室內的S3C6410通過串口連接進行通信,這樣微處理器就能夠得到傳感器采集到的環境參數信息。
2.2 現場控制模塊
現場控制的核心是微控制器,該系統采用的是S3C6410開發板。它是基于SAMSUNG16/32位RISC微處理器S3C6410X的一款開發平臺,該微處理器具有高性價比、低功耗和低價格等優點。其功能如圖4所示。
每個溫室都會配備一個微處理器,由傳感器采集到的數據經ZigBee無線網絡傳輸到S3C6410開發板,然后將采集的數據通過RS 485總線傳送到監控中心的PC機并保存在數據庫中。當監控中心向指定溫室發出各種指令時,微處理器就會控制繼電器動作。當采集到的數據超過設定的數值時將會觸發S3C6410開發板上的GPRS報警模塊,并向用戶發送警報短信。
報警模塊采用的是TELIT公司的G30模塊,它支持語音和數據通信,并且內嵌了TCP/IP協議棧,簡化了開發過程和開發周期。將它和S3C6410的UART串口相連,向G30模塊發送相關的AT 指令,用戶插入SIM卡,并且開通GPRS業務后,然后綁定需要接收報警短信的號碼,當參數超出預警值時就可以向用戶發送報警短信。
2.3 繼電器模塊
當監控中心向某個溫室發出打開鼓風機、遮陽網或者噴灌命令時,由于微處理器輸出的開關量大多為TTL電平,不能直接驅動這些裝置的開啟或關閉,需要一個環節作為之間的橋梁。繼電器是用小電流去控制大電流運作的一種“自動開關”,在電路中具有安全保護、自動調節、轉換電路的作用。常用的繼電器有電磁繼電器、固體繼電器、時間繼電器等。
根據系統需要,這里選擇歐姆龍公司的MY4N?J型繼電器,主要參數為負載電流:3 A;最大開關電壓:AC 250 V,DC 125 V;動作時間:20 ms以下。
由于微處理器輸出的開關量為TTL電平不能直接驅動繼電器,所以需要在兩者之間加一個三極管,起到放大電壓的作用。
3 系統軟件設計
3.1 Modbus通信協議
Modbus協議是一種工業上的通用現場總線標準,通過此協議,各設備相互之間,經由網絡和其他設備之間可以通信,此協議可支持 RS 232,RS 422,RS 485和以太網設備[5]。
掛載在RS 485總線上的各個微控制器通過Modbus協議與監控中心的主機通信,該協議采用主/從的方式進行通信,為從機分配惟一的一個地址,地址范圍為1~247,主機首先發出命令幀,同一網絡的從機都會接收到該命令幀,如果命令幀中的地址信息與本機地址相同,則向主機返回所需要的信息,如果不同則會忽略。系統工作時,監控中心主機周期性的通過不同線程向所有從機發送命令幀,將每個溫室的環境參數返回到主機。當需要改變某個溫室的環境時,主機通過從機地址找到該溫室發送命令幀,其他從機不予理睬,以達到智能控制特定溫室環境參數的目的。
Modbus協議有2種通信方式即ASCII模式和RTU模式,為了保證較快的傳輸速率,本設計采用RTU通信模式。不管是ASCII模式還是RTU模式,信息傳輸方式都是以數據幀的形式,每幀數據都有確定的起始點和結束點,數據幀要傳送的設備在數據幀的起始點開始讀地址,并檢測要尋址的設備和信息傳輸的結束時間[6]。典型的RTU模式的命令幀格式如表1所示。
3.2 控制算法設計
為了使溫室內的溫濕度不受室外溫濕度的影響,且始終讓溫室內的溫濕度維持在當前作物生長的最佳溫濕度下,由于常規的PID控制很難滿足快速、有效、穩定的要求,應用基于BP神經網絡的PID控制算法,使控制系統更加迅速、高效。控制器結構圖如圖5所示。通過BP神經網絡的自學習能力和非線性逼近能力調整PID控制器的參數KP,KI,KD,使它的輸出對應于最優控制下的PID參數。
通過分析,采用反轉算法并按照梯度下降法修正網絡的權系數,得到網絡輸出層的權值學習算法:
[?Wli3k=α?Wli3k-1+ηδ3lO2i(k)]
其中:[δ3l=eksgn?yk?uk?lg′net3l(k)];[g′x=][gx1-gx。]
以溫室溫度控制為例,溫室是一個非線性、 時變、 大滯后與多變量耦合的復雜對象, 根據多變量的解耦、 園藝經驗及實際的測量結果, 可以把溫室對象簡化為一個具有純滯后的一階慣性環節[7] ,其傳遞函數為:
[Gs=Ke-τsTs+1]
式中:K為靜態增益;T為時間常數;[τ]為純滯后時間。
為了驗證基于BP神經網絡的PID控制算法的效果,分別用常規PID控制器和基于BP神經網絡的PID控制器對溫室溫度控制的效果進行了仿真,其對比仿真曲線如圖6所示,其中BP神經網絡的結構采用4?5?3,學習速率[η=0.2,]慣性系數[α=0.02,]加權系數初始值取區間[-0.3,0.3]上的隨機數。
由圖6中曲線變化可知,相比常規PID控制,基于BP神經網絡的PID控制在整個控制過程中更加的快速、平穩。
3.3 監控界面設計
為了建立一個良好的交互界面,使用戶能夠清晰明了地對各個溫室環境參數進行控制,對比了組態王、LabVIEW、Qt等幾種界面設計軟件,本系統采用奇趣科技開發的Qt作為圖形界面開發軟件。Qt是一個跨平臺的用戶圖形界面應用程序,提供多達250個以上的API接口,并包含支持Modbus協議的函數庫。對于一個溫室集群來說每時每刻都會產生大量的環境參數數據,數據存儲是該系統的核心部分,所以為了能實時顯示各個溫室的環境參數、方便用戶查詢歷史數據采用了瑞典 MySQL AB 公司開發MySQL數據庫。具有體積小、速度快、成本低的特點,其代碼是開放的,并且Qt提供了操作MySQL數據庫的函數,方便用戶開發。
由于Qt提供了Modbus庫函數,將該庫加載到工程中就可以通過Qt實現監控中心PC機的主機功能。通過選擇溫室集群的某個溫室可以知道該溫室的實時環境參數如溫度、濕度、光照強度等,還有控制鼓風機、噴灌或遮陽網開關的按鈕,并且提示當時的環境參數是否超出正常范圍,如果超出則會提示用戶,并且可以在日志欄中查詢以往不正常情況下的溫室環境參數情況。該軟件還提供根據日期查詢歷史數據的功能,實驗結果如圖7所示。整個系統的控制都可以在遠程控制中心進行,根據用戶設定的各種溫室環境參數進行自動調節。當某個溫室溫度高于40 ℃時,系統就會發出警告,控制中心會通過Modbus協議給特定溫室的微控制器發送打開鼓風機的命令,然后繼電器動作,實現對溫室溫度的控制。同理,當溫室濕度或者光照強度超過或低于設定值時,通過控制繼電器打開或關閉遮陽網和噴灌,使溫室各個環境參數在設定范圍內。
4 結 語
該系統不僅能夠實現溫室集群的環境數據采集、實時顯示、歷史數據查詢,還能夠通過控制繼電器的動作,實現各個溫室環境的智能控制。將監控中心計算機作為Modbus協議的主機,分布在各個溫室的微控制器作為從機,主機通過RS 485總線搭配Modbus協議發送命令幀給從機,從機產生相應動作以達到遠程監控,降低勞動成本的目的。
參考文獻
[1] 李萍萍,王紀章.溫室環境信息智能化管理研究進展[J].農業機械學報,2014,45(4):236?243.
[2] 孫忠富,曹洪太,李洪亮,等.基于GPRS和Web的溫室環境信息采集系統的實現[J].農業工程學報,2006,22(6):131?134.
[3] 岳學軍,王葉夫,劉永鑫,等.基于GPRS 與ZigBee的果園環境監測系統[J].華南農業大學學報,2014,35(4):109?113.
[4] 俞文俊,凌志浩.一種物聯網智能家居系統的研究[J].自動化與儀表,2011,32(8):56?59.
[5] 孫剛,吳文彪,鄭文剛,等.采用 Modbus的灌溉用水遠程自動抄表系統[J].農業工程學報,2008,24(z2):76?80.
[6] Watt Stopper Co. Occupanvy sensor design and application guide [EB/OL]. [2016?06?14]. http//:images3.cableorganizer.com/w.
[7] 涂川川,朱鳳武,李鐵. BP神經網絡PID控制器在溫室溫度控制中的研究[J].中國農機化,2012(2):151?154.