梁裕巧,李洪兵,羅洋,康云川,宋小令,向偉
(1. 重慶三峽學院計算機科學與工程學院,重慶市,404120; 2. 重慶市梁平區農業農村委,重慶市,405200; 3. 重慶市江津區農業農村委,重慶市,402260)
近年來,花椒產業飛速發展,并已經成為許多地區主導產業。據統計,截至2019年底全國花椒主產區種植面積達1 118.27 khm2,年產干花椒42.2萬t。其中西南地區四川、云南、貴州和重慶等省市栽種面積達691.93 khm2,年產27萬t,分別占全國58.2%和64%。重慶市江津區種植九葉青花椒面積達36.67 khm2,產出鮮花椒28萬t。花椒種植已成為全區農產品種植的主導產業,由于花椒種植面積大、區域分布散導致花椒管理粗放、監測不精準,設計一套基于利用窄帶物聯網(NB-IoT)技術的花椒生長環境監測系統,以無線傳感技術、計算機技術和無線網絡通信為技術支撐,實現對花椒生長環境實時數據采集傳輸、處理、分析[1-3]。國內外許多研究人員開展了對相關作物生長數據監測的研究。韓團軍[4]利用ZigBee和WIFI技術結合設計了一套針對山區農田環境監測系統,通過ZigBee和WIFI協議轉換將農田環境數據發送到Web服務器進行顯示;許倫輝等[5]基于ZigBee和GPRS技術實現農田區域氣象遠程監測;施苗苗等[6]利用ZigBee和GPRS多網絡融合構建底層采集無線傳感器網絡(Wireless Sensor Networks,WSN)采集農作物生長信息。
以上研究利用ZigBee、GPRS、WIFI等多種網絡通訊技術融合實現了數據傳輸,雖然基本實現了對作物生長數據的監測,但組網能力還存在不足。ZigBee網絡衍射和穿透能力較弱,在復雜的花椒種植環境中,一旦有阻礙物遮擋,其組網通訊能力將不復存在,在規模化的花椒種植條件下,組網相對復雜,節點容易出現故障;GPRS調制方式技術已經陳舊,網絡傳輸速率低,傳輸時延較高,數據在傳輸過程中容易出現丟包現象,不利于花椒生長數據的實時無縫上傳;WIFI技術傳輸距離較短,適用于智能家居環境,很難滿足山區花椒種植設施的組網通信需求,也很難實現對花椒生長情況的遠程監測。通過對組網通信技術的指標進行分析,在花椒的生長數據的監測應用中,以上通訊方式均存在弊端。因此,提出一種基于窄帶物聯網(NB-IoT)的花椒監測系統以滿足花椒生長環境的自動化監測,適應于花椒規模化種植需求。系統通過NB-IoT通信模塊將采集的數據傳輸至物聯網云平臺,物聯網云平臺通過HTTP協議傳送至手機端。用戶可通過物聯網云平臺對花椒生長數據進行實時監測和管理,通過手機端實時查看數據和進行系統決策[7-15]。
NB-IoT是NB-CIoT和NB-LTE融合形成的一種新型廣域低功耗窄帶物聯網通信方式,使用License頻段,可采取帶內、保護帶或獨立載波等三種部署方式并與現有網絡共存,采用蜂窩數據傳輸,極大簡化了網絡部署結構,NB-IoT網絡通訊傳輸采用一站式傳輸平臺,無需進行數據中轉,在數據傳輸方式有極大的便攜性。NB-IoT具有以下特點:一是覆蓋增強,與GPRS比較NB-IoT覆蓋增強20 dB,其中上行功率譜密度提升7 dB,重復編碼增益重復2~16次增益3~12 dB,而覆蓋增強用于提升覆蓋深度和覆蓋概率;二是海量連接,一個NB-IoT網絡理論上支持10萬個設備連接,占空比低,小數據包采用低頻率傳輸且時延不敏感;三是低功耗,一個NB-IoT網絡節點電池壽命最久達10年;四是低成本,NB-IoT采用單天線半雙工通信,單片SoC內置功放降低的產品成本,協議棧簡化減少片內FLASH/RAM節約了開發成本。因此,利用NB-IoT窄帶通訊技術可作為花椒數據監測傳輸介質并實現數據高速遠程通信傳輸。NB-IoT網絡基本架構如圖1所示。

