李成陽,左湘文,徐峰,荀家寶,陳偉軍
(寧夏大氣探測技術保障中心,寧夏銀川,750002)
關鍵字:樹莓派;土壤水分站;遠程控制;濕度監測
隨著人工智能、信息和5G技術的發展,無人值守、自動化、智能化自動氣象站已成為氣象現代化發展的趨勢。據統計,寧夏自治區全區氣象觀測站有1013個,其中自動土壤水分站有37個,自動氣象站故障約65%以上是電源所引起,因此,通過重新啟動電源可以解決此問題。自動氣象土壤水分站發生故障時,臺站維護值班員應立刻趕往觀測場進行現場維護,對于偏僻的艱苦臺站,維護保障人員不足且路途耗時較長,趕往現場需要花費時間和人力成本,因此開發自動氣象遠程控制系統,實現遠程值守尤為重要[1-2]。查看文獻發現,關于自動站遠程控制及監測,目前已有該領域的開發和應用。例如,蔡宏[1]等,開發了地面氣象觀測站遠程保障系統實現了對觀測設備遠程觀測。張初江[2]等,基于MCU控制單元,通過無線通訊模塊實現了設備信號強度等信息。對于觀測站維護保障工作的多樣性、及不便利性,區級業務管理部門每年耗費大量人力物力財力來集中針對新入職人員短時間培訓,但還不能完全滿足維修的業務需求[3-7]。因此,為了進一步提高災害性天氣的監測、預報、預警系統,觀測數據的可靠性和穩定性,有效地提高了自動氣象土壤水分站業務數據質量,滿足了目前觀測業務自動化、數字化的需求[8-9]。本文設計開發了自動土壤水分站遠程控制與監測系統,為實現自動土壤水分站快速、高效的故障維護和技術支持。
本文設計的系統由控制系統、數據采集系統和監測系統三部分組成。控制系統是通過3路RPi Relay Board模塊對自動氣象站電源通斷進行控制,同時利用TCP/UDP協議將控制結果反饋客戶端;數據采集系統是由接口控制板、數據采集器(HY101N)、擴展板三部分組成,通過minicom串口助手獲取狀態數據,獲取到的數據上傳到服務器,客戶端通過界面訪問服務器可以實時查看狀態數據;監測系統是通過MUSIC接口獲取數據,獲取到的數據通過Matplotlib實現數據可視化顯示。
系統的核心主體為樹莓派4B,樹莓派是一款基于ARM的微型電腦主板,看似簡單的配置只需要一個樹莓派、一個TF卡、一根網線、一個充電頭即可,但它的功能很強。具有極高的擴展性和易開發的特點。本文使用的是樹莓派4B為64位核心BCM2711處理器、運行內存為4GB、主頻為1.5GHz、雙mico HDMI端口、和千兆以太網等,系統為官方的Raspbian系統,配置相當可觀,可以用來數據分析及處理等完成復雜的計算任務。數據采集模塊是由采集箱、接口控制板、12v電源、HY101N采集器、擴展板、傳感器組成,控制模塊是由3路RPi Relay Board傳感器組成,通訊模塊由串口通信和WiFi通信模塊組成,監測模塊由土壤水探測器、總線、采集器、樹莓派組成,系統整體結構如下圖1所示。

圖1 系統整體結構
本文主要研究自動土壤水分站控制與濕度監測系統中的控制部分和監測部分,即通過數據采集模塊獲取實時數據,通過內置軟件進行處理,生成曲線圖進行實時顯示。通過3路RPi Relay Board傳感器進行控制電壓通斷。對樹莓派安裝相關支持數據及庫函數,所有軟件均使用Python開發。
文中土壤水分應用了多點可調水分探測器,它采用了頻域反射測量技術。多點可調水分探測器上面裝兩個電機,電極上電后電極振蕩產生信號頻率,通過信號頻率來測量土壤介電常數,信號頻率大小隨土壤介電常數改變而改變,介電常數與土壤水分密切相關。因此將多點可調水分探測器放入土壤中,利用電極振蕩產生信號頻率來測量土壤水分,如下圖2所示。

