肖漢光,冉智強,王憲文
(重慶理工大學兩江人工智能學院,重慶 401135)
土壤是農(nóng)業(yè)生產(chǎn)和人類賴以生存的物質基礎,如今,土壤板結、土壤酸堿化、水分流失等問題嚴重影響土壤的生產(chǎn)功能、環(huán)境功能和生態(tài)功能的發(fā)揮,對糧食產(chǎn)量、食物質量、生態(tài)安全和人體健康造成一定影響[1]。準確地檢測出土壤環(huán)境參數(shù),對倡導精準農(nóng)業(yè)的中國具有深遠意義。
隨著計算機與通信技術的發(fā)展,傳統(tǒng)農(nóng)業(yè)與智能電子設備的結合越發(fā)緊密,現(xiàn)代科學技術的快速發(fā)展為土壤環(huán)境監(jiān)測研究打開了新的大門。孟德倫等[2]采用“T”型結構裝置測量農(nóng)田土壤水分,通過藍牙傳輸技術將數(shù)據(jù)實時發(fā)送到Android手機。Nagarajan G等[3]設計了基于 ZigBee的無線傳感器網(wǎng)絡系統(tǒng)以實現(xiàn)土壤特性監(jiān)測和自動灌溉管理。韓團軍[4]結合ZigBee網(wǎng)絡和WiFi網(wǎng)絡實現(xiàn)了對山間農(nóng)田環(huán)境參數(shù)的監(jiān)測,并采用Web服務器對數(shù)據(jù)進行顯示、處理和存儲。
如表1所示,藍牙可同時連接的設備少,傳輸范圍小,無法滿足大范圍或戶外監(jiān)測要求。WiFi因為功耗過高,電池無法長時間供電,且數(shù)據(jù)安全得不到保障。ZigBee雖然功耗較低,覆蓋距離相對較廣,但能力依然有限。窄帶物聯(lián)網(wǎng)(narrow band internet of things,NB-IoT)技術能夠很好地解決功耗與傳輸距離間的矛盾,有超低功耗、大連接、低速率小數(shù)據(jù)分組、低成本、廣覆蓋等特點,它是當前各大運營商的主流技術選擇[5]。
表1 通信方式比較
本文中基于現(xiàn)有的土壤環(huán)境檢測方法和發(fā)展趨勢,設計了一套基于NB-IoT的土壤溫濕度遠程實時監(jiān)測系統(tǒng),在選擇低功耗設備的基礎上,通過設置不同工作模式、優(yōu)化程序設計等操作,使系統(tǒng)功耗盡可能低,以達到長時間監(jiān)測的目的。最后驗證表明,系統(tǒng)在保證測量精度的同時有效降低了功耗,提高了監(jiān)測設備的使用壽命。
系統(tǒng)整體架構如圖1所示,穩(wěn)壓電路對系統(tǒng)供電,同時帶有上電復位功能。土壤溫度傳感器DS18B20輸出數(shù)字信號直接通過I/O引腳連接到單片機,由于土壤濕度傳感器YL69輸出的是模擬信號,需要連接到內置的 AD轉換電路上。STM32F103RCT6單片機將從傳感器得到的數(shù)據(jù)傳送給NB-IoT模塊,再由該模塊發(fā)送到已經(jīng)對接好的云平臺上。采用的OceanConnect是華為公司基于物聯(lián)網(wǎng)、云計算和大數(shù)據(jù)等技術打造的開放生態(tài)環(huán)境。
圖1 系統(tǒng)整體架構框圖
1.2.1 低功耗元器件選擇
選用低功耗的元器件可以從根本上降低硬件系統(tǒng)的能耗。MCU是嵌入式系統(tǒng)的核心,復雜的芯片集成度高、功能強,但片內晶體管多,總漏電流大,即使進入待機狀態(tài),漏電流也不可忽視,而簡單的芯片內核不僅功耗低,成本也低[6]。由于該土壤溫濕度監(jiān)測系統(tǒng)追求低功耗而不是低時延,因此選用ST公司的STM32F103RCT6芯片作為主控MCU,該芯片擁有低功耗模式,在基本滿足溫濕度測量的條件下,相比于其他芯片能耗更低,待機時電流僅為2μA。無線通信模塊是系統(tǒng)中耗電最大的部分,因此同樣選用具有低功耗模式的NB-IoT模塊。
1.2.2 低功耗模式切換
STM32F103RCT6有睡眠、停止、待機3種低功耗模式[7]:睡眠模式時,內核關閉,但外設依然運行,功耗最高,任一中斷或事件可喚醒;停止模式時,所有時鐘停止,功耗較低,外部中斷可喚醒;待機模式時,1.8 V內核電源關閉,功耗最低,但只有WKUP腳和RTC能將其喚醒。系統(tǒng)根據(jù)未工作時間長短,結合電源消耗、啟動時間和喚醒源,選定最佳的低功耗模式。
NB-IoT模塊 M5310-A有 3種工作模式[8]:Active模式時,模塊處于活動狀態(tài),所有功能正??捎茫梢赃M行數(shù)據(jù)發(fā)送和接收;Idle模式時,模塊處于淺睡眠狀態(tài),網(wǎng)絡保持連接狀態(tài),可接收尋呼消息;PSM模式時,模塊只有RTC工作,網(wǎng)絡處于非連接狀態(tài),不可接收尋呼消息。Idle模式和PSM模式都能夠降低模塊的工作電流,其中主要用到了PSM和eDRX節(jié)電技術,讓模塊活動與睡眠交替進行,可保證電路系統(tǒng)處于低功耗狀態(tài)。
1.2.3 外圍電路節(jié)電
野外測量時會存在供電電壓過高的情況,而降低單片機供電電壓可有效降低功耗。電源電路中的正向低壓降穩(wěn)壓器ASM1117可以將USB提供的5 V電壓轉換為3.3 V的穩(wěn)定電壓,供給處理器和其他元器件。此時I/O口帶有高電平輸出值,系統(tǒng)利用它們給NB-IoT模塊供電,避免了多電源供電造成的能量損耗,同時將多余的I/O口設置成輸入或輸出,并用上拉電阻拉高,有效地減少了漏電流[9]。
土壤溫度傳感器和土壤濕度傳感器芯片均采用CMOS技術,耗電量極小。其中,土壤溫度傳感器從總線上“竊取”一點電保存到電容中可完成供電,即寄生電源供電,且其在待機時功耗近似為0。
1.2.4 軟件程序優(yōu)化
在嵌入式系統(tǒng)中,軟件控制硬件活動,不合理的程序同樣會造成不必要的能量損耗。軟件設計中的延時程序,均采用定時器中斷方法。使用“中斷”代替“查詢”的原因在于單片機進入待機模式后,CPU會停止工作,而定時器仍以極低的功耗正常運行,當定時時間結束,即可喚醒CPU重新進入工作,降低CPU功耗的同時提高了CPU的工作效率。如果采用查詢的方式,CPU會不停地訪問I/O寄存器,從而帶來更多額外的損耗[10]。
1.3.1 嵌入式模塊
嵌入式模塊包括MCU、電源電路、晶振電路、復位電路等。因為設計土壤環(huán)境監(jiān)測系統(tǒng)是在野外應用,要充分考慮芯片功耗、總體成本與運算功耗,所以選用有豐富的內部資源的STM32F103RCT6單片機,如圖2所示。
圖2 STM32F103RCT6引腳圖
該高集成度芯片采用的是Coxter-M3內核,其主要特點就是功耗比較小,并且具有較高的性價比,還能夠支持16位和32位雙指令集,其中主要包括大量寄存器,運行速度比較快,頻率最高可達到72 MHz,尋址方式比較靈活,能夠提高執(zhí)行效率,還可通過 USB、CAN、UART/USART等多種方式進行通信連接[11]。
1.3.2 傳感器模塊
土壤溫度傳感器采用美國Dallas公司生產(chǎn)的數(shù)字化溫度傳感器DS18B20,內部結構主要由64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH、TL和配置寄存器組成,其溫度傳感器是由低溫系數(shù)晶振和高溫系數(shù)晶振組成。它以單總線的數(shù)字方式傳輸,具有低功耗、體積小、精度高、抗干擾能力強等優(yōu)點,適合惡劣環(huán)境的現(xiàn)場溫度測量。測量的溫度范圍為 -55~+125℃,在 -10~+85℃ 范圍內,精度為±0.5℃[12]。
土壤濕度傳感器YL-69插片表面采用鍍鎳處理,感應面積加寬,提高導電性能,同時防止接觸土壤而生銹,延長產(chǎn)品使用壽命,設有固定螺栓孔,便于安裝[13]。其原理在于環(huán)境的濕度發(fā)生改變,使得濕敏電容存在環(huán)境的介質發(fā)生改變,從而導致濕敏電容中的電容數(shù)值產(chǎn)生變化,電容的數(shù)值正比于濕度值。傳感器具有硬件電路簡單、功耗低、靈敏度高的特點。
1.3.3 無線通信模塊
NB-IoT模塊M5310-A是一款工業(yè)級的多頻段(Band3、Band 5、Band 8)無線模塊,主要應用于低功耗的數(shù)據(jù)傳輸業(yè)務,滿足3gpp Release14標準[14]。模塊采用貼片式封裝,共有30個管腳,尺寸為19 mm×18.4 mm×2.2 mm,符合檢測器小巧便攜的設計思想。模塊功能框圖如圖3,其結構包括電源管理單元 PWU、串口 UART、SIM卡、ADC數(shù)模轉換、RF天線等。
圖3 M5310-A功能框圖
系統(tǒng)程序主要包括初始化程序、數(shù)據(jù)采集程序、模數(shù)轉換程序、AT指令等。程序總體流程如圖4所示。當單片機上電之后,配置系統(tǒng)時鐘和外設初始化,各模塊完成初始化后,檢查NB-IoT模塊是否成功連接到網(wǎng)絡,如果成功連接,程序進入睡眠模式,等待定時,到達時間喚醒系統(tǒng),接收云平臺指令。進入主循環(huán),數(shù)據(jù)采集程序對土壤溫濕度數(shù)據(jù)進行讀寫操作,再發(fā)送到MCU,由于土壤濕度傳感器輸出模擬信號,則需要模數(shù)轉換程序處理,MCU通過串口將處理后的數(shù)據(jù)傳送到NB-IoT模塊,最后通過AT指令實現(xiàn)與華為云平臺的交互。測量完成后,系統(tǒng)會再次進入睡眠模式等待下一次操作。通過軟件控制系統(tǒng)在非工作時間及時進入低功耗狀態(tài),可以明顯減少能量消耗。
圖4 程序總體流程框圖
1.4.1 AT指令
NB-IoT模塊是計算機與終端設備通信的樞紐,在物聯(lián)網(wǎng)中,CoAP協(xié)議是面向網(wǎng)絡的針對資源受限設備的應用層協(xié)議,核心內容為資源抽象、REST式交互以及可擴展的頭選項等[15]?;贑oAP協(xié)議的AT命令集可用于控制、調測設備、通信模塊入網(wǎng)等,常用的AT指令如表2所示。在使用模塊之前需要查詢網(wǎng)絡注冊狀態(tài),通常注冊時間與信號強度有關,可以通過查詢信號強度,以便在野外選取合適的測量地點。遇到設備異常,可重啟模塊,然后使用必要的指令實現(xiàn)端云數(shù)據(jù)交互。
表2 常用AT指令
1.4.2 平臺開發(fā)
OceanConnect平臺可以方便地將海量物聯(lián)網(wǎng)終端連接到物聯(lián)網(wǎng)云平臺,通過開放API和IoT Agent實現(xiàn)設備和平臺之間數(shù)據(jù)采集和命令下發(fā)的雙向通信,對設備進行高效、可視化的管理,對數(shù)據(jù)進行整合分析[16]。使用之前需要在平臺上完成對產(chǎn)品的開發(fā),開發(fā)流程如圖5所示。其中,產(chǎn)品模型用于描述設備具備的能力和特性,定義產(chǎn)品模型,即在物聯(lián)網(wǎng)平臺構建一款設備的抽象模型,使平臺理解該款設備支持的服務、屬性、命令等信息。設備集成指芯片模塊等端側設備集成了IoT Device SDK、IoT Device SDK Tiny等云端互通組件后,實現(xiàn)與華為物聯(lián)網(wǎng)平臺對接和直接通信。最后需要進行設備調試,在開發(fā)真實應用和真實設備前,使用應用模擬器和設備模擬器對數(shù)據(jù)上報和命令下發(fā)等場景進行調測,也可以在真實設備開發(fā)完成后使用應用模擬器和設備模擬器對數(shù)據(jù)上報和命令下發(fā)等場景進行調測,也可以在真實設備開發(fā)完成后使用應用模擬器驗證業(yè)務流[17],華為云平臺界面如圖6所示。
圖5 云平臺對接開發(fā)流程框圖
圖6 華為云平臺界面
監(jiān)測系統(tǒng)設計完成后,先在實驗室用清水模擬濕度極大的土壤環(huán)境進行了簡單的測試,測試環(huán)境如圖7所示。系統(tǒng)于2019年6月8日在野外進行測試,設定數(shù)據(jù)上傳云平臺的時間間隔為1 h,記錄8∶00~20∶00土壤溫濕度數(shù)據(jù)。
測試期間,監(jiān)測系統(tǒng)運行穩(wěn)定,無掉線情況發(fā)生,經(jīng)萬用表測量,系統(tǒng)休眠狀態(tài)時通信模塊耗流低至3μA,射頻發(fā)射狀態(tài)時耗流優(yōu)化至220 mA。測試數(shù)據(jù)如圖8所示。
通過分析曲線圖可知檢測效果良好,早上下過雨后,土壤溫度較低,相對濕度較大。隨著天氣放晴,溫度逐漸升高,濕度呈穩(wěn)定下降的趨勢,直到13∶00,達到極值,并趨于穩(wěn)定。土壤溫度于17∶00開始持續(xù)下降,土壤相對濕度于15∶00起逐步增加,到20∶00結束前,均未出現(xiàn)嚴重波動。
圖7 系統(tǒng)測試環(huán)境
圖8 測試數(shù)據(jù)曲線
研究并設計了低功耗土壤環(huán)境監(jiān)測器系統(tǒng),采用NB-IoT技術,將采集的土壤溫度和濕度信息上傳至華為物聯(lián)網(wǎng)云平臺,用戶可以遠程登錄網(wǎng)站,通過實時數(shù)據(jù)和歷史數(shù)據(jù)了解土壤溫濕度變化,同時可以下發(fā)控制指令。實驗表明:系統(tǒng)運行穩(wěn)定、響應快速、數(shù)據(jù)精確,能夠滿足土壤環(huán)境檢測的需要。相比以往的相關設計,本研究從多方面對系統(tǒng)進行了低功耗設計,符合物聯(lián)網(wǎng)發(fā)展趨勢。