圖1 NB-IoT網絡基本架構
系統架構按照物聯網分層模型設計為感知層、傳輸層、平臺層和應用層。感知層主要包含前端檢測節點,節點內置空氣溫濕度、土壤溫濕度、光照強度、二氧化碳濃度等傳感器,實現對監測區域空氣和土壤環境參數的檢測;傳輸層主要包含NB-IoT遠程蜂窩網絡通信,將前端節點采集到的數據通過NB-IoT傳送至云服務端;平臺層為采用B/S架構的NB-IoT物聯網云平臺,底層設備通過TCP/IP、UDP網絡通信協議直接接入云服務平臺,云服務端對數據進行分析與處理;應用層通過HTML和APP給予用戶操作界面,用戶可通過網頁或者APP實時遠程查看數據,對數據量設置閾值,系統進行數據處理后實現預警與智能反饋調節作用。系統可實現花椒種植環境實時監測、遠程查看、分析與預警等功能,其系統體系結構如圖2所示。

圖2 系統體系結構圖
2.1.1 感知層電路單元
系統感知層硬件采用STM32L151C6單片機為核心處理器,該款處理器工作電壓范圍為1.65~3.6 V,喚醒時間只需8 μs。因低功耗而被廣泛應用于工業、農業、樓與自動化等場所,其處理器內核基于ARM?Cortex?-M3 CPU大大減少了功率損耗。除此STM32L151C6還包含7個DMA通道控制器,8個外圍通信接口并支持串行線調試和JTAG及跟蹤。土壤墑情監測采用MS10型號的三腳直插式電容式土壤水分傳感器(Capacitance Sensor,CS),性能較優,可監測環境復雜偏遠區域,3.3 V電壓驅動、4~20 mA電流輸出,檢測靈敏度極高。空氣溫度以及土壤濕度監測采用應用廣泛的DHT11型溫濕度傳感器,濕度采集精度為±5%,溫度采集精度為±2%,其響應快、穩定性高、低成本等特點滿足系統需求。二氧化碳檢測采用MH-Z19B傳感器,3.3 V電壓驅動、量程為0~5 000 ppm、精度為±(50 ppm+5%讀數值)。當地區域海拔與壓強采用MPL3115A2傳感器,1 Hz采樣模式下功耗僅為8.5 μA、待機功耗僅為2 μA,超低功耗的特點十分適合系統戶外使用需求。光照監測采用BH1750光照傳感器,具有精度高、響應時間快等特點。BH1750和MPL3115A2傳感器與MCU采用IIC通信、MH-Z19B與MCU采用USART通信、DHT11和MS10與MCU采用ONE-WIRE單總線連接通信。感知層核心電路圖如圖3所示。

圖3 感知層核心電路圖
2.1.2 NB通信模組硬件單元
NB通信模組主要承擔了數據上傳與命令下發,通過STM32與NB通信模組結合對其進行控制,通過SIM卡信息讀取和匹配狀態,最后傳輸至物聯網云端,控制中心通過網絡協議解析實現系統遠程數據查詢決策。本次花椒生長花椒監測系統通信模塊采用了BC28芯片作為核心處理器,BC28芯片采用第三款LPWA模組,支持多種頻段,且在Multi tone模式下最大上行速率可達62.5 kbps,BC28能兼容GSM/GPRS系列的M26模塊,讓用戶使用方便快速靈活。
2.2.1 STM32與NB模組通信
本系統采用KEIL MDK5集成開發環境進行STM32程序的編寫與編譯,并通過Jlinkv9開發工具對系統進行在線調試與程序燒錄。STM32與NB-IoT模組之間采用USART通信,NB模組有兩種上云通信協議:UDP和CoAP協議。系統采用CoAP協議進行配置通信,設備MCU將采集到的數據經處理后通過NB模組發送請求到指定的CoAP服務器,然后NB模組接收來自CoAP服務器的數據,對數據進行解析并將結果發送至串口緩存,MCU通過USART進行數據讀取。
通過配置CDP服務器,設置CoAP服務器地址端口:AT+NCDP=<117.60.157.137>[5683],設置CoAP發送確認功能使能:AT+CoAPRPY=1。設置串口顯示AT+NNMI=1。設置串口顯示有三種狀態:當設置為1時,會同時受到數據并顯示;設置為0時,通知和顯示同時關閉;設置為2時,串口僅收到通知。配置使能完成,方便MCU與NB模組的通信與調試。STM32與NB模組CoAP通信模式如圖4所示。

圖4 STM32與NB模組CoAP通信模式圖
2.2.2 NB模組與平臺建立對接
NB模組與電信物聯網云平臺建立對接,進入物聯網云平臺開發者中心創建NB-IoT項目自定義各種設備類型,根據頁面彈出的信息框選擇CoAP協議類型,編寫Profile文件并增加屬性來描述設備類型和設備服務能力。開發完 Profile 文件后可以在平臺界面上以圖形化的方式完成設備與平臺之間的消息映射。平臺中集成了多種編解碼插件模板,開發者可以根據所需設備類型開發修改各種編解碼插件,節約開發時間,通過部署插件與Profile文件建立對于關系測試設備是否上傳和下發各種十進制參數。NB模組與云平臺對接流程如圖5所示。

