張權,楊振宇,郭亞
(江南大學 物聯網工程學院,江蘇 無錫 214122)
2018年初大范圍暴雪,安徽、湖北、湖南等省部分地區種植養殖業大棚大面積損毀,農作物受災嚴重,受災面積達34.13萬hm2,其中絕收1.65萬hm2,直接經濟損失達25.1億元[1]。而這其中因薄膜大棚積雪未受到及時清理所造成的經濟損失占了絕大部分[2]。據相關調查報告顯示,我國北方的降雪量將會逐年上升,這也意味著積雪將成為農業生產中越來越嚴重的隱患[3]。受災大棚大多是塑料薄膜大棚,即頂部和四周覆蓋材料都是塑料薄膜的連棟溫室,與玻璃溫室和陽光板溫室在覆蓋材料和骨架構建上有著一定的區別[4]。連棟薄膜溫室的骨架一般都比較輕便,價格也比較便宜。溫室薄膜在中國應用多年,但高端薄膜的應用并不是很普遍[5],市場上走高端路線的進口薄膜主要來自日本、以色列、希臘等國家[6]。雖然近幾年中國花卉行業對進口膜的需求量有所增長,但仍然在小規模試用階段。
國內對溫室大棚積雪檢測大多都是通過衛星遙感圖像獲得大面積區域的積雪厚度或利用RGB傳感器,采集多通道彩色光譜信息,通過積雪的表面反射光譜曲線及變化特征來分析積雪厚度。但衛星遙感只適用于大范圍積雪的積雪厚度;RGB傳感器采集的多通道彩色圖像的計算量較大,兩者均不適合小型系統在線使用[7]。
我國農業用大棚主要為質量一般價格低廉的薄膜大棚,其抗沖擊性和承重力都會受其成本的制約。在我國大面積使用普通薄膜大棚的情況下[8],寒冷暴雪天氣又時常出現,棚頂積雪也就很容易導致大棚坍塌。目前,農民清除積雪的方式主要為人工鏟雪,農戶需憑借著多年的種植經驗預估大棚積雪的情況來進行除雪,這種情況往往風險較高且受種植經驗限制[9]。而通過大棚積雪報警器發送信息來提醒主人及時清理積雪,能夠有效地減少農業上的經濟損失,具有極高的研究意義和使用價值。
通過設備終端搭載的薄膜壓力傳感器采集積雪對大棚實時的壓力,傳輸到微控制單元(MCU)進行處理,通過搭載的NB-IoT模塊將數據發送到云端服務器進行處理和儲存。再通過客戶端微信小程序進入系統,查看當前以及未來幾天的天氣數據,通過向服務器發送請求,接受服務器響應并處理,生成一個實時的動態壓力曲線。最后結合當前天氣數據以及壓力數據進行系統評估和預判,看是否達到設定的閾值,若未達到預估還需多久達到閾值。真正做到采集、傳輸、處理、展示、分析一體化和智能化的積雪報警系統(圖1)。

圖1 系統的流程
該系統選用的MCU主要包括STM32與BC95模塊。STM32L151單片機功耗較低,能夠在大棚中工作較長時間;性價比高,滿足廣大農戶對于成本低的需要;配置較為靈活[10],使用起來更加方便。通信模塊選用的BC95模塊由移遠通信公司生產[11],通過電信NB-IOT網絡進行通信,該網絡覆蓋好,傳輸穩定(圖2)。

