





摘 "要:隨著物聯網在鄉村振興戰略中的普及應用,越來越多的種植基地和農戶引入物聯網系統進行精細化種植管理。金華市浦江縣的高山有機獼猴桃種植基地引入基于物聯網的智慧果園檢測系統用于檢測獼猴桃的生長情況。系統能夠通過部署在園區中的設備檢測獼猴桃生長相關的天氣、土壤水分等數據,通過NB-IoT的方式進行傳輸,并在阿里云物聯網平臺中進行匯總,最終通過數據可視化大屏呈現物聯網數據,農戶可以通過大屏方便地了解園區的整體情況并制定后續的管理養護計劃。系統為類似的智慧農業應用快速開發,種植基地的轉型升級提供參考。
關鍵詞:智慧農業;環境監測;物聯網;云平臺;測試
中圖分類號:TP399 " " "文獻標志碼:A " " " " "文章編號:2096-9902(2023)01-0027-06
Abstract: With the popularization and application of the Internet of Things in the rural revitalization strategy, more and more planting bases and farmers introduce the Internet of Things system for fine planting management. The alpine organic kiwifruit planting base in Pujiang County of Jinhua City introduced an smart orchard detection system based on the Internet of Things to detect the growth of kiwifruit. The system can detect the weather, soil moisture and other data related to kiwifruit growth through the equipment deployed in the park, transmit them through NB-IoT, and summarize them in the Alibaba Cloud Internet of Things platform, and finally present the Internet of Things data through the data visualization screen. Farmers can easily understand the overall situation of the park and make follow-up management and maintenance plans through the big screen. The system provides a reference for the rapid development of similar smart agricultural applications and the transformation and upgrading of planting bases.
Keywords: smart agriculture; environmental monitoring; Internet of Things; cloud platform; testing
黨的十九大報告中明確強調要“實施鄉村振興戰略”,并提出了“產業興旺、生態宜居、鄉風文明、治理有效、生活富裕”的總體要求。在鄉村振興的大背景下,新一代的信息技術是鄉村產業的長期發展與根本創新的必要手段。隨著信息技術的不斷迭代,物聯網概念在農業生產管理環節內的從無到有、不斷深入,規模化、科學化、數據化的種植方式已經愈發成為行業趨勢。通過在種植生產過程中引入物聯網設備和配套應用系統,農民能夠更加精細、科學地管理種植作物,量化改善農產品的品質,為農產品賦予更多的經濟附加價值,最終實現振興增收。
金華市浦江縣位于浙江省中部,行政區內地形丘陵地帶較多,總體氣候屬于溫帶氣候,環境適宜,日照充足,適合種植高端經濟作物,如巨峰葡萄、黃桃、獼猴桃等有機水果。其中,獼猴桃的種植、培育、收獲過程相對復雜,為了保證果品產出的質量是優勢并且穩定,在生產過程中比其他高經濟作物更加需要精細的管理與控制。文章以浦江縣高山獼猴桃種植基地為背景,探討基于阿里云物聯網平臺的智慧果園監測系統的設計方案與快速搭建過程,并作為具體的應用案例為其他地區的應用和拓展提供借鑒思路。
1 系統整體設計
物聯網是互聯網的高級姿態,在互聯網中連接的主體是人,而物聯網連接的主體則是物,同時物聯網中不僅含有物與物的連接,還包括人與物、人與人的連接[1]。因此,物聯網的架構和組成相對互聯網更加復雜。物聯網的架構包含了感知層、網絡層、應用層3個層級,而系統的整體設計結合實際情況的不同維度進行評估,綜合考慮了3個層級內合適的硬件設備和配套的軟件功能。在系統中,感知層主要包含部署在獼猴桃果園中各個點位的監測設備。網絡層主要負責設備與云平臺的通信,系統采用了NB-IoT的方式進行設備與云平臺之間的數據傳輸。阿里云產品較為成熟,在物聯網項目中有著較為廣泛的應用[2-5],因此系統層依托阿里云的物聯網平臺產品和阿里云表格存儲服務產品,以及數據可視化大屏實現應用層數據接收、處理、存儲和展示的各項功能,系統整體架構如圖1所示。
智慧果園監測系統中的監測設備以Arduino微型控制板為核心,利用天氣傳感器檢測溫度和濕度信號數值,同時利用土壤濕度傳感器檢測土壤中的含水量信號數值進行實時采集。傳感器采集到的電信號經過Arduino主板的處理轉換,得到具體的植物生長環境數據,再通過NB-IoT通信模塊利用MQTT協議進行封裝發送,傳輸至阿里云物聯網平臺進行匯總。在阿里云中,數據經過物聯網平臺的收集匯總后會進一步流轉至阿里云表格存儲數據庫中進行存儲,最終在阿里云物聯網前端數據大屏中進行可視化展示。在智慧果園大屏上,數據將以圖表的形式進行展示,并且實時提示異常值,農民可以監控獼猴桃種植基地各種植區塊的實時環境狀態,并根據大屏提示的異常值快速反應,及時調整種植養護計劃,實現精準管理。
2 硬件選型
為快速搭建智慧果園物聯網監測系統,硬件設備的實現主要通過模塊化組裝實現。模塊化組裝即選用成熟的單片機控制主板、傳感器模組、通信模組等模組組件,通過插入接口針腳或者連接排線的方式進行組裝,實現各模組之間的連接互通,如圖2所示。
2.1 核心板和擴展板
設備開發主板選擇的是Arduino Uno主板。Arduino Uno使用了ATmega328p微控制器,主要提供了6個模擬引腳和14個數字引腳,并且支持I2C通信,適合物聯網設備快速開發[6]。開發板通過USB串口線連接電腦。在電腦上可以使用Arduino Studio開發并且燒錄程序。由于基礎的Arduino Uno開發板僅提供了數據引腳,但是每個接入的傳感器仍需要供電等線路引腳,因此為了方便搭建,硬件設備在Arduino Uno主板的基礎上,使用YWROBOT IO Sensor shield V3拓展板,對主板的針腳接口進行拓展。其他的傳感器可以通過標準的杜邦線直接連接拓展版,減少開發中亂跳線的問題,提高開發效率。
2.2 天氣數據測量
天氣數據使用SKU SEN0236傳感器模組進行采集。傳感器模組中的核心元件為BME280傳感器,其能夠集成監測溫度、濕度和氣壓環境數據,具有高精度、多功能、小尺寸等特點,適合在環境監測場景中快速搭建設備原型。傳感器模組采用I2C通信方式與核心板進行數據傳輸,在具體的搭建過程中,采用廠家配套提供的4Pin連接線,并根據圖3所示的接口順序,分別將4根排線連接至擴展板上的供電VCC和GND接口,以及I2C通信SCL和SDA接口即可完成天氣傳感器模組與拓展板的連接。
2.3 土壤含水量測量
土壤含水量傳感器選擇的是SKU SEN0114電阻式傳感器。土壤含水量傳感器的工作原理如圖 4所示,當土壤含水量傳感器探頭懸空時,三極管基極處于開路狀態,三極管截止輸出為0;當插入土壤中時由于土壤中水分含量不同,土壤的電阻值就不同,三極管的基極就提供了大小變化的導通電流,三極管集電極到發射極的導通電流受到基極控制,經過發射極的下拉電阻后轉換成電壓。模組可以通過3Pin排線連接至擴展板的模擬I/O接口,以及供電VCC和GND接口,如圖5所示。Arduino主板通過模擬I/O接口,讀取模組上DATA引腳的電壓,最終計算土壤含水量數據。
2.4 數據通信
由于獼猴桃主要在戶外種植,因此公共的NB-IoT網絡更加適合數據傳輸[7]。系統為接入NB-IoT網絡,采用了NB-IoT通信模塊,該模塊為1塊單獨的電路板,在模塊的中心設有BC-26通信芯片和SIM卡插槽,在模塊的左右兩邊設有與Arduino兼容的針腳接口,能夠直接安插在Arduino主板之上,并且使用TX、RX串口與Arduino主板進行通信,實現數據交互。模塊的上部設有小型的天線,用于增強信號的發送和接收。BC-26通信芯片支持低供電電壓范圍(2.1~3.63 V),能夠被便攜電池組驅動供電,適合NB-IoT技術的物聯網應用場景。
3 軟件設計
智慧果園檢測系統的軟件子系統包含3大部分。第一部分是物聯網設備上的采用C語言編寫的軟件,其能夠驅動設備采集溫度、濕度、土壤含水量等數據,并將數據進行封裝通過MQTT協議依托NB-IoT通信網絡方式發送。第二部分是阿里云中物聯網平臺和表格存儲服務2款產品的配置應用,通過配置參數即可完成云平臺中設備的管理和數據的收集功能。第三部分是采用阿里云IoT Stuido產品,進行低代碼方式開發的數據可視化大屏,作為物聯網系統中的應用層核心功能,將果園植物生長數據進行展示,使農戶能夠直觀地了解果園的實時狀況。
3.1 設備軟件設計
設備軟件依托Arduino控制板通用的程序模板,在Arduino Studio開發軟件中進行開發。設備端軟件主要實現的功能包括啟動并初始化設備各組件、連接NB-IoT網絡及阿里云物聯網平臺、收集并處理傳感器模組采集到的信號數據、對傳感器數據按格式進行封裝并通過MQTT協議發送至物聯網平臺。程序的總體流程如圖6所示,首先在程序的setup()函數中,Arduino主板會對NB-IoT通信模塊、傳感器模塊和串口等組件進行初始化。其次程序與NB-IoT模塊使用串口命令進行通信,實現NB-IoT網絡附著和阿里云物聯網平臺的連接。再次,程序使用bme.readTemperature()等函數和analogRead(A0)函數分別從天氣傳感器模組和土壤水分傳感器模組讀取相應數據。從次,程序將得到的傳感器數據按照阿里云規定的JSON格式進行封裝,通過MQTT協議發送到阿里云平臺,并利用循環判斷確保數據送達。最后在完成信息發送后,為了避免流量的消耗,程序設置斷開MQTT連接及NB-IoT連接的操作,即完成一次數據獲取和上傳的過程。
程序中較為復雜的部分為實現NB-IoT網絡連接以及登錄阿里云物聯網平臺的過程。如圖7所示,使用NB-IoT通信模塊,向阿里云物聯網平臺發送數據的過程可以大致分為初始化配置NB-IoT模塊、連接NB-IoT網絡、連接阿里云物聯網平臺、上傳物聯網數據及斷開連接等步驟。首先,在初始化配置NB-IoT模塊的過程中,主要的流程包括重啟初始化NB-IoT模塊、確認Arduino和NB-IoT模塊串口通信的波特率、關閉ATE0指令回顯這3個操作。其次,通過“AT+CGATT?”命令控制NB-IoT連接運營商搭建的NB-IoT網絡,若模塊返回“**+CGATT:1**”,則說明網絡附著成功。再次,與通信模塊連接阿里云平臺相關的命令語句主要為“AT+QMTCFG”、“AT+QMTOPEN”、“AT+QMTCONN”,分別完成預設鑒權信息、發送鑒權請求、建立MQTT連接這3項操作。最后程序會使用判斷循環確保與阿里云平臺的連接成功建立,以完成后續的數據傳輸功能。
3.2 云服務配置
系統中的物聯網平臺依托阿里云提供的物聯網平臺,利用其能夠快速實現設備的接入、管理、數據查看等優勢進行配置部署。此外,阿里云物聯網平臺還可以與其他阿里云產品進行快速對接,實現更復雜功能的快速開發。配置阿里云物聯網平臺服務主要分3個步驟。
第一,在阿里云物聯網平臺中,創建物聯網產品,產品相當于一類設備或項目中所有設備的集合。新建的過程需要中定義產品名稱、傳輸方式為蜂窩(2G/3G/4G/5G)和數據解析方式為Alink JSON。
第二,為產品定義其所需要采集的智慧果園屬性信息,包括溫度、空氣濕度、氣壓和土壤濕度等。以溫度屬性的設置為例,選擇添加自定義功能,設置功能類型為屬性,功能名稱為溫度,功能表示符為Temperature,數據類型為float浮點型,取值范圍為-10~60、步長為0.01、單位為℃等信息。完成所有的屬性設置后,將功能定義草稿進行發布即可。
第三,創建具體的設備,并記錄設備信息。在設備界面通過添加設備功能,指定設備關聯的產品和設備名稱后即可創建設備。成功創建設備后,進入到設備的詳情頁面,查詢得到設備的三元組鑒權信息,即ProductKey、DeviceName和DeviceSecret。根據得到的三元組信息對設備程序中對應的數據進行修改后燒錄,設備便可正確連接到阿里云物聯網平臺中。
為了能夠方便存儲傳感器數據,系統采用阿里云表格存儲服務實現數據保存的功能。由于同為阿里云產品,阿里云物聯網平臺中的數據可以通過配置的方式流轉至表格存儲服務中進行保存。具體的配置表格存儲服務主要分2個步驟。
第一,創建表格存儲服務實例和數據表。購買表格存儲服務后阿里云系統會直接創建應用實例,在實例詳情頁中確定數據表名稱sensor_data和表主鍵Devicename,創建數據存儲表。在新建的數據表中,定義time、sensor_id、temperature、humidity、pressure、soil這6列屬性存儲溫度、空氣濕度、氣壓與土壤濕度數據,同時記錄傳感器編號和采集時間。第二,在阿里云物聯網平臺中定義數據流轉規則,將阿里云物聯網平臺中的數據利用SQL語句,將設備上報的數據轉換為對應數據庫的信息并寫入到阿里云表格存儲的數據表中。
3.3 數據大屏設計
智慧果園物聯網數據可視化大屏采用了阿里云物聯網平臺IoT Studio進行搭建。阿里云IoT Studio是一種針對物聯網場景提供的生產力工具,其覆蓋了大部分物聯網行業核心應用場景,能夠高效經濟地完成物聯網數據分析、設備、服務及應用開發,加速物聯網SaaS云應用的構建。創建智慧果園數據大屏主要分3個步驟,即創建項目、關聯設備、設計頁面。
第一,在阿里云IoT Studio中創建項目,在創建項目的過程中需要確定好項目名稱。第二,將阿里云物聯網平臺中所創建的產品和設備關聯進剛剛創建好的項目,關聯選項位于項目詳情頁中。第三,在Web詳情頁中創建Web應在IoT Studio中,可以使用不同的組件,添加至需要展示的大屏頁面中。
在大屏的正中央是獼猴桃種植基地的衛星遙感影像圖,標明了種植園區的編號。智慧大屏的左側上方展現環境數據縮略表,中間展現天氣信息,下端展示獼猴桃種植園區的實拍照片,后續可以接入實時的視頻數據流。智慧大屏的上方是關鍵種植數據的動態可視化,表現了數據在當前時刻相對于參考時間的變化情況。智慧大屏的下方是關鍵種植數據的折線統計圖,方便農戶和企業直觀地了解一段時間內種植數據的變化情況。智慧大屏右側上方設定為按鈕切換面板,后續可以用于切換不同種植園區的監控視頻或實拍圖像。而智慧大屏的右下區域是設備實時上報的原始信息展示區域。完成智慧農業監控大屏的布局之后,通過配置組件數據來源的方式完成數據接入。
4 測試分析
由于NB-IoT模塊與Arduino主板使用串口進行數據通信,與程序使用串口燒錄會產生數據沖突,因此在組裝設備之前需要先行使用USB串口線單獨連接Arduino主板,燒寫設備軟件。完成程序燒寫后需要斷開USB串口線,并按照設計要求組裝設備各模塊,并檢查各模塊是否正確連接,避免出現短路或者芯片過熱等異常情況。在設備正常啟動的情況下,等待一段時間后設備成功連接阿里云平臺,開始數據傳輸。登錄阿里云平臺進入所創建的設備目錄,找到所對應的設備進入物模型數據選項卡即可查看實時的環境數據。
系統通過初步測試后,需要將物聯網設備部署到高山獼猴桃種植基地中的各個點位,及經過上線試運行,各點位設備運行正常,數據接收、存儲、展示相應功能也均可正常使用。進入智慧果園數據大屏可以看到可視化的各項數據和統計信息,具體結果如圖8所示。
5 結束語
文章探討了基于阿里云物聯網平臺的智慧果園檢測系統的設計和實現過程,在系統中依托Arduino控制板,利用多種成熟的傳感器模組和NB-IoT通信模組快速搭建了物聯網植物生長環境監測設備,同時使用阿里云物聯網平臺及表格存儲服務等云服務產品,實現了云端設備管理、數據接收、數據流轉和數據展示的各項功能。該系統具有組裝簡單、成本低、操作方便且數據分析直觀易懂的特點,非常適合在類似的種植接地及其他智慧農業應用中進行推廣和拓展,具有一定的實用性和經濟價值。
參考文獻:
[1] 中國通信工業協會物聯網應用分會.物聯網+5G[M].北京:電子工業出版社,2020:7.
[2] 楊成佳,何振寬.基于物聯網技術的智能養殖系統的設計與實現[J].吉林建筑大學學報,2022,39(1):85-88.
[3] 王巖,王超梁,楊格格.一種物聯網水質監測云系統設計與實現[J].物聯網技術,2022,12(4):22-24.
[4] 惠云,白偉.基于阿里云的智能家居系統設計與應用[J].價值工程,2022,41(22):85-87.
[5] 賈賽,張燕,王長云.基于阿里云谷物水分檢測系統的設計[J].南方農機,2022,53(14):13-17.
[6] 張紅艷,王萍,張振亞.基于Arduino的溫濕度數據采集系統實驗報告[J].科學技術創新,2022(20):62-65.
[7] 晏珠峰.基于NB-IoT及RFID的渭南葡萄園信息溯源系統設
計[D].西安:西安郵電大學,2021.