圖5 NB模組與云平臺對接流程圖
2.2.3 數據傳輸
NB模組與平臺對接成功,并將底層各種傳感器采集數據通過MCU串口以AT命令發送到NB模組,NB模組底層發送的數據接收并通過payload自動封裝成為CoAP協議發送至物聯網云平臺。系統采用CoAP協議包并根據對應的設備Profile文件匹配插件,對模組發送過來的payload進行解析,最后就數據儲存到云平臺。在實際硬件設備中,使用前需提前注冊設備,使用串口調試助手以AT指令獲取模塊唯一IMEI號,執行AT+CEREG?指令查看注網是否成功,若返回0或1表示成功。注網成功分為兩步上傳數據:第一步是使用AT+NCDP指令配置服務器地址,設備接入可看到IP地址117.60.157.137:5683(CoAP)。第二步使用AT+NMGS指令發送指令數據。NB模組上傳數據核心程序如下。
uint8_t connect_CoAP(char* serve_ip)
{
char temp[64]=”AT+NCDP=”;
strcat(temp,serve_ip);
strcat(temp,”5683”);
if(!BC28_send_cmd(temp,”ok”,100))
}
數據傳輸基于標準的Modbus RTU協議進行了擴展開發,采用16位CRC校驗,數據請求傳送一幀為21個字節,即168 bit,數據幀組成為:設備號+功能碼+寄存器起始地址+寄存器單元長度+字節數+數據+CRC校驗。
2.2.4 數據采集
花椒種植管理相對粗放,土壤和水分含量影響其生長速度和結果率。其生長基本條件有:溫濕度、光照度、土壤水分,海拔高度。該系統采集模塊包含空氣溫濕度監測、光照度監測、海拔高度和土壤濕度監測部分。系統感知層主控芯片統一采用STM32L151C6,BH1750光照傳感器通過IIC總線指令進行測量,測量模式分為兩種:一次測量和連續測量。DHT11溫濕度傳感器采用單總線接口協議對空氣濕度與土壤濕度進行測量,土壤體積含水率測量范圍20%~95%,空氣濕度測量范圍為20%~95%。MS10土壤墑情傳感器采用IIC總線協議對土壤濕度進行測量,測量范圍為0~100%,測量精度可達到0.1%。MPL3115A2傳感器通過IIC總線對當地海拔和壓強進行測量,直接讀出數字信號。ZH-Z10B二氧化碳傳感器通過PWM/USART對空氣二氧化碳含量進行測量,讀出原始數據信息后進行數據補償。
監控中心設計分別采用Web端云平臺和手機App設計,用戶可遠程進行數據監看與控制。監控中心服務資源采用基于NB-IoT的物聯網云平臺,該平臺為底層傳輸提供安全可靠的數據報送、數據存儲等,用戶無需購買傳統硬件設備、數據庫等中間件,下位機采用Modbus RTU(CRC16)協議完成部署通信,基于開發SDK,可通過有人云API進行二次開發,完成數據統計、分析與預測操作。云平臺監控大屏界面圖如圖6所示。

圖6 云平臺監控大屏界面
手機端開發采用Eclipse免費開源開發工具,且Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。手機端通過HTTP協議和云平臺進行通訊,也可以調用開放的API接口控制設備和下發命令。物聯網云平臺收到的數據也同時推送至手機端實時查看當前數據。APP運行流程如圖7所示。

圖7 APP運行流程圖
在花椒監測過程中,為避免NB-IoT節點部署大面積散亂,數據傳輸冗余。而大部分地區地形復雜,花椒種植分布不規則。針對NB-IoT節點在田間節點能耗消耗過大問題,采用非均勻節點部署。分別假設部署區域為(A)正方形,NB-IoT網絡基站(S)部署在(A)的中心,NB-IoT節點(K)以基站(S)為中心點,呈圓環形式部署在基站周圍。以S為中心,將整個A區域內的圓環分別標記P1,P2,P3…PN。其NB-IoT節點部署模型如圖8所示。

