徐磊 陳德勝
(武漢輕工大學人文與傳媒學院,湖北 武漢 430000)
隨著科技的飛速發展,智慧農業已成為現代農業領域的一個重要趨勢,不僅提高了農業生產效益,還有助于實現農村振興和建設農業強國的目標[1]。智慧農業借助先進的信息技術和傳感器設備,實現了農業生產過程的自動化、精細化和智能化,為農民提供了更多的生產手段和管理工具,也有助于保護環境和資源的可持續利用[2]。
在智慧農業中,傳感器技術是關鍵的基礎。傳感器可以實時監測土壤溫度、濕度、光照強度、氣溫等環境參數,以及作物的生長狀態,將這些數據傳輸到農場管理系統中[3]。這些數據不僅幫助農民更好地了解農田的狀況,還可以通過智能算法進行分析,提供決策支持,如何更好地管理灌溉、施肥、病蟲害防治等[4],智慧農業還可以通過機器視覺技術來檢測作物的生長情況和質量,進一步提高農產品的質量和產量[5]。
LabVIEW軟件是一個非常有用的工具,其基于數據流和并行運行的原理,提供了豐富的VISA(Virtual Instrument Software Architecture)和數據處理工具,非常適合用于智慧農業中的數據采集、處理和分析[6,7]。LabVIEW的波形圖顯示功能使用戶能夠直觀地查看采集到的數據,幫助農民和農場管理人員更好地理解農田的狀況[8]。
總的來說,智慧農業是未來農業發展的重要方向,通過優化和改善數據采集、處理和分析的過程,可以更好地實現農業現代化和提高生產效益,為農村振興和農業強國的目標作出更大的貢獻。本文針對我國現代化農業發展現狀,結合大量的參考資料和相關領域研究成果,設計了一套基于LabVIEW的智能農業信息采集處理系統,用戶可以通過該系統實時地監測到農作物的相關信息。
本課題是要實現基于LabVIEW的智能農業信息采集處理,利用LabVIEW對溫濕度傳感器進行實時數據收集,實現對農田、大棚、溫室等農業環境和植物生態的智能監控,目的是實現對溫濕度、光照等數據信息進行實時的顯示。
本文主要著手于建立結構簡單、功耗低、易操作、功能穩定的智能農業監控系統,該下系統的設計分為數據采集和數據處理2個部分,其中數據采集部分包括蜂鳴器模塊、LED指示燈模塊、單片機模塊、串口模塊和供電電池等[9];數據處理部分是由上位機LabVIEW組成,主要提供數據接受、顯示界面、人機交互的平臺。整個系統是由單片機負責對當前環境進行數據采集,之后在上位機進行后續的數據分析以及處理。
溫濕度傳感器的選擇對監測溫度數據至關重要。傳感器的種類不同會對測量對象的溫度產生一定的影響,從而產生誤差,因此經過調查研究,加上條件限制,本文決定選取AM2302作為數據采集的傳感器,其采用STM8S處理器,傳感器工作電壓為5V,濕度最大量程是99.9%RH,濕度分辨率為0.1%RH 16bits,而溫度最低量程是-40℃,最高溫度是80℃,溫度分辨率為0.1℃ 16bits[10,11]。
本次實驗使用的是STM8S單片機,其通過A/D轉換口將模擬信號轉換為數字信號,具有電路結構簡單、降低實驗成本、低電健壯性等優點,溫濕度傳感器的STM8S單片機功能主要可分為以下幾個部分:頻率采集部分、電壓采集部分、PWM輸出部分、串口通信部分[12]。頻率采集部分是用來采集溫濕度采集電路所采集的方波頻率;電壓采集部分是用來獲取溫濕度傳感器輸出的電壓信號;PWM輸出部分是將單片機處理的數據再進行處理;串口通信部分是將單片機處理好的數據通過串口發送給上位機。
美國NI公司自行研發的LabVIEW是NI設計平臺的核心,其是一種與C和BASIC相似的開發環境[13]。其是一種易上手、簡潔的圖形化編程語言,可以將復雜的文本語言轉換成用圖標表示的語言,用戶在使用時不必編寫代碼,只需添加控件以及連線即可,可以直觀的顯示所收集的數據[14]。
LabVIEW可以與GPIB、VXI、RS-2302和RS-485等串口實現通信,并且可以代替數據采集卡的功能,而且提供了支持TCP/IP、ActiveX等軟件標準的庫函數,從而讓用戶能夠使用各種通信協和標準庫函數完成數據的采集處理等功能[15,16]。本系統是通過RS-485和LabVIEW提供的VISA節點實現數據傳輸的。
上位機可以利用該VISA庫函數來控制傳感器。在使用LabVIEW軟件進行信息采集時,可以利用VISA配置串口接收數據報,再利用VISA讀取串口讀取出來。在LabVIEW2018中,共有8個VISA函數,分別用于串口配置、串口讀寫、串口字節數設置等方面。
在每一個完整的LabVIEW中都有一個前面板和對應的程序框圖,前面板是由一個個控件組成的,是直接與用戶溝通的界面,程序框圖是由各種函數組成的。LabVIEW目前較多應用于汽車、工業、航天、學校等領域,是一種數據采集和測量儀器的標準軟件。
LabVIEW前面板中含有許多顯示控件,如數值輸出控件、布爾、數組等,用戶可以直接使用。因此,LabVIEW大大縮短了軟件的研發周期。LabVIEW可以和其它語言聯合編程,如JAVA、C等,如可以將C語言放到LabVIEW程序,這樣可以使LabVIEW實現一些其不曾擁有的功能。
綜上所述,系統的總方案確定如下:傳感器采集數據部分是由AM2302和單片機STM8S構成,采集當前環境中的溫濕度值。通過RS-485和VISA節點將數據傳輸給上位機,通過設計的LabVIEW程序實時顯示數據。
系統仿真設計部分是為了驗證LabVIEW的實時數據采集功能,并為后續實際應用做好準備。本節將詳細描述系統的框架圖、界面以及各個功能模塊的設計。
系統的整體框架如圖1所示。確保上位機與下位機的通信波特率一致,以確保通信的可靠性。上位機程序包括初始化工作,數據采集和顯示、數據存儲以及溫濕度報警幾個部分。
在初始化階段,設置通信波特率為9600bit·s-1,確保上位機與下位機的通信參數一致。此外,要確保前面板已正確設置串口通信的COM口,以建立穩定的通信連接。在數據采集和顯示部分,數據采集和顯示模塊使用自定義函數和條件結構,以實現溫度數據的實時顯示。采集到的數據會以直觀的方式呈現在上位機界面上,為用戶提供了即時的信息。
為了方便后續查詢和分析,設計了數據存儲功能,將采集到的數據信息存儲在文本文件中。這有助于記錄歷史數據,進行長期趨勢分析,以及滿足數據備份需求。溫度報警功能是系統的重要組成部分。如果采集到的溫度數據超過預設的閾值,報警燈將亮起,提醒操作人員采取必要的措施。這一功能可以幫助及時發現溫度異常情況,防止可能的損害或事故。
在設計模擬發送的正弦函數時,需要注意正弦信號的范圍通常在-1~+1,因此需要進行適當的調節,以確保程序的正常運行。同時,設置溫度報警功能是確保操作人員能夠及時應對溫度異常情況的重要一步。
總之,系統的設計應確保正確解讀通信協議、準確采集和顯示數據,以及實現必要的報警和數據存儲功能,從而保證系統的可靠性和有效性。這一仿真設計為系統的實際應用奠定了堅實的基礎。

