李穎 吳琦 王宏坡 趙新海



摘 要:本文基于Qt平臺開發(fā)了食用菌栽培環(huán)境數據采集控制系統(tǒng),系統(tǒng)實時獲取食用菌設施栽培菇房內的溫度、CO2、濕度和光照度等參數,利用字符設備驅動程序,控制現場繼電器設備,進而控制菇房內的執(zhí)行設備,為食用菌的生長創(chuàng)造適宜的生長環(huán)境,實驗測試結果表明系統(tǒng)運行性能穩(wěn)定,操作方便,具有一定的應用前景。
關鍵詞:Qt;環(huán)境數據;設施栽培
DOI:10.16640/j.cnki.37-1222/t.2019.02.115
食用菌是一類有機、營養(yǎng)、保健的綠色食品,食用菌產業(yè)已成為中國種植業(yè)中的一項重要產業(yè)。同時,作為我國大力倡導的“三色”農業(yè)中的白色農業(yè),食用菌種植規(guī)模空前擴大,前景廣闊,發(fā)展空間巨大[1]。食用菌生產的智能化與自動化對于提高單位面積的食用菌產量與質量,提高食用菌生產的經濟效益,提升我國生產的食用菌的競爭力是非常重要的[2]。本文基于Qt平臺設計了食用菌栽培環(huán)境數據采集控制系統(tǒng),對影響食用菌生長的溫度、濕度、CO2濃度、光照強度等環(huán)境因子進行采集與控制,實現食用菌栽培環(huán)境數據的實時采集與最佳生長環(huán)境條件的智能控制。
1 開發(fā)環(huán)境與系統(tǒng)架構
圖形用戶界面(Graphical User Interface,GUI)),又稱圖形用戶接口,是指采用圖形方式顯示的計算機操作用戶界面[3]。目前,人機GUI界面大多都是應用微軟基礎類庫(Microsoft Foundation Classes,MFC)進行制作,但大量的Windows API和消息機制使得其較難理解,而且模板設定了固定的結構,不方便進行編程和維護[4]。Qt是一個1991年由Qt Company開發(fā)的跨平臺C++圖形用戶界面應用程序開發(fā)框架,Qt最大的不同就在語法結構簡單清晰,面向對象的特性體現的比MFC明顯[5]。Qt模塊之間相互獨立,并為用戶提供了良好的封裝庫,特別是使用信號/槽機制來取代回調函數,使用起來非常方便[6]。因此,本系統(tǒng)基于Qt技術開發(fā),系統(tǒng)的軟件架構如圖1所示。
食用菌栽培環(huán)境數據采集控制系統(tǒng)主要有以下7個功能模塊:
(1)系統(tǒng)登錄界面:使用系統(tǒng)之前需對用戶的合法性進行驗證,以此保障系統(tǒng)的安全性。
(2)環(huán)境采集間隔時間設定:系統(tǒng)的使用者可以通過此功能模塊設置采集環(huán)境數據的間隔時間,以此控制采集環(huán)境數據的頻率。
(3)食用菌設施栽培環(huán)境數據采集:此模塊將按照系統(tǒng)的采集間隔時間定期采集食用菌設施栽培環(huán)境數據,并顯示在系統(tǒng)的界面上。
(4)食用菌設施栽培條件設置:此模塊可以設置食用菌設施栽培條件,包括最低溫度、最高溫度、最低濕度、最高濕度、開燈時長等信息。
(5)食用菌設施栽培設備控制:系統(tǒng)運行模式為手動的情況下,系統(tǒng)使用者可以通過此模塊手動控制食用菌菇房內的執(zhí)行設備。
(6)系統(tǒng)運行模式設置:系統(tǒng)有手動和自動兩種運行模式,當系統(tǒng)運行模式為自動的時候,每次采集完環(huán)境數據后都會與系統(tǒng)運行參數比對,不符合要求的情況下會啟動相應的設備自動調控食用菌菇房內的環(huán)境參數。
(7)IP地址設置:此模塊主要用來設定系統(tǒng)通信設備的IP地址,它是一個IPV4的地址。
2 系統(tǒng)設計
基于Qt的食用菌栽培環(huán)境數據采集控制系統(tǒng)是在友善之臂6410開發(fā)板的基礎上進行的二次開發(fā)。該開發(fā)板支持Modbus協(xié)議查詢,Socket網絡傳輸以及底層繼電器的開關控制,與上海搜博公司生產的傳感器配套使用。采用232轉485轉換器實現與支持Modbus協(xié)議傳感器的串口通信,網線直接連接到交換機。
除了以上這部分之外,模塊還要與現場設備進行連接,系統(tǒng)采用的是I/O驅動的方式,通過6個I/O引腳控制升溫、風機、降溫、加濕器、循環(huán)風和LED燈。6個I/O口的分布圖如圖2所示。其中,采用的I/O引腳是CMOS攝像頭連接的接口,只用到了11~16共6個引腳,具體對應的設備如下:11→循環(huán)風控制,12→降溫控制,13→LED燈控制,14→加濕器控制,15→風機控制,16→升溫控制。開啟設備時,對應引腳為高電平(電壓為3.3V),關斷設備時,對應的引腳為低電平(電壓為0V)。
3 系統(tǒng)實現
3.1 基于Qt 的串口通信程序設計
ARM11內核的S3C6410嵌入式電路板的“/dev”路徑下存有各種設備驅動,其中ttySAC0用于輸出開發(fā)板的啟動配置信息,系統(tǒng)中的串口對應ttySAC3設備號。
完成串口對象及函數聲明,定義私有槽函數并完成信號與槽的連接。初始化串口設置(波特率、數據位等),采用Polling(輪詢方式)讀取串口,輪詢機制的讀寫函數是同步執(zhí)行的,可以通過創(chuàng)建定時器,實時讀取串口的事件內容。
3.2 GPIO字符設備驅動設計
GPIO驅動程序中,dev_operations_fops結構是字符設備驅動的核心,應用程序操作設備將調用該結構中的對應函數,實現對底層硬件設備(風機、加濕器、LED燈、空調等執(zhí)行設備)的操作。
3.3 系統(tǒng)主界面
圖3是系統(tǒng)主界面,通過此界面可以設置環(huán)境數據采集間隔時間、食用菌栽培條件、系統(tǒng)運行模式、通信設備IP地址,顯示食用菌設施栽培菇房內的實時環(huán)境數據(溫度、濕度、CO2濃度、光照強度),手動控制菇房內的執(zhí)行設備(風機、加濕器、LED燈、空調等)。
4 結論
經過測試,食用菌栽培環(huán)境數據采集控制系統(tǒng)實現了對食用菌設施栽培菇房內溫度、濕度、CO2濃度、光照強度的采集與控制,且方便維護,運行穩(wěn)定、可靠。當然,在實際應用中也發(fā)現了一些不足之處,例如栽培條件需要每天修改,可以利用數據庫技術,將食用菌栽培過程中每天的栽培條件存儲在數據庫中,另外采集到的環(huán)境數據也可以存儲在數據庫中,便于對食用菌菇房內的環(huán)境運轉情況進行分析并相應地做出改進。
參考文獻:
[1]郭海玲,劉園園,何濤等.基于智能預測算法的食用菌大棚溫濕度控制研究[J].農業(yè)與技術,2017,37(16):61.
[2]王明友,宋衛(wèi)東,肖宏儒等.我國食用菌工廠化生產監(jiān)控技術現狀與發(fā)展趨勢[J].農機化研究,2012(08):223-226.
[3]喻曉,夏澎.基于Qt的便攜式心電監(jiān)護儀GUI應用軟件設計[J].計算機系統(tǒng)應用,2017,26(05):221-226.
[4]李麗,蔣洪睿,劉亞軍.基于 MFC 封裝的Windows通信API的研究[J].計算機系統(tǒng)應用,1999,8(10):27-29.
[5]黎邦騰,梁薇,馬平.基于Qt平臺的OPC服務器的開發(fā)及仿真應用[J].計算機測量與控制,2017,25(11):154-158.
[6]王呂梁,郭唐永,李世鵬等.基于QT的機載三維激光掃描儀軟件系統(tǒng)設計[J].計算機系統(tǒng)應用,2017,26(04):61-66.