于振武 朱衛(wèi)國



摘 要:本文以某縣的藍莓數(shù)字化種植需求為切入點,研制了一款適用于野外百畝級種植園區(qū)的基于ZigBee的藍莓種植信息采集系統(tǒng),該系統(tǒng)貼合于藍莓粗放式種植、種植地分散以及兼有低山丘陵和平原沙洲的地貌特點下的應用。本文針對現(xiàn)有傳統(tǒng)Z-Stack協(xié)議棧在數(shù)字化種植應用中存在的功耗問題,提出了發(fā)射功率自適應改進算法,能夠?qū)?jié)點的發(fā)射功率進行動態(tài)調(diào)節(jié),測試結(jié)果表明,該算法能夠為節(jié)點節(jié)省平均約6%的電量,進一步延長了ZigBee網(wǎng)絡(luò)壽命。為當?shù)厮{莓種植日常數(shù)據(jù)采集和數(shù)據(jù)追溯提供了可靠的大數(shù)據(jù)支撐。
關(guān)鍵詞:數(shù)字化種植;信息采集;ZigBee;發(fā)射功率優(yōu)化
中圖分類號:S24? 文獻標識碼:A? 文章編號:1673-260X(2021)01-0053-04
0 引言
農(nóng)業(yè)物聯(lián)網(wǎng)是我國戰(zhàn)略性新興產(chǎn)業(yè),但目前仍處于示范推廣階段,多數(shù)設(shè)備面向大棚內(nèi)或小而分散的試驗田,不能很好應用在自然環(huán)境復雜的野外環(huán)境。某縣的藍莓種植園大部分位于丘陵地帶與平原沙洲,介于東經(jīng)116°28′—117°03′,北緯30°20′—30°50′之間,海拔在30~400m之間,屬于北亞熱帶濕潤季風氣候區(qū),具有四季分明、氣候溫和、雨量充沛、光照充足、霜雪期短的特點。在研發(fā)數(shù)字化種植信息采集系統(tǒng)中,發(fā)現(xiàn)了現(xiàn)有傳統(tǒng)的Z-Stack協(xié)議棧在此種環(huán)境下應用中存在的功耗問題,研發(fā)出一種發(fā)射功率可進行動態(tài)自適應調(diào)節(jié)的無線傳感網(wǎng)絡(luò),進一步延長了ZigBee網(wǎng)絡(luò)壽命,為當?shù)貙崿F(xiàn)大規(guī)模數(shù)字化種植提供了更優(yōu)化的技術(shù)支撐。
1 系統(tǒng)的總體方案
1.1 系統(tǒng)需求分析
根據(jù)對某縣當?shù)氐湫退{莓種植農(nóng)戶的調(diào)研得知,藍莓喜酸性土壤,土壤有機質(zhì)含量應在8%~12%,對種植條件要求較為苛刻,需定時進行土壤分析。其中土壤pH值、水分對藍莓的生長過程至關(guān)重要。同一園區(qū)內(nèi)的土壤在坡度、溝渠等環(huán)境因素的影響下,土壤條件也有較大差異。目前土壤分析常使用取點采樣法,根據(jù)種植園區(qū)土壤結(jié)構(gòu)混亂程度決定采樣點數(shù),一般每百畝采集10個樣本點,以檢測區(qū)塊土壤平均數(shù)據(jù)。
1.2 系統(tǒng)總體方案的設(shè)計
本次設(shè)計的種植信息采集系統(tǒng)采用了ZigBee星型網(wǎng)絡(luò)來組建感知層中的無線傳感網(wǎng)絡(luò),能夠克服農(nóng)田環(huán)境復雜,布線困難,種植園區(qū)面積廣闊等困擾。因采用了星型網(wǎng)絡(luò)結(jié)構(gòu),故系統(tǒng)分為采集節(jié)點(EndDevice)與匯聚網(wǎng)關(guān)(Coordinator)兩個部分,在本次設(shè)計的網(wǎng)絡(luò)中沒有Router的存在。采集節(jié)點依據(jù)土壤分析的采樣需求,部署在土壤分析采樣的目標樣本點,利用MODBUS總線下的傳感器采集數(shù)據(jù)后,通過ZigBee無線傳感網(wǎng)絡(luò)傳輸至采集網(wǎng)關(guān)。網(wǎng)關(guān)則負責將各個采集節(jié)點的數(shù)據(jù)按照基于HJ212-2017的通訊協(xié)議進行打包,通過4G上傳至信息采集平臺。所設(shè)計的系統(tǒng)拓撲圖如圖1所示。
2 系統(tǒng)硬件模塊的設(shè)計
2.1 采集節(jié)點的硬件設(shè)計
本次種植信息采集系統(tǒng)中的采集節(jié)點,為ZigBee網(wǎng)絡(luò)中EndDevice,部署在種植園區(qū)的目標采樣點。有著易于移動、不干擾藍莓種苗生長、全年無須現(xiàn)場維護、成本較低等方面的需求。因此采集節(jié)點核心板的設(shè)計是系統(tǒng)中的關(guān)鍵一環(huán),對功耗、體積與可靠性有著較高的要求。采集節(jié)點的核心主控單元采用了STM32L151C8T6,負責輪詢遍歷MODBUS總線下的傳感器,存儲、按協(xié)議打包上傳傳感器數(shù)據(jù),響應網(wǎng)關(guān)所下發(fā)的各類設(shè)備反控指令。采集節(jié)點的硬件框架如圖2所示。
采集節(jié)點使用了SP485EN芯片,以完成單片機TTL電平向RS485電平轉(zhuǎn)換,在此不再贅述。由于傳感器長期暴露在野外,易受到日曬、降水、灰塵等諸多環(huán)境因素的影響,傳統(tǒng)在居家、農(nóng)業(yè)大棚環(huán)境下使用的傳感器無法滿足耐用性上的要求,因此采用了12V的工業(yè)級土壤傳感器。核心板采用了6000mAh/3.7V聚合物鋰電池與TPS61040升壓芯片滿足傳感器的電源所需。
實際的農(nóng)業(yè)生產(chǎn)中,土壤分析的所需頻率較低,種植信息采集綜合管理平臺會結(jié)合園區(qū)內(nèi)氣象站所傳回的數(shù)值,向監(jiān)測節(jié)點發(fā)出輪詢遍歷間隔時間更改指令,動態(tài)調(diào)整土壤信息的采集頻率。默認情況下采集頻率為1次/小時。
由于工業(yè)級土壤傳感器靜態(tài)工作電流較大,在TPS61040升壓芯片的電源電路上采用了8550與8050兩個三極管級聯(lián)的方法,賦予單片機IO控制12V電源電路通斷的能力。當POWERON為低電平時,Q2截止,Q1的基極與放大級電壓相同,Q1也為截止狀態(tài),此時Vout為0。當POWERON為高電平時,Q2導通,此時Q1基極與集電極壓差超過0.7V,Q1為飽和導通狀態(tài),此時Vout=Vin。
ZigBee模塊采用了成都億佰特公司基于CC2530芯片封裝生產(chǎn)的模組E18-MS1PA2PCB,該模組采用了板載PCB天線,體積較小,貼片型封裝,在無其他障礙物的藍莓成熟種苗田地里實測通信距離可達200m,滿足本次設(shè)計所需。另外易柏特公司還提供了基于2.5.1a版本Z-Stack協(xié)議棧的軟件Demo,利用模組上引出的I/O口可進行二次開發(fā)。E18-MS1PA2PCB采用UART方式與單片機進行串口通信,性能指標如表1所示。
因為采集節(jié)點對功耗極為敏感,在ZigBee網(wǎng)絡(luò)中的角色必須設(shè)計為EndDevice,EndDevice在網(wǎng)絡(luò)中可定時休眠,在設(shè)定好休眠時間后便會周期性的喚醒,與父節(jié)點進行握手通訊。當信息采集平臺有反控指令下發(fā)時,父節(jié)點會保存該次指令,在下一次EndDevice喚醒發(fā)生時將數(shù)據(jù)發(fā)送給EndDevice。同時也可通過串口喚醒,當節(jié)點完成一次傳感器信息采集時可直接通過串口將數(shù)據(jù)發(fā)送給模組。
2.2 采集網(wǎng)關(guān)的硬件設(shè)計
本次種植信息采集系統(tǒng)中的采集網(wǎng)關(guān),即ZigBee網(wǎng)絡(luò)中的Coordinator,負責匯聚采集節(jié)點通過ZigBee傳回的數(shù)據(jù),按照基于HJ212-2017的協(xié)議打包,通過4G網(wǎng)絡(luò)將數(shù)據(jù)上傳至種植信息采集平臺。同時負責下發(fā)平臺所傳回的設(shè)備反控指令。每個園區(qū)有且僅有一個,一般部署在園區(qū)的幾何中心位置,能夠保證與所有采集節(jié)點之間的ZigBee通信質(zhì)量即可,對體積、功耗、成本等方面要求較低,在此不再贅述。
采集網(wǎng)關(guān)集成了作為Coordinator的ZigBee模組以及4G模組,功耗較大,故在供電方面采用了20Ah/12V的鉛酸蓄電池與50W太陽能光伏板,以滿足采集網(wǎng)關(guān)的供電所需。4G模組采用了本源物聯(lián)生產(chǎn)的BC1432,實現(xiàn)了TCP協(xié)議下的數(shù)據(jù)透傳。模組與單片機之間利用串口連接。
3 系統(tǒng)軟件的設(shè)計
3.1 采集節(jié)點與網(wǎng)關(guān)的程序設(shè)計
系統(tǒng)軟件采用了C語言環(huán)境下的Keil5開發(fā),采集節(jié)點軟件任務(wù)包括通信初始化、單片機硬件資源配置、按照設(shè)定好的問詢頻率輪詢遍歷MODBUS總線下的傳感器、響應網(wǎng)關(guān)反控指令、電源管理五個部分。程序流程圖如下圖(a)所示。
其中圖(a)通信初始化包括設(shè)置ZigBee網(wǎng)絡(luò)角色、調(diào)節(jié)發(fā)射功率、配置信道、PANID等。硬件抽象層初始化包括定時器、UART、DMA、I2C等外設(shè)資源初始化和其緩沖區(qū)數(shù)組等配置。
圖(b)為系統(tǒng)的休眠邏輯,本次設(shè)計采用了STM32L151的STOP模式進行低功耗設(shè)計,在裸板測試下STOP模式休眠電流可低至1μA。因STOP模式下的STM32L151只能通過外部中斷或是RTC時鐘喚醒,因此在進行休眠前需將RXD引腳配置為外部中斷引腳,以保證單片機可以及時響應平臺所下發(fā)的設(shè)備反控指令與傳感器所回傳的數(shù)據(jù)。節(jié)點的輪詢?nèi)蝿?wù)包括了傳感器的電源管理與MODBUS問詢幀的下發(fā)。因傳感器上電后需要30秒左右才能得到一個準確的數(shù)值,因此需要在問詢幀下發(fā)前30秒時為傳感器上電。
系統(tǒng)采集網(wǎng)關(guān)的軟件任務(wù)較為簡單,與采集節(jié)點類似,在此不再贅述。
3.2 Z-Stack中的發(fā)射功率改進算法
3.2.1 改進算法描述
本文在億佰特公司提供的2.5.1a版本Z-Stack協(xié)議棧的基礎(chǔ)上進行了二次開發(fā)。在傳統(tǒng)的協(xié)議棧下,CC2530芯片的發(fā)射功率是不變的,也就是無論EndDevice與Coordinator之間的信號強度如何,EndDevice都會以固定的功率向Coordinator上傳數(shù)據(jù)。這對于對功耗敏感的采集節(jié)點而言是極其浪費的。而在實際的藍莓種植中,土壤分析所需的目標樣本點一般在空間位置上變化較小,Z-Stack協(xié)議棧在農(nóng)業(yè)生產(chǎn)環(huán)境下應用有一定的局限性,基于這一特點,本文在節(jié)點的Z-Stack協(xié)議棧初始化時,向Coordinator從低到高窮舉不同信號強度等級的數(shù)據(jù)包,通過檢測MCPS-POLL.confirm中RSSI值,尋找能夠進行可靠通訊的最小功率。這種算法實現(xiàn)了EndDevice在加入網(wǎng)絡(luò)后動態(tài)調(diào)節(jié)發(fā)射功率,實驗證明該算法可以延長ZigBee網(wǎng)絡(luò)的壽命。
3.2.2 算法流程
該算法工作于EndDevice加入網(wǎng)絡(luò)后的初始化階段。采用窮舉不同功率等級數(shù)據(jù)包的方式,同時向上層發(fā)送MCPS-DATA.request請求。通過查閱Z-Stack協(xié)議棧源碼,在hal_rf.c中存放著RF相關(guān)的定義程序。CC2530_2401_TXPOWER常數(shù)數(shù)組映射了發(fā)射功率強度與射頻寄存器的關(guān)系,其中發(fā)射功率強度被分為了16級,其對應關(guān)系如表2所示。
本文提出的算法根據(jù)此表對構(gòu)造的數(shù)據(jù)包進行功率強度等級劃分,將-22dBm~4.5dBm功率間的數(shù)據(jù)包分成了16級,在節(jié)點入網(wǎng)之后將從最低的-22dBm開始,若在所設(shè)定的輪詢周期內(nèi)未得到上層MCPS-POLL.confirm的有效應答,則依次提高功率發(fā)送數(shù)據(jù)包。
在得到了有效應答之后,為檢測該功率的可靠性,EndDevice將會在輪詢周期內(nèi)不斷檢測應答數(shù)據(jù)包中的RSSI值是否大于某一閾值,若均大于,節(jié)點則認為此功率數(shù)值為能進行可靠通信的最小功率,以后節(jié)點按照此功率等級進行通訊,直至丟失父節(jié)點,再次重新入網(wǎng)。算法的工作流程圖如圖5所示。
3.2.3 算法測試
功率自適應算法在本系統(tǒng)使用的星型網(wǎng)絡(luò)拓撲結(jié)構(gòu)下進行驗證,驗證環(huán)境為某縣內(nèi)一典型藍莓種植園區(qū),園內(nèi)藍莓種苗高約70cm,節(jié)點離地面安裝高度約50cm,測試點分布圖如圖所示。
其中位置1與協(xié)調(diào)器距離大概4m,位置2與協(xié)調(diào)器距離大概20cm,測試節(jié)點未下掛傳感器,不進行傳感器輪詢操作,測試節(jié)點在進行網(wǎng)絡(luò)參數(shù)初始化后進行功率自適應改進算法,隨后單片機直接進入STOP模式,之后每隔100ms會自動喚醒并發(fā)送“Hello World”測試數(shù)據(jù)包。三個測試節(jié)點均使用相同型號的370mAh鋰電池進行供電,該款鋰電池容量與1kΩ電阻負載下的電流關(guān)系已進行測算,二次擬合曲線如圖7所示。三個節(jié)點工作過程中電池1kΩ測試電阻下的電流-時間曲線如圖8所示。
從圖中可以看到,在位置2的未運行發(fā)射功率改進算法的節(jié)點,即使離Coordinator很近(20cm),其電池容量下降的也是最快的。而優(yōu)化后的節(jié)點即使在4m遠處,其功耗也要優(yōu)于未優(yōu)化節(jié)點。兩個優(yōu)化后的節(jié)點其電池容量下降速率不同的主要因素是與Coordinator之間的距離。故在位置2運行了改進算法的節(jié)點比位置1的功耗更低。實驗結(jié)果表明,發(fā)射功率改進算法能夠明顯地降低EndDevice的功耗,同在位置2的測試節(jié)點在工作34個小時后,發(fā)射功率改進算法可以為測試節(jié)點節(jié)省約6%的電量。
4 結(jié)論
基于功率自適應改進算法的藍莓種植信息采集系統(tǒng)是對某縣當?shù)氐牡匦翁攸c針對性的設(shè)計,該系統(tǒng)能夠適應地形復雜多樣、環(huán)境氣候較為惡劣的野外農(nóng)田。野外測試結(jié)果表明,系統(tǒng)在復雜的地理自然環(huán)境下運行狀態(tài)良好,經(jīng)受住了高溫、霉雨等環(huán)境的考驗。本系統(tǒng)也可拓展應用于其他地域農(nóng)作物的種植信息采集,具有良好的移植、借鑒和參考價值。
——————————
參考文獻:
〔1〕郭猛.Z-Stack協(xié)議棧的按鍵驅(qū)動機制分析[J].單片機與嵌入式系統(tǒng)應用,2018,18(07):30-33+38.
〔2〕何智勇,徐麗萍.基于Z-Stack的ZigBee協(xié)議棧組網(wǎng)過程研究[J].南京工業(yè)職業(yè)技術(shù)學院學報,2018,18(01):1-3.
〔3〕殷松瑜.基于Z-Stack的ZigBee協(xié)議的實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2017,7(10):33-37.
〔4〕Georgios Kambourakis, Constantinos Kolias,Dimitrios Geneiatakis, Georgios Karopoulos, Georgios Michail Makrakis, Ioannis Kounelis. A State-of-the-Art Review on the Security of Mainstream IoT Wireless PAN Protocol Stacks[J]. Symmetry, 2020,12(04).
〔5〕Wen Wu Hua,Zhong Hu Yuan,Xiu Zhen Yu. A Design of Z-Stack Application Based on the IEEE Address[J]. Applied Mechanics and Materials,2013,2668.
〔6〕韓建書,薛鵬飛,袁淑芳,趙鎮(zhèn)川,胡慧勇,魏東亮,陳澤亮.基于ZigBee無線傳感器網(wǎng)絡(luò)技術(shù)的雙孢菇生長環(huán)境監(jiān)測系統(tǒng)的設(shè)計[J].工業(yè)計量,2019,29(06):53-55+75.
〔7〕肖玥.ZigBee技術(shù)在智能化農(nóng)業(yè)大棚監(jiān)控系統(tǒng)中的應用研究[J].湖北農(nóng)機化,2019,20(16):48-49.
〔8〕程智君,游雨云.基于ZigBee的農(nóng)業(yè)種植現(xiàn)場傳感系統(tǒng)設(shè)計[J].南方農(nóng)機,2018,49(17):129.