圖1 程序框圖
仿真部分的界面可以分為2部分,數據發送部分,利用正弦函數生成模擬數據,通過VISA通信接口與下位機建立連接并循環發送數據,同時提供用戶界面元素以便調整正弦函數參數(如振幅、頻率或相位),并在前面板上實時顯示數據,模擬實際傳感器采集到的信息并支持連續數據采集。
數據接收以及顯示處理部分,使用VISA通信接口接收來自下位機或設備的數據,將這些數據以可視化形式顯示在波形圖上,同時設置了上限報警機制,以確保數據安全性,當數據超過預設上限時會觸發報警,如指示燈亮起。此外,還實現了延時顯示功能,以降低數據顯示的刷新率,提高界面的穩定性和可讀性,并設計了保存數據到文件的功能,以便用戶進行后續的數據分析或存檔操作。
這2部分的設計能夠模擬實際的數據采集和處理過程。確保在實際實施時,數據的發送和接收之間的通信協議和參數設置是一致的,以確保仿真的準確性和可靠性。
為了驗證系統的合理性,本部分使用模擬軟件來測試所設計的系統的功能是非常重要的步驟。模擬軟件可以模擬系統的運行和交互,以評估系統在不同情境下的性能和功能是否符合預期。
在開始測試之前,需要打開vspd軟件,并點擊“Add pair”來創建虛擬串口對,這對后續操作非常重要,因為其為程序的順利運行提供了虛擬串口的支持。接下來,打開LabVIEW軟件,并加載設計的VI程序。在程序中,選擇將數據保存到以.txt結尾的記事本文件,并將數據保存格式設置為保留小數點后2位。
在LabVIEW程序的前面板中,需要配置VISA接收口為COM2,VISA發送口為COM1,并確保其波特率、數據比特和停止位等參數保持一致。一切準備就緒后,單擊“運行”按鈕。在本次設計中,使用正弦函數模擬發送溫度數據,這些數據會實時顯示在波形圖上。此外,當溫度超過60℃時,報警燈會點亮。測試過程中生成的數據會被保存在之前選擇的記事本文件中。
通過這些步驟,能夠驗證系統的功能是否按照預期工作,并且能夠在不同情境下模擬系統的性能。這對于確保系統的合理性和穩定性非常重要。
為了進一步驗證系統的可行性,本節通過LabVIEW設計了一個數據處理程序,主要用于采集AM2302溫濕度傳感器發送的數據,并對這些數據進行可視化處理。在整個程序中先設置好VISA函數,再設計數據解析部分,將接收到的串口數據包進行處理,然后得到所需要的溫濕度值,再分別對溫濕度值進行處理,之后顯示到波形圖上,并且對溫濕度值進行閾值報警處理,最后將數據分別保存到文本文件中。
為了更便于監控,本文創建一個用戶友好的界面,使用戶能夠輕松操作和監控數據采集和處理過程。這包括添加控件用于啟動和停止數據采集、調整參數以及保存數據等功能。
實現部分的程序是在仿真程序的基礎上進行加工,是接收處理AM2302溫濕度傳感器所采集的數據,該界面可以分為3大部分:數據解析、數據保存格式、數據波形顯示。
數據解析部分,在進行設計前,需要先查詢串口協議等信息,傳感器所發送的串口數據包總共包含14個字節,其中前2個字節表示幀的開始(SOF),第3個字節表示傳感器類型,第4個字節表示傳感器ID,第5個字節表示命令ID,第6~13個字節表示濕度和溫度數據,最后1個字節表示幀的結束位。
在AM2302傳感器的數據包中,HH和HL分別表示濕度的高八位和低八位數據,TH和TL表示溫度的高八位和低八位數據。根據《CBT模塊通訊協議》文檔的查詢,濕度的值可以通過將HH的值轉換為十進制并乘以256,然后加上HL的十進制值,最后除以10來得出,單位為百分比(%)。溫度的值可以通過將TH的值轉換為十進制并乘以256,然后加上TL的十進制值,最后除以10來得出,單位為攝氏度(℃)。
以1組數據“EE CC OA 01 01 00 00 02 61 00 F2 00 00 FF”為例來計算,HH=02,HL=61,TH=00,TL=F2,計算濕度為60.9%,溫度為24.2℃。這個數據解析方法可以用來準確地從傳感器發送的數據包中提取濕度和溫度信息。
在前期工作完成后,可以著手設計LabVIEW數據解析部分,以將串口中發送的數據經過設計的數據解析程序讀取出來。在設計數據解析模塊時,需要明確定義串口指令,以確保可以準確地讀取所需的數據。接下來,將讀取到的十六進制數據轉化為十進制。在這個流程中,數據包以“EECC 0A01 0100 00”開頭,以“FF”結尾,而中間部分包含了所需的數據。
這個數據解析部分的設計將確保能夠有效地從串口接收的數據中提取所需的信息,并進行進一步的處理和分析。
數據保存格式部分,該部分是設計溫濕度數據保存程序,包括保存路徑的選擇和保存格式的定義。首先提醒工作人員選擇保存路徑,在退出程序時,用戶將收到提示,要求選擇保存溫濕度數據的文件路徑;設計保存格式,具體格式包括將數值轉換為小數形式,并保存小數點后2位。此外,在文檔中還需包括采集數據的時間戳。
這個部分的設計確保了溫濕度數據能夠以規范的格式和時間戳保存,以便后續的數據分析和記錄。用戶可以自主選擇保存的路徑,而數據則以易于閱讀和分析的形式存儲。
數據波形顯示部分,在數據解析后,將這些數據分別可視化顯示在波形圖上。在波形圖中,設計了溫濕度閾值,當數據超過這些閾值時,會觸發報警機制,導致報警燈點亮。如果報警燈保持紅色,表明當前溫濕度值不適合農作物的生長,此時需要工作人員采取相應的措施。
為了確保LabVIEW程序的可移植性和安全性,希望能夠將其生成為可執行文件(exe)。通過這種方式,可以將LabVIEW程序打包成一個獨立的可執行文件,用戶可以在不需要額外安裝LabVIEW環境的情況下直接在其他電腦上運行。此外,生成的可執行文件會自動包含所需的驅動組件,使用戶無需手動配置相關環境,提高了程序的易用性和安全性。
這一步驟對于確保LabVIEW程序在不同計算機上的可用性和穩定性至關重要,特別是在需要分享程序或在沒有LabVIEW開發環境的計算機上運行時。這種方式確保了程序的獨立性,用戶可以方便地安裝和使用,同時保護了程序的完整性和安全性。
本次實驗使用AM2302溫濕度傳感器進行數據采集,其中代碼已編譯完成,只需通過串口讀取數據即可。首先保證前面板中的端口號與傳感器的串口號一致;設置波特率為115200,數據位為8,停止位為1,將溫度閾值設為30℃,濕度閾值設為70%;將所采集到的數據顯示到控制面板中。完成準備工作后,開始運行程序,當濕度超過70%時,報警燈亮起。在程序退出時,系統會提示用戶選擇溫度和濕度數據的保存路徑。
最終所采集到的數據如圖2所示,保存的數據格式如圖3所示,在文本文檔中包括了采集數據的時間戳,并將溫濕度數據保留了小數點后2位。值得注意的是,在本次數據采集過程中,手指的觸碰對傳感器產生了影響,使得溫濕度數據值發生了變化。

