田博 嚴李強 梁煒恒 李統(tǒng)
摘 要:惡劣的自然條件一直制約著西藏地區(qū)農(nóng)業(yè)的發(fā)展,但很多地方引入的溫室大棚起到了很好的彌補作用。文中嘗試在室內(nèi)水培種植模式的基礎上引入物聯(lián)網(wǎng)技術,以ZigBee作為室內(nèi)傳輸協(xié)議,通過串口通信與STM32相連接,用GPRS網(wǎng)絡與服務器進行信息交互,用戶可以直接通過移動終端獲取服務器數(shù)據(jù),并實時遠程測控農(nóng)作物的生長環(huán)境狀態(tài),為西藏現(xiàn)有的農(nóng)業(yè)增加了一種新的種植管理方式。實驗結果表明,該模式不僅能夠?qū)λ喔鱾€環(huán)節(jié)進行有效控制,而且整體操作相對簡單,在西藏地區(qū)具有一定的應用價值。
關鍵詞:水培;物聯(lián)網(wǎng);ZigBee;GPRS;遠程控制;加密
中圖分類號:TP391;TN609;TN99文獻標識碼:A文章編號:2095-1302(2020)11-00-04
0 引 言
西藏海拔4 000 m以上的地區(qū)降雨量少,水源不足,年均溫度低,作物生長期短,多數(shù)農(nóng)作物在傳統(tǒng)的種植方式下生長困難。因此,發(fā)展可以緩解現(xiàn)狀的水培種植技術尤為重要。目前,西藏引入的溫室種植技術很好地克服了氣候問題,但仍存在環(huán)境不能精確控制、技術操作繁瑣等不足,在一定程度上制約著西藏農(nóng)業(yè)的可持續(xù)發(fā)展。隨著物聯(lián)網(wǎng)技術的成熟,如何精確控制農(nóng)作物環(huán)境、提高農(nóng)業(yè)信息化水平成為目前西藏農(nóng)業(yè)研究的重大問題之一。
國外的水培技術被稱為水耕栽培,所屬范疇為無土栽培。水耕栽培的最早概念源自1840年無機質(zhì)營養(yǎng)學說(Mineraltheory),該學說[1]認為植物的根可以吸收溶解在水中的無機質(zhì)物。1859—1865年,德國科學家Sachs和Knop通過做植物的成分分析得知N、P、K、Ca、Mg、S、Fe為植物生長必要元素[2],并以這些元素組成的化學物質(zhì)溶解于水中,將植物根浸在溶液中實驗水培技術,并獲得成功。半個世紀以后,美國加州大學W.F.Gericke由生理試驗的水耕改變?yōu)闋I養(yǎng)栽培的水培,并定名為水耕栽培[3]。第二次世界大戰(zhàn)期間,美軍在太平洋島出現(xiàn)蔬菜供應困難,后采用水耕栽培技術從事生產(chǎn)。戰(zhàn)后駐日美軍也在東京設置了22公頃[4]的水耕栽培基地,故日本在水耕栽培技術方面有所發(fā)展。
我國水培技術的研究應用起步較晚,但生豆芽、種水仙這些較原始的無土栽培技術卻有悠久的歷史,近幾十年才開始較正規(guī)的科學研究和生產(chǎn)實驗。20世紀70年代后期,山東大學首先開始用蛭石栽培黃瓜、西紅柿等,都取得了成功。20世紀80年代中期,進口的溫室及無土栽培設施相繼投產(chǎn)。隨著改革開放的深入和人民生活水平的不斷提高,蔬菜生產(chǎn)已經(jīng)從過去的追求高產(chǎn)向優(yōu)質(zhì)且高產(chǎn)方向發(fā)展,人們對綠色無公害食品的呼聲越來越高。在此形勢下,無土栽培在全國各地蓬勃興起,迅速從研究階段進入生產(chǎn)階段[5]。
綜上所述,水培系統(tǒng)具有很大的發(fā)展空間,同時存在許多難題。本文采用Android平臺客戶端解析發(fā)送數(shù)據(jù)和ZigBee傳輸數(shù)據(jù)相結合的構思,使得水培系統(tǒng)具有了人力資源耗費少、獲取水培信息效率高、控制簡單等優(yōu)點。以GPRS作為無線通信的基礎,用戶通過移動終端來實時獲取水培的各項信息,并對相應設備進行控制,從而調(diào)控各項數(shù)據(jù),或者在移動終端設置環(huán)境因子范圍進行自控,實現(xiàn)較為智能的水培管理。
1 系統(tǒng)總體設計
本文設計的最終目標是形成一個既可以在家庭小規(guī)模種植使用,也可以在大棚中大規(guī)模使用的物聯(lián)網(wǎng)生態(tài)水培控制系統(tǒng)。其總體設計的要求是實現(xiàn)對水培過程中溫度、濕度、光照、營養(yǎng)液成分的自動控制功能。在目前的操作過程中,水培過程中的溫濕度可以通過溫濕度傳感器檢測,但營養(yǎng)液濃度、二氧化碳濃度的檢測較為困難,且檢測儀器成本普遍較高。因此,本文通過APP控制本系統(tǒng)的所有基本功能。系統(tǒng)中的信號傳輸方式選用GPRS通信技術,因為目前該技術在我國的研究和開發(fā)相當成熟,且已廣泛覆蓋于家庭。近年來,隨著智能手機和移動網(wǎng)絡傳輸速度的飛速發(fā)展,智能手機已經(jīng)非常普及。根據(jù)市場研究機構IDC發(fā)布的智能手機市場報告來看,2019年安卓手機占87%市場份額,故智能生態(tài)水培系統(tǒng)的移動終端我們基于Android系統(tǒng)的智能手機進行開發(fā)。系統(tǒng)總體設計架構如圖1所示。
2 系統(tǒng)硬件設計與實現(xiàn)
本系統(tǒng)的硬件設計主要是用STM32作為信息的樞紐,向上進行信息的交互,向下進行各種節(jié)點數(shù)據(jù)采集以及硬件工作控制。向上交互主要是借助GPRS傳出信息到數(shù)據(jù)服務器;向下控制是STM32通過解析用戶使用移動客戶端發(fā)送到服務器再通過GPRS傳輸?shù)絊TM32的數(shù)據(jù)后,通過控制繼電器開關來達到控制外接光照、營養(yǎng)液供給裝置的工作狀態(tài)等目標。系統(tǒng)硬件架構如圖2所示。
2.1 單片機系統(tǒng)
單片機系統(tǒng)采用STM32F103單片機,其具有高性能、低成本以及超低功耗和高代碼效率[6]等優(yōu)點。STM32按內(nèi)核架構可以分為多個系列,其中STM32F系列主要有“增強型”系列STM32F103、“基本型”系列STM32F101、“互聯(lián)型”系列STM32F107和STM32F105,上述“增強型”系列是性能最高的產(chǎn)品,其時鐘頻率最高可達72 MHz。
2.2 ZigBee 組網(wǎng)
ZigBee組網(wǎng)方式主要有星型拓撲結構、網(wǎng)狀拓撲結構以及簇狀拓撲結構。其選擇主要取決于具體的應用領域。在ZigBee無線組網(wǎng)過程中,不同的網(wǎng)絡拓撲結構所需網(wǎng)絡節(jié)點配置方案不同。網(wǎng)絡節(jié)點的類型主要有協(xié)調(diào)器、路由器和終端節(jié)點,具體配置根據(jù)需要決定。
本系統(tǒng)采用星型拓撲結構組網(wǎng),該結構具有控制簡單、故障易診斷等優(yōu)點。該組網(wǎng)方式中的中央控制節(jié)點直接或間接與其他所有分節(jié)點相連接,從而利用較為簡單的協(xié)議進行所有節(jié)點的控制,便于網(wǎng)絡管理和監(jiān)控。此外,中央控制節(jié)點可以在不影響其他節(jié)點正常工作的情況下,對單節(jié)點連接線路逐一隔離,并進行故障檢測和定位,從而較為方便地對各個站點提供服務和網(wǎng)絡重新配置。
2.3 無線通信模塊
SIM800A是一款高性能工業(yè)級無線傳輸模塊,主要優(yōu)點是功耗低、設計簡單等。在系統(tǒng)中,該模塊主要用來完成STM32單片機與服務器之間的信息交互。服務器把信息發(fā)送給GPRS模塊,模塊接收、處理后轉(zhuǎn)發(fā)給STM32單片機,單片機分析后通過串口通信方式發(fā)送到各節(jié)點,從而控制各節(jié)點設備。反之,無線通信模塊接收到STM32傳輸?shù)乃喹h(huán)境參數(shù)信息后,將其分析、打包后通過GPRS發(fā)送到服務器,從而實現(xiàn)所有數(shù)據(jù)的交互。
2.4 ZigBee節(jié)點硬件設計
ZigBee是一種短距離、低速率無線組網(wǎng)通信技術,具有強大的組網(wǎng)能力[7]。ZigBee網(wǎng)絡中的無線節(jié)點按照功能不同一般可劃分為3種類型:協(xié)調(diào)器(Coordinator)、路由器(Router)和終端節(jié)點[8](End Device)。協(xié)調(diào)器是核心節(jié)點,主要負責協(xié)調(diào)各節(jié)點網(wǎng)絡的正常建立與運行,并將各終端節(jié)點連接的傳感器所采集到的數(shù)據(jù)信息發(fā)送至STM32。與傳感器相連的ZigBee模塊在加入網(wǎng)絡后,主要負責控制終端子節(jié)點上的傳感器采集水培環(huán)境參數(shù)信息,或調(diào)節(jié)各個調(diào)節(jié)器的工作狀態(tài),必要時終端節(jié)點可以進入休眠狀態(tài)降低電路功耗。本系統(tǒng)使用ZigBee 通信技術,主要是考慮到ZigBee技術的強穿透能力和高抗干擾能力。而且其不用另配置通信電纜,只需通過構建Mesh-network網(wǎng)狀網(wǎng)絡[9]保障各檢測設備的信號覆蓋,及控制及時性。ZigBee終端節(jié)點硬件結構如圖3所示。
2.5 傳感器系統(tǒng)模塊
(1)空氣溫濕度傳感器
本系統(tǒng)采用的是DHT11數(shù)字溫濕度傳感器。它具有超小的體積、極低的功耗、較為精確的測量數(shù)值以及卓越的長期穩(wěn)定性等優(yōu)點。該傳感器由1個高性能8位單片機與1個電阻式感濕元件和1個NTC測溫元件連接而成,外有4針單排引腳封裝,連接極其方便。
(2)光敏傳感器
光敏傳感器是對外界光信號或光輻射有響應或轉(zhuǎn)換功能的敏感裝置。本系統(tǒng)所采用的光敏電阻傳感器主要通過感應光線的明暗變化,將光信號轉(zhuǎn)換成微弱的電信號,再由簡單電子線路放大處理,從而實現(xiàn)控制。它的敏感波長在可見波長附近,包括紅外線波長和紫外線波長。
(3)溶解性總固體測量工具
溶解性總固體(Total Dissolvesd Solpds,TDS)的測量單位為mg/L,它表明1 L水當中含有可溶解固體物質(zhì)的含量。本系統(tǒng)使用的測量工具是TDS筆。它采用電導電極法測量水的電導率,由于水的電導率和TDS值成正比例關系,因此可間接測量TDS值[10]。在物理意義上,水中溶解物越多,水的TDS就越大,水的導電性也越好,其導電率值也越大。
2.6 數(shù)據(jù)傳輸防篡改加密方案設計
為了保證數(shù)據(jù)在傳輸過程中不被他人以非正當手段篡改而出現(xiàn)異常數(shù)據(jù),導致對STM32單片機等硬件以及農(nóng)作物造成的不可逆損壞;再加上由于MD5算法使用C語言(硬件代碼部分)和Java語言(Android客戶端開發(fā)部分)實現(xiàn)較為簡單,所以本系統(tǒng)設計的傳輸方案是利用MD5加密明文數(shù)據(jù),并將兩次數(shù)據(jù)間隔發(fā)送來判斷數(shù)據(jù)是否被篡改。
由于MD5的不可逆特性,本系統(tǒng)將明文數(shù)據(jù)按照預設的關鍵字提取算法,在字符串的前、中、尾各取出部分數(shù)據(jù),組成新的字符串A。之后將新的字符串A進行MD5加密得到MD5(A),并將MD5(A)傳輸?shù)较乱粚?。間隔3 s后,將明文數(shù)據(jù)發(fā)送到下一層,并將明文數(shù)據(jù)按照給定算法提取關鍵詞,得到新的字符串B。將字符串B進行MD5加密后得到MD5(B),通過對比MD5(A)和MD5(B),即可判斷明文數(shù)據(jù)在傳輸過程中是否出現(xiàn)錯誤或者出現(xiàn)了被非法篡改的情況。數(shù)據(jù)傳輸防篡改加密方案設計如圖4所示。
在此算法中,無論關鍵詞提取算法如何設計,只要保持數(shù)據(jù)傳輸層之間的提取算法一致即可。即使關鍵詞提取算法被破譯或泄露,也可以根據(jù)判斷數(shù)據(jù)的完整性以及數(shù)據(jù)是否被篡改,來確保STM32單片機硬件的安全以及水培系統(tǒng)中作物的安全。
3 系統(tǒng)軟件設計與實現(xiàn)
3.1 ZigBee節(jié)點軟件設計
本系統(tǒng)使用ZigBee自組網(wǎng)對各個感應節(jié)點反饋回來的信息進行處理。各個感應節(jié)點收集到信息之后由ZigBee自組網(wǎng)(星型組網(wǎng))發(fā)送至ZigBee,ZigBee通過GPRS模塊發(fā)送至手機終端。設計終端節(jié)點時,為實現(xiàn)數(shù)據(jù)采集、處理、通信、儲存多元化功能以及保證系統(tǒng)性能良好,選用的是處理能力靈活的ZigBee 無線通信模塊和模塊化結構傳感器[11]。CC2530芯片自身有一個軟件編程內(nèi)核,因此可以簡單地進行ZigBee組網(wǎng)。該芯片采用IAR Embedded Workbench作為軟件的集成開發(fā)環(huán)境,ZigBee每一層協(xié)議采用C語言進行編程控制,并且留有讓開發(fā)者迅速實現(xiàn)對ZigBee協(xié)議進行應用開發(fā)的API接口,從而提升了操作的便捷性和協(xié)議的可靠性。ZigBee協(xié)調(diào)器流程如圖5所示,ZigBee節(jié)點流程如圖6所示。
ZigBee查詢數(shù)據(jù)部分程序代碼如下:
switch(FC)
{
case 0x01:
for (i=0; i osal_memcpy(&TxBuffer[index],NodeData[i],4); index += 4; }TxBuffer[index]=XorCheckSum(TxBuffer,index); TxBuffer[index+1] = 0x23; HalUARTWrite(UART0,TxBuffer,index+2); ret = 1; break; case 0x02: osal_memcpy(&TxBuffer[index],NodeData[addr-1],4); index += 4; TxBuffer[index]=XorCheckSum(TxBuffer,index); TxBuffer[index+1] = 0x23; HalUARTWrite(UART0,TxBuffer,index+2); ret = 1; break; default: ret = 0; break;} 當協(xié)調(diào)器發(fā)送的功能碼為0x01時,所有終端都將實時采集到的所有數(shù)據(jù)發(fā)給協(xié)調(diào)器,并以0x23為數(shù)據(jù)的結束標志位;當協(xié)調(diào)器發(fā)送0x02時根據(jù)地址位、數(shù)據(jù)位和校驗碼的不同來完成不同終端、不同傳感器的數(shù)據(jù)采集。 3.2 服務器端設計 本系統(tǒng)服務器從功能上主要劃分為2個部分:通信部分和數(shù)據(jù)存儲部分。其中通信部分主要實現(xiàn)移動終端和協(xié)調(diào)器與STM32單片機之間的信息交互。數(shù)據(jù)部分主要用來存儲水培數(shù)據(jù)、用戶資料、操作記錄等信息。該系統(tǒng)的通信服務器采用的是由Socket網(wǎng)絡編程實現(xiàn)的TCP Server,同時用MySQL數(shù)據(jù)庫進行信息的存儲。 3.3 Android手機客戶端設計 本系統(tǒng)是基于JDK1.9環(huán)境,使用Android Studio 3.6.1版本開發(fā)的,主要實現(xiàn)監(jiān)測水培內(nèi)環(huán)境參數(shù),并對各終端節(jié)點控制器下發(fā)控制命令,查看歷史操作記錄等功能。 Android手機端軟件設計主要包括Android開發(fā)環(huán)境搭建、登錄界面設計、監(jiān)測界面設計[12]。該APP使用Android Studio來編寫,通過XML文件調(diào)用Android通用控件構建UI界面,并通過Java語言綁定Activity生命周期事件以及控件本身來控制相應控件,實行相應的UI變化及相應的數(shù)據(jù)交互等邏輯事件功能,從而實現(xiàn)監(jiān)測環(huán)境數(shù)據(jù)、控制相應硬件工作狀態(tài)、修改用戶個人信息、檢索操作記錄的功能。Android手機端軟件界面如圖7所示。 4 結 語 本文設計的智能生態(tài)水培系統(tǒng)結合了Android平臺開發(fā)和ZigBee自組網(wǎng)技術,提出了一種新的農(nóng)業(yè)生產(chǎn)種植和管理方案,減少了自然環(huán)境對植物生長的限制。它通過遠程控制模式降低了人工投入的勞動成本,提高了收益。該系統(tǒng)實現(xiàn)了遠程信息交互,及對環(huán)境調(diào)節(jié)系統(tǒng)的控制,能有效解決植物所處環(huán)境條件差的問題。在生態(tài)發(fā)展方面,該系統(tǒng)采用營養(yǎng)液循環(huán)模式,基本上實現(xiàn)了全生態(tài)。該系統(tǒng)在農(nóng)業(yè)生產(chǎn)模式的智能化、互聯(lián)網(wǎng)化、生態(tài)化等方面均具有良好的應用價值和前景。 注:本文通訊作者為嚴李強。 參考文獻 [1]常維信.無土栽培的現(xiàn)狀與發(fā)展趨勢[J].山東農(nóng)業(yè)大學學報,1986,32(4):87-103. [2]段彥丹,樊力強,吳志剛,等.蔬菜無土栽培現(xiàn)狀及發(fā)展前景[J].北方園藝,2008,32(8):63-65. [3]王化.中國蔬菜無土栽培發(fā)展歷史的初步探討[J].上海蔬菜,1997,11(1):11-12. [4]萬軍.國內(nèi)外無土栽培技術現(xiàn)狀及發(fā)展趨勢[J].科技創(chuàng)新導報,2011,8(3):11. [5]張廣楠.無土栽培技術研究的現(xiàn)狀與發(fā)展前景[J].甘肅農(nóng)業(yè)科技,2004,32(2):6-8. [6]陶林,瞿少成,易宇凡,等.一種模擬農(nóng)場環(huán)境監(jiān)測與灌溉控制的教育物聯(lián)網(wǎng)系統(tǒng)實現(xiàn)[J].電子測量技術,2019,42(24):81-85. [7]薛秀云,張彬,張澤龍,等.基于ZigBee的液肥變量深施系統(tǒng)設計與試驗[J].排灌機械工程學報,2020,38(3):318-324. [8]王睿.基于ZigBee和Android技術的智慧農(nóng)業(yè)系統(tǒng)設計[J].電子技術與軟件工程,2019,26(5):93-94. [9]王盟.基于ZigBee通信技術在智能家居中的應用[J].長春大學學報,2019,29(2):1-5. [10]楊磊,熊衛(wèi)華,姜明.基于NB-IoT技術的家庭水質(zhì)檢測系統(tǒng)[J].計算機系統(tǒng)應用,2019,28(12):129-133. [11]劉幸興,劉瑜興.基于ZigBee技術的智能化學生宿舍查寢管理系統(tǒng)[J].自動化技術與應用,2020,39(1):74-77. [12]劉忠超,范偉強,常有周,等.基于ZigBee和Android的牛舍環(huán)境遠程監(jiān)測系統(tǒng)設計[J].黑龍江畜牧獸醫(yī),2018,61(17):61-64.