圖8 NB-IoT節點部署模型
基站(S)與節點(K)之間的數據通信采用多路衰減能量模型,已知基站(S)與節點(K)之間的通信距離為d時,節點發送len比特數據所消耗的能量
(1)
式中:Eelec——收發數據所消耗的能量;
Eamp——放大器能量消耗。
K節點接收數據所消耗能量
Erx(len)=lenEelec
(2)
其中,d0取值為50 m,Eelec取值50 nJ/bit,Eamp1取值10 J/(bit·m2),Eamp2取值0.001 3 pJ/(bit·m4)。
設置節點間發生數據包的長度為len比特,當節點按照均勻分布在監控區域中,并組成(S)到節點之間的距離為直徑2r。在數據收集中節點所消耗能量
Enormal=len(Eelec+Eamp1r2)
(3)
計算處于第P層圓環中的節點總能耗
Es(P)=lenNnormal(k)Eelec+lenNC(Eelec+
Eamp2(kr)4)
(4)
式中:Nnormal(k)——圓環區域內節點個數;
P——圓環區域層。
通過分析計算,非均勻部署能有效活躍冗余節點個數,優化節點采集能力且節約能耗周期。在分析測試過程中與傳統均勻節點部署相比,仿真結果如圖9所示。

圖9 節點部署分析對比
仿真結果表明:當節點模塊正常傳輸時,采用傳統均勻節點部署方式其網絡生命周期會隨著節點區域長度的變化而逐漸減少,且節點部署距離在100 m和200 m時,網絡生命周期呈現階梯式下降;而采用非均勻節點部署時,各個節點發揮最大優勢,節點網絡生命周期隨著節點區域長度逐漸平緩上升,最終達到網絡生命周期1 000輪的峰值。
系統搭建完成后,在江津區某花椒種植基地完成實地測試。同一片區域內分別布置節點1、節點2、節點3、節點4,每個節點分布與基站距離不同,且安裝距離基站分別為50 m、100 m、150 m、200 m。通過不同距離對節點傳輸性能、傳輸時延進行測試。系統參考QN-QX5便攜式農業環境檢測儀所測得的參數為標準值,將系統各節點測得的數據與標準值進行比較。節點分布如圖10所示,安裝距離基站為50 m、100 m、150 m、200 m的節點,如表1、表2、表3、表4所示分別為截取同一時刻的實時監測數據。

表1 節點1實時測試數據Tab. 1 Real time test data of node 1

表2 節點2實時測試數據Tab. 2 Real time test data of node 2

表3 節點3實時測試數據Tab. 3 Real time test data of node 3
本系統性能測試主要分為硬件測試、信號傳輸測試以及傳感器采集信息功能測試。將節點應對如圖10進行部署,通過傳感器節點進行數據采集,并發送到IoT云平臺。設置節點上傳周期為30 min,每幀發送數據包大小為168 bit,在IoT云平臺進行數據收集與查看,將接收到的數據與節點所發送的數據進行分析得出丟包率,統計周期為30 d。經測試,節點1、節點2、節點3、節點4在50~200 m范圍丟包率為0.15%以內。在郊區測試距離為5 km時,丟包率為0.35%以內,測試距離超過10 km時,丟包率為0.85%以內,除去穩定的近距離100 m內范圍,0.1~10 km范圍內平均丟包率為0.35%,具有非常良好的通信可靠性。IoT云平臺正常接收底層傳感器傳送數據,將接收的數據進行云存儲并加以分析。NB-IoT遠程無線傳輸數據通信測試如表5所示。

圖10 系統節點分布

表5 NB-IoT遠程無線傳輸數據通信測試Tab. 5 Data communication test of NB-IoT remote wireless transmission
本文以花椒生長環境監測為背景,研制出一套基于NB-IoT窄帶通信技術的花椒環境因子監測系統,并將系統進行實地測試,得出以下結論。
1) 系統采用非均勻節點部署方式進行監測,通過系統建模分析計算得出采用節點非均勻部署與傳統節點均勻部署方式相比,節點能量消耗逐漸降低,有效地延長了節點網絡生命周期。
2) 針對系統性能測試,將各個節點分布在不同距離和區域實地測試,并抓取數據傳輸丟包率,當通信距離在0.1~10 km范圍內平均丟包率為0.35%;當大于10 km時,丟包率為0.85%,該系統能較好的完成各項監測任務,達到了預期效果。
3) 采用基于NB-IoT的物聯網云平臺進行遠程監控,直接通過API接口進行連接,避免用戶進行二次開發,大大降低了系統研發成本。總的來說該系統能有效完成花椒生長環境的監測,并提供了一種智能采集、遠程傳輸的技術手段,為花椒栽培的種植大戶提供了決策和參考。目前,該系統運行于重慶市某花椒示范種植場地,運行效果良好,深受相關行業部門的好評,滿足大規模化的花椒種植需求。