圖2 采集原理圖
本文采集模塊主要由傳感器、接口控制器、總線及固定結構、數據采集器組成。傳感器和接口控制器通過CAN總線連接,組成完整的土壤水分探測器;接口控制器與多個傳感器通過CAN總線上的插槽連接,從頂端插槽起,每隔10cm裝有一個插槽,從而確定深度為:10cm、20cm、30cm等,將傳感器插入插槽從而測出該層深度數據,并且將頂端插槽與接口控制器連接;接口控制器與數據采集器連接,當采集器向接口控制器發送采集命令時,接口控制器與之連接的各層傳感器取回數據,并進行處理、存儲。
本文設計采用面向對象的Python語言來描寫客戶端軟件,圖像界面選用Tkinter模塊,它是Python的標準Tk GUI工具包,同時Python本身集成了大量的實用類庫,該客戶端軟件在此環境下編譯完成。根據系統軟件的設計理念,文章中利用模塊化的設計理念來完成主界面的設計,考慮到數據的傳輸穩定性和可靠性本文選用TCP/IP協議,這樣可以更好地實現數據的實時獲取,查看曲線讀出實時土壤濕度值,主界面主要包括通訊模塊狀態顯示、數據傳輸模塊狀態顯示、數據監測模塊等,客戶端主界面如圖3所示。

圖3 土壤水分站遠程控制界面圖
本系統界面由視頻窗口、按鈕、文本文檔三部分組成,通過點擊對應的按鈕進行加載、運行后臺程序、將運行結果通過對應窗口顯示。
土壤濕度監測主要是通過氣象數據統一服務接口(MUSIC)獲取自動氣象站數據,利用公式:相對濕度=體積含水率/(土壤容量*田間持水量)計算出土壤相對濕度值,通過Python數據分析并安裝庫函數numpy、pandas、matplotlib.pyplot建立可視化曲線圖,該曲線圖時間用橫坐標表示,相對濕度用縱坐標表示,從而實現時間濕度動態曲線圖。
控制模塊主要是通過3路RPi Relay Board傳感器,在程序設計中對各個引腳進行定義,其中GPIO口為LOW時,LED點亮,GPIO口為HIGH時,LED熄滅。該傳感器核心代碼為:
# 設置GPIO口為BOARD編號規范gpio.setmode(gpio.BOARD)
# 設置GPIO口為輸出gpio.setup(in1,gpio.OUT)gpio.output(in1,gpio.HIGH)
# 設置輸出電平gpio.output(in1,gpio.LOW)
# 秒級延遲time.sleep(2)
# 設置輸出電平gpio.output(in1,gpio.HIGH)
樹莓派首先通過連接跳線帽來控制繼電器,該繼電器帶有三個連線端子,每個端子上分別有三個腳,用來連接外部電路,當樹莓派IO口輸出低電平時,則對應通道的LED燈點亮。同時繼電器常開觸點閉合或常閉觸點斷開,使得外部電路通斷狀態發生改變。
首先進行樹莓派串口設置,通過命令sudo raspiconfig打開串口,設置串口通信,然后重啟樹莓派,其次是通過命令sudo apt-get install minicom 安裝minicom,運行串口設置工具,進行mini串口設置、波特率配置等,運行minicom,從而獲取自動氣象站實時數據。
在實驗室對本系統進行整體測試,通過VNC遠程連接樹莓派,連接成功后打開系統,分別對界面上的土壤濕度信息、遠程控制、串口三個模塊進行綜合測試,整體測試效果圖如圖4所示。

圖4 系統整體測試效果圖
土壤濕度信息測試是通過點擊加載按鈕進行加測濕度監測程序,程序加載完成后點擊確定按鈕進行運行,并將土壤濕度信息運行結果以曲線的形式顯示在界面,該曲線圖描繪土壤濕度信息的歷史情況;遠程控制是通過選擇預設好的命令,先選擇對應命令,點擊運行按鈕執行對應程序,并將服務器連接情況、端口狀態、當前狀態信息等運行結果顯示在界面上;串口模塊測試是通過點擊串口按鈕運行串口程序,系統通過獲取端口、波特率、串口名稱、數據位、站號、土壤濕度等信息顯示在該界面。測試中發現直接點擊運行按鈕時,系統運行速度比較慢并有卡頓現象,通過給各個分系統分配不同的線程并增加清除按鈕,清除按鈕可以進行信息清除和重置,同時,運行時間大幅度減少,且各個模塊可以同時運行,便已用戶實時更新并關閉系統。
本文以樹莓派4B為主體,設計一款包括電壓控制、數據監測、動態曲線顯示等功能的監測控制系統,針對該功能模塊進行了軟硬件設計,實現了實時監測和自動控制為臺站人員提供了高效的維護工作效率。此設計方案的意義在于將樹莓派、4G通信技術和自動化設備有效的結合,擴展了智能控制的應用方式,體現了物聯網的概念。