王偉峰,韓 非,彭 超,晏 亮,陳一凡
(1.牧星智能工業(yè)科(上海)有限公司,上海200090;2.中國人民解放軍95841部隊,酒泉735018;3.上海無線電設(shè)備研究所,上海201109)
目前,我國農(nóng)業(yè)在新技術(shù)的支持與推動下不斷取得突破性進(jìn)展,數(shù)字農(nóng)業(yè)作為現(xiàn)代農(nóng)業(yè)中的重要組成部分起到了重要的推動作用,數(shù)字農(nóng)業(yè)的技術(shù)核心是信息化,采集與農(nóng)業(yè)生產(chǎn)相關(guān)的各類數(shù)據(jù)信息再加以提取、計算與分析,為數(shù)字農(nóng)業(yè)技術(shù)中的關(guān)鍵環(huán)節(jié)[1],近年來,物聯(lián)網(wǎng)技術(shù)不斷創(chuàng)新與發(fā)展,為數(shù)字農(nóng)業(yè)的發(fā)展提供了新的契機(jī)。
窄帶物聯(lián)網(wǎng)NB-IoT技術(shù),與WiFi,ZigBee等傳統(tǒng)的物聯(lián)網(wǎng)技術(shù)相比,具有覆蓋范圍廣,功耗低,以及海量連接的特點[2],在此提出了以NB-IoT為核心的土壤墑情遠(yuǎn)程監(jiān)測系統(tǒng),其物聯(lián)網(wǎng)終端設(shè)備是以STM32F103為主控芯片的采集傳輸控制器,采用消息隊列遙測傳輸MQTT(message queuing telemetry transport)協(xié)議將采集的土壤墑情信息遠(yuǎn)程發(fā)送到阿里云平臺及數(shù)據(jù)庫中,供前端土壤數(shù)據(jù)監(jiān)測網(wǎng)站進(jìn)行顯示、計算及分析,目前該系統(tǒng)方案已經(jīng)完成工程驗證并投入使用。
土壤墑情監(jiān)測系統(tǒng)總體框架如圖1所示,系統(tǒng)按照物聯(lián)網(wǎng)分層架構(gòu)進(jìn)行設(shè)計,包括感知層、傳輸層、網(wǎng)絡(luò)層、應(yīng)用層。
圖1 監(jiān)測系統(tǒng)總體架構(gòu)Fig.1 Overall architecture of monitoring system
第1 層感知層,土壤傳感器采集土壤溫度、含水量以及電導(dǎo)率等3種土壤墑情信息,并將采集數(shù)據(jù)發(fā)送到采集傳輸控制器,每個采集傳輸控制器通過總線形式連接多個土壤傳感器進(jìn)行通信。
第2 層傳輸層,采集傳輸控制器內(nèi)部集成NB-IoT通信模塊;采集傳輸控制器接收到各土壤傳感器發(fā)送的墑情數(shù)據(jù)報文后,進(jìn)行解析、重新組幀并通過NB-IoT的通信方式將數(shù)據(jù)遠(yuǎn)程發(fā)送到阿里云平臺。
第3 層網(wǎng)絡(luò)層。NB 電信運(yùn)營商建立的通信基站與網(wǎng)關(guān)將各采集控制器的數(shù)據(jù)轉(zhuǎn)發(fā)到阿里云平臺后,再存儲到云端的SQL 數(shù)據(jù)庫中,實現(xiàn)數(shù)據(jù)管理。
第4 層應(yīng)用層,為分析土壤墑情建立土壤墑情監(jiān)測平臺網(wǎng)站,平臺網(wǎng)站從云端SQL 數(shù)據(jù)庫中讀取采集到的土壤墑情數(shù)據(jù),進(jìn)行實時顯示和歷史數(shù)據(jù)分析。
土壤墑情監(jiān)測系統(tǒng)中,采集傳輸控制器主要負(fù)責(zé)采集各傳感器測量信息并實現(xiàn)遠(yuǎn)程通信,網(wǎng)站平臺及數(shù)據(jù)庫主要部署在網(wǎng)絡(luò)云端,因此系統(tǒng)的硬件設(shè)計主要圍繞采集傳輸控制器進(jìn)行。
采集傳輸控制器的硬件組成如圖2所示,采集傳輸控制器的主控芯片選用意法半導(dǎo)體(ST)公司數(shù)字處理芯片STM32F103RCT6,主控芯片連接的外設(shè)主要包括DC-DC轉(zhuǎn)換電路、RS485通信電路、NBIoT通信模塊以及GPS 衛(wèi)星定位模塊。
圖2 采集傳輸控制器組成框圖Fig.2 Composition diagram of acquisition and transmission controller
在采集傳輸控制器中,STM32F103 作為主控芯片承擔(dān)了數(shù)據(jù)采集、解析及遠(yuǎn)程傳輸?shù)年P(guān)鍵控制作用。STM32 通過串口USART2 以總線的形式實現(xiàn)與多個土壤傳感器之間相互通信,獲取各傳感器的土壤采集數(shù)據(jù);通過串口USART3對SIM7020C型NB-IoT通信模塊進(jìn)行配置與數(shù)據(jù)遠(yuǎn)程發(fā)送;通過串口USART1與GPS模塊進(jìn)行通信,獲取該土壤墑情監(jiān)測點的地理坐標(biāo)信息,STM32 主控芯片電路如圖3所示。
圖3 STM32 主控芯片電路Fig.3 STM32 main control chip circuit
NB-IoT通信芯片選用中國芯訊通公司的SIM7020C型多頻段無線通信模塊,其應(yīng)用電路如圖4所示。
圖4 NB-IoT通信模塊電路Fig.4 NB-IoT communication module circuit
SIM7020C 應(yīng)用電路包含的硬件接口有電源輸入、USB接口、全功能串口、SIM 卡接口、天線接口[3],其全功能串口與STM32 芯片的USART3 實現(xiàn)通信。SIM7020C的PWRKEY 引腳為開關(guān)機(jī)控制輸入,低電平有效,其輸入有效低電平的最大值為0.5 V。
定位已成為物聯(lián)網(wǎng)發(fā)展的重要基礎(chǔ),采集傳輸控制器中包含GPS 衛(wèi)星定位模塊,以使網(wǎng)絡(luò)終端能夠獲知土壤墑情數(shù)據(jù)所對應(yīng)的地理位置坐標(biāo),GPS定位芯片選用移遠(yuǎn)公司L76C型定位產(chǎn)品,L76C 支持多衛(wèi)星系統(tǒng),可接收處理多種SBAS 信號,且具有功耗低、靈敏度高的優(yōu)點[4],其應(yīng)用電路如圖5所示。
采集傳輸控制器軟件主要實現(xiàn)土壤傳感器數(shù)據(jù)采集和NB-IoT 無線遠(yuǎn)程傳輸2個功能。軟件流程如圖6所示。
首先初始化STM32 主控芯片,然后通過AT 指令對SIM7020C 進(jìn)行NB-IoT 入網(wǎng)配置,實現(xiàn)其與阿里云平臺的網(wǎng)絡(luò)連接。NB-IoT 入網(wǎng)的主要步驟如下:
圖5 GPS定位模塊電路Fig.5 GPS positioning module circuit
圖6 采集傳輸控制器軟件流程Fig.6 Software flow chart of acquisition and transmission controller
步聚1創(chuàng)建TCP 連接,指令為
AT+CMQNEW=
步聚2設(shè)置阿里云設(shè)備三要素,指令為
AT+CMQALICFG=
步聚3發(fā)送MQTT 連接包至阿里云,指令為
AT+CMQALICON=
采集傳輸控制器與土壤傳感器通過RS485 進(jìn)行總線通信,通信數(shù)據(jù)采用串行通信協(xié)議Modbus協(xié)議。當(dāng)完成各土壤傳感器采集數(shù)據(jù)解析后,STM32通過串口將AT 數(shù)據(jù)包發(fā)送給SIM7020C,從而實現(xiàn)遠(yuǎn)程發(fā)送,其數(shù)據(jù)發(fā)送指令如下:
1)發(fā)送MQTT 訂閱包,指令為
AT+CMQSUB=
2)發(fā)送MQTT 發(fā)布包,指令為
AT+CMQSUB=
此外,由于土壤墑情數(shù)據(jù)無需密集周期發(fā)送,其最短發(fā)送間隔時間為10 min,而工作時長低至1 min以內(nèi),因此,為節(jié)省電池耗電量,采集傳輸控制器在空閑時期需要進(jìn)入低功耗模式,低功耗的軟件實現(xiàn)主要包括STM32 芯片低功耗和SIM7020C模塊低功耗;STM32 芯片低功耗采用停止模式,SIM7020C模塊低功耗采用PSM模式。采集傳輸控制器進(jìn)入工作模式或低功耗模式的時間控制依靠STM32 芯片的RTC 中斷實現(xiàn)。
采集傳輸控制器與阿里云平臺之間的通信是依靠NB-IoT 遠(yuǎn)程發(fā)送實現(xiàn)的,其數(shù)據(jù)接口為MQTT接口[5],因此,需要在阿里云平臺上建立與采集傳輸控制器通信參數(shù)一致的設(shè)備模型。
設(shè)備模型的建立完成后,可以建立該模型下的多個具體物聯(lián)網(wǎng)設(shè)備,阿里云物聯(lián)網(wǎng)設(shè)備的通信三要素是產(chǎn)品名稱、ProductKey和DeviceSecret[6]。
阿里云數(shù)據(jù)庫RDS版包含MySQL,SQLServer,PostgreSQL,PPAS和MariaDBTX,用戶可以根據(jù)需要創(chuàng)建出適合自己應(yīng)用場景的數(shù)據(jù)庫實例,在此所建立的系統(tǒng)即為在阿里云數(shù)據(jù)庫RDS 創(chuàng)建的MySQL 實例:電信運(yùn)營商網(wǎng)關(guān)接收到采集傳輸控制器發(fā)送的MQTT 數(shù)據(jù)包后,將數(shù)據(jù)推送到阿里云平臺,云平臺接收解析后再將各測試變量值寫入數(shù)據(jù)庫中。
土壤墑情數(shù)據(jù)監(jiān)測網(wǎng)站作為前端應(yīng)用,主要包含傳感器工作狀態(tài)監(jiān)測、土壤墑情監(jiān)測點地理位置分布顯示、各監(jiān)測點傳感器測量數(shù)據(jù)實時更新,以及歷史數(shù)據(jù)分析等功能,其網(wǎng)站頁面如圖7所示。
圖7 土壤數(shù)據(jù)監(jiān)測網(wǎng)站Fig.7 Soil data monitoring website
傳感器工作狀態(tài)的監(jiān)測內(nèi)容,主要包括設(shè)備是否在線、各狀態(tài)下傳感器數(shù)量統(tǒng)計、電池剩余電量顯示等,傳感器的地理位置分布是根據(jù)采集傳輸控制器的衛(wèi)星定位數(shù)據(jù)實現(xiàn)地圖顯示的,各傳感器測量數(shù)據(jù)可以進(jìn)行單點實時顯示,也可以繪制出歷史變化曲線,由此進(jìn)行數(shù)據(jù)動態(tài)分析,用戶注冊自己的賬號,添加自己的采集傳輸控制器設(shè)備序列號,就可以在登陸網(wǎng)站后觀測到自己設(shè)備的相關(guān)數(shù)據(jù)及信息。
為驗證所提出的物聯(lián)網(wǎng)土壤墑情監(jiān)測系統(tǒng)方案的可行性,在河南省漯河市青年鄉(xiāng)的冬小麥田地中安裝部署了所設(shè)計的土壤監(jiān)測系統(tǒng)。
每個監(jiān)測站點包含一套采集傳輸控制器、3個土壤傳感器,系統(tǒng)供電采用鋰電池加太陽能充電的方式實現(xiàn)。土壤傳感器安裝現(xiàn)場如圖8所示,3個傳感器的埋地深度依次為20 cm,40 cm,60 cm。
圖8 土壤傳感器安裝現(xiàn)場Fig.8 Installation site of soil sensor
在PC網(wǎng)絡(luò)終端,選擇土壤監(jiān)測點下雨后24 h內(nèi)的土壤含水量數(shù)據(jù)進(jìn)行分析,得到的土壤含水量體積分?jǐn)?shù)的變化趨勢如圖9所示。
圖9 土壤含水量變化趨勢Fig.9 Change trend of soil water content
由圖可見,埋地深度為20 cm的傳感器測量的雨后土壤含水量,下雨后由(體積分?jǐn)?shù))40%增加到44%,雨停后呈緩慢下降趨勢;埋地深度40 cm的土壤含水量,在下雨后(體積分?jǐn)?shù))微漲了0.4%,變化較小,上述數(shù)據(jù)變化趨勢表明,該系統(tǒng)能夠?qū)崿F(xiàn)對土壤墑情變化的長時間穩(wěn)定、可靠監(jiān)測。
基于NB-IoT 物聯(lián)網(wǎng)技術(shù),建立了土壤墑情遠(yuǎn)程監(jiān)測系統(tǒng),對集成NB-IoT通信模塊的采集傳輸控制器進(jìn)行了軟硬件設(shè)計,通過MQTT協(xié)議實現(xiàn)了采集傳輸控制器與阿里云平臺之間的數(shù)據(jù)通信;創(chuàng)建SQL 數(shù)據(jù)庫,實現(xiàn)了數(shù)據(jù)測存儲管理;建立前端數(shù)據(jù)監(jiān)測網(wǎng)站,對采集數(shù)據(jù)進(jìn)行顯示分析,實際應(yīng)用證明,所述方案具有良好的工程可行性。