圖2 STM32的連接電路
本系統的工作流程如下:FSR薄膜壓力傳感器將壓力數值轉換為電阻的數值變換,接入信號轉換模塊后轉換為電壓信號便于STM32接收,再由AO(Analogy Input,模擬量輸出)接口輸出,同時STM32發送AT指令給BC95模塊,等待注網成功后接收數據,接收到數據后將數據組合為BC95的發送格式,通過轉發網關,使得NB終端能夠訪問任意公網地址。而該轉發網關目前只支持UDP數據包轉發[12],所以本節點通過UDP協議發送包裝好的數據。
服務器端監控端口,接收到BC95發送的數據后將序號、時間、壓力信息分別記錄下來,服務器端可以使用Excel格式保存,也可以使用串口調試工具查看。
用戶端使用微信小程序,小程序通過訪問服務器來請求數據,服務器接收到請求后將數據發送給小程序,用戶便可以在手機上查看實時數據。同時根據用戶大棚的具體情況設置警戒值,在壓力達到閾值之前向用戶發出警告。
考慮到大棚的應用場景,本系統采用NB-IOT技術來實現數據的傳輸,模塊則采用移遠技術公司的BC95模塊[13]。只占用大約180 kHz的帶寬,可直接部署于GSM網絡、UMTS網絡或LTE網[14]。大棚作為戶外設施,NB-IOT網絡可實現對各個地區信號的較完美覆蓋,且功耗低、工作周期長,完美契合大棚積雪報警系統的需求,是數據實時上報的最佳選擇。
本系統在服務器端采用時下流行的云服務器,云服務器是一種簡單高效、安全可靠、處理能力可彈性伸縮的計算服務器[15]。其管理方式比物理服務器更簡單高效。無需提前購買硬件,即可迅速創建或釋放任意多臺云服務器,降低開發運維的難度和整體IT成本。符合本項目低成本、拓展性高的需求。同時,云服務器作為客戶端的服務器,響應請求的能力[16],具有極高的優越性。
在服務器端利用Python編寫的程序接收來自指定端口的序號、時間、壓力數據,執行數據存儲操作,將數據存儲到指定文件中。當Java后臺服務器程序接收到來自客戶端微信小程序的數據請求時,執行數據讀取操作,將結果以Json格式發送回客戶端(圖3)。

圖3 服務器的接收數據
隨著智能手機與移動互聯網的不斷發展,微信的不斷普及,微信小程序相較于傳統APP的優勢越發顯現出來[17]。它不需要下載安裝即可使用,方便對手機操作不太熟悉的農民使用。圖4為用戶操作的主界面。

圖4 用戶操作的主界面
在邏輯層面,微信小程序在用戶點擊獲取壓力數據按鈕時,小程序將向服務器發送數據請求。在接收到服務器返回的Json數據后,程序將對其進行解析,提取有用的數據信息進行可視化處理[18],并且根據當前壓力值及天氣狀況對之后可能發生的危險情況進行預判,給出提示。圖5為客戶端流程圖。

圖5 客戶端的流程
我們將該系統放置了大概10 h,在10 h中服務器端儲存了大概29 000個數據,數據數值平緩,傳輸穩定,且能夠靈敏地檢測到壓力的變化,能夠滿足對壓力的實時監控與長時間監測的需要。用戶也能夠在手機上接收到服務器傳輸的數據,并以直觀的圖表形式呈現,便于用戶理解。圖6為服務器測試時接收數據的圖像,可以看到在傳感器沒有接收到壓力時,電壓數值一直穩定在4 090 mV上下,即此時傳感器端壓力為0 N,在施加力之后服務器接收到的數值立刻發生了變化,降到281 mV,此時傳感器上的壓力大約為60 N。能夠實現數據的實時傳輸,且運行穩定(圖7)。

圖6 服務器端接受的數據

圖7 實際測試的壓力曲線
本文根據農業薄膜大棚的特點,設計了一套基于NB-IOT與FSR薄膜傳感器的薄膜溫室大棚積雪報警系統。能夠實時檢測大棚積雪程度并做出可視化模型,并在達到閾值前向用戶發出警告,提醒用戶及時清雪。硬件部分采用STM-32L151與BC95模塊,可靠性高。傳輸層采用NB-IOT網絡,具有較高的覆蓋性,信號穩定。系統在實際的應用中運行穩定,監控的實時性好,且功率消耗小,具有較高的性價比,能夠有效地減少積雪對大棚農戶造成的損失。本設計成本較低,適用于中小規模的農戶。