圖2 前面板圖

圖3 溫濕度數據圖
這個實驗結果展示了程序的功能,包括數據采集、報警功能、數據保存和時間戳記錄。這些功能有助于監測溫濕度變化,并保存數據以供后續分析和記錄。
在本實驗設計中,溫濕度報警值是根據實驗的需要隨意選擇的,但在實際應用中,可以根據具體農作物的生長需求來選擇合適的溫濕度報警值。這樣的靈活性可以確保環境參數與農作物的要求相匹配,當數據長時間超過所設定的報警值時,工作人員可以采取相應的措施,以確保當前的環境恢復到適宜農作物生長的狀態。
因此,在實際農業生產中,根據不同的農作物種類和生長階段,可以調整溫濕度報警值,以滿足特定作物的生長需求。這種定制化的環境監測和報警系統有助于提高農作物的產量和質量,并最大程度地減少不利環境因素對農業生產的影響。
本文成功完成了基于LabVIEW的智能農業信息采集處理系統的設計,實現了數據的有效采集和處理。通過下位機上的傳感器,系統可以實時采集農作物生長環境的相關數據。上位機對這些數據進行處理和判斷,經過大量測試表明系統能夠穩定地實時收集數據。這對于實現農作物生長環境的智能化測控管理具有積極的作用,具備廣泛的推廣應用價值。