徐尚瑜張 燕陳文君董如嬋
(金陵科技學院軟件工程學院,江蘇 南京 211169)
智慧農(nóng)業(yè)是解決未來農(nóng)業(yè)發(fā)展的重要途徑,農(nóng)業(yè)環(huán)境感知是智慧農(nóng)業(yè)分析決策的先決條件。 在國家“雙碳”目標背景下,傳感器網(wǎng)絡正持續(xù)向低功耗、輕量化轉型。 農(nóng)業(yè)現(xiàn)場條件簡陋,環(huán)境復雜多變,故要求智慧農(nóng)業(yè)感知層設備在保證準確度和穩(wěn)定性的同時,還需要具備:價格低、無施工、少維護、小巧可移動且不占土地等特點。
聶鵬程[1]總結了2G/3G/4G、GPRS、ZigBee、藍牙以及射頻、調頻等無線通信技術特點,重點介紹了以5G 為代表,包括:LoRa、NB-IoT、UWB 在內的新興技術在安全可靠、快速數(shù)據(jù)傳輸方面的優(yōu)勢。 滿足農(nóng)業(yè)生產(chǎn)要求的環(huán)境采集終端需要滿足兩個要求:無線傳輸和本地電池供電。 針對農(nóng)業(yè)傳感采集數(shù)據(jù)量小、頻率低的特性,目前適用主流無線通信技術有: 無線傳感器網(wǎng)絡 WSN (Wireless Sensor Network)和低功耗廣域網(wǎng)絡LPWAN(Low Power Wide Area Network)。 ZigBee 是一種典型WSN 多跳Mesh 網(wǎng)絡,張偉[2]在果園中裸地、平地、山地場景下部署ZigBee 網(wǎng)絡,測量擬合信號強度RSSI、丟包率與收發(fā)通信距離、天線高度的關系,計算信道能耗衰減模型,為農(nóng)業(yè)場景應用ZigBee 技術提供了依據(jù)。由于ZigBee 物理調制技術節(jié)點間的通信距離限制在百米范圍,ZigBee 通過協(xié)調器、路由器和終端這三個角色組成“多跳”路由網(wǎng)絡,擴展網(wǎng)絡覆蓋范圍,應用QoS 機制保障網(wǎng)絡消息的可達性。 通常消息傳遞需要經(jīng)過多個物理節(jié)點轉發(fā),網(wǎng)絡管理、路由尋址增加了系統(tǒng)維護工作量,同時也增加了網(wǎng)絡的整體能耗。
LPWAN 是近年快速發(fā)展應用的新型通信技術,專注于物聯(lián)網(wǎng)低功耗遠距離傳輸領域,以Sigfox、LoRa 和NB-IoT 星形組網(wǎng)為典型代表,Kais Mekki[3]對這三種IoT 無線技術的距離、速率、功耗等做了橫向比較,并給出了三種技術目前適合的應用場景。 Sigfox 和LoRa 運行在非授權頻段(ISM),Sigfox 網(wǎng)絡(基站和云服務)由Sigfox 公司管理。LoRa 允許用戶可自建網(wǎng)絡,單基站接入近萬個終端,空曠區(qū)域通信距離超過5 km;開源LoRaWan 提供的MAC 層協(xié)議可用于LoRa 網(wǎng)絡的組織管理,而LoRa 的核心物理層技術由美國升特公司專利所有,用戶購買使用升特公司的射頻芯片(127X、126X 系列和基站SX1301),LoRa 在成本和功耗都有很大優(yōu)勢;NB-IoT 運行在授權頻段由通信運營商管理,是基于3GPP 協(xié)議的蜂窩網(wǎng)絡在低功耗大規(guī)模物聯(lián)網(wǎng)領域的應用,用戶可使用運營商網(wǎng)絡可快速集成應用,但目前網(wǎng)絡無法全覆蓋農(nóng)村區(qū)域。
在農(nóng)業(yè)低功耗傳感器網(wǎng)絡終端方面,邱曙光[4]針對河道水質傳感器功耗高、供電難等問題設計出應用太陽能鋰電池供電的LoRa 水質監(jiān)測節(jié)點,節(jié)點搭載pH、氧化還原電位和濁度485 型水質傳感器,設計節(jié)點電源和通信模塊的硬件電路,配合變頻采集策略,系統(tǒng)性地降低節(jié)點功耗,延長電池續(xù)航能力。 肖漢光[5]應用主控STM32 與NB-IoT 模塊M5310 設計了一款低功耗土壤環(huán)境監(jiān)測終端,通過切換工作、睡眠模式節(jié)約功耗,使用CoAP 協(xié)議上報數(shù)據(jù)給華為云平臺。
LoRa[6]具有低功耗、遠距離、大連接等特點,其在規(guī)?;⒌统杀緮?shù)據(jù)采集領域有優(yōu)勢,尤其適合供電受限的大農(nóng)業(yè)場景。 Liando,J.C[7]進行了大規(guī)模LoRa 網(wǎng)絡性能研究,提出非視距場景下建筑物對通信距離有較大影響;單基站可接入6 000 個節(jié)點,到達消息解包成功率70%以上;研究了SF、TP、BW 等無線參數(shù)對功耗的影響,提供了一種計算電池供電時長和估計整體網(wǎng)絡容量的研究方法;最終實現(xiàn)了一種在高密部署場景下解決發(fā)包沖突的CSMA-CAD數(shù)據(jù)發(fā)送機制。
LoRa 物理層調制技術源于雷達通信使用的線性調制擴頻技術(Chirp Spread Spectrum),其將待發(fā)送的數(shù)據(jù)Bit 調制成射頻符號Symbol,在LoRa 技術中Chirp 與Symbol 概念等同,在一個符號Symbol 周期內,符號Symbol(或Chirp)載頻的頻率在帶寬Bandwidth 范圍內的呈線性變化,當頻率增大達到BW 上邊界時,將反轉到BW 的下邊界繼續(xù)線性增大,直到頻率回到起始頻率點。 LoRa 將一個Symbol調制成2SF個碼片Chip 進行發(fā)送,此時一個Symbol編碼的數(shù)據(jù)Bit 的個數(shù)稱為擴頻因子SF;Symbol 載頻的起始點的頻率偏移代表該Symbol 編碼的Bit 組合,即一個Symbol 可表示2SF個取值。 例如,當SF =8 時,一個Symbol 可以編碼8 個Bit,即一個Symbol有256 個起始頻點可代表28個不同的取值。
LoRa 設計手冊[8]給出其物理層重要參數(shù)的說明,這些參數(shù)的組合決定傳輸性能,主要參數(shù)有:BW帶寬、CF 中心載頻、SF 擴頻因子、TP 發(fā)送功率、冗余編碼率CR,其中SF 和TP 兩個參數(shù)對功耗有顯著影響[9],需根據(jù)傳輸距離進行優(yōu)化配置。 SF 擴頻因子,根據(jù)手冊[8]對碼片速率(Rc)的定義,Rc 與帶寬BW 相同,故Rc 一定;因此SF 每增加1 發(fā)送一個Symbol 的時間加倍。 LoRa 擴頻因子SF 范圍6~12,增大SF 意味著發(fā)送單位有效Bit 的時間更長,這樣可提高信噪比SNR,擴大信號的傳輸距離,但同時會增加發(fā)送時間TOA(Time on The Air),增大發(fā)送功耗。 由此根據(jù)通信距離和功耗的關系設計合理的SF 對低功耗有至關重要的作用。 TP(Transmission Power)是數(shù)據(jù)發(fā)送時無線電發(fā)射的功率,單位dbm,理論上在4 dbm~20 dbm 之間,但由于不同模組廠家封裝的硬件限制,TP 會有所差異。
LoRaWan[10]是LoRa 聯(lián)盟定義的用于終端、基站和網(wǎng)絡服務器互聯(lián)的協(xié)議和消息格式,協(xié)議定義Class A,B,C 三種模式。 LoRaWan 協(xié)議將用戶應用層數(shù)據(jù)封裝在MAC 層之上的APP 層中,MAC 層完成網(wǎng)絡管理功能,MAC 層下的物理層應用Aloha 協(xié)議完成數(shù)據(jù)發(fā)送,見圖6 LoRa 幀格式。 其中Class A 模式的上行消息發(fā)送完后,有兩個下行窗口Rx1,Rx2 等待下行消息,相比其他兩種模式,該模式功耗最低。
用戶數(shù)據(jù)包經(jīng)過MAC 層、物理層封裝后最終調制成Symbol 發(fā)送。 一個Symbol 調制成2SF個碼片來發(fā)送,根據(jù)LoRa 用戶手冊[8],LoRa 發(fā)送一個Symbol耗時Tsym 按式(1),一個用戶數(shù)據(jù)包經(jīng)過封裝后的Symbol 個數(shù)Npl 按式(3)。
用戶數(shù)據(jù)的總發(fā)送時間Ttx按照式(2)計算,其中參數(shù)CR 前向糾錯編碼率(可取值1,2,3,4),PL為用戶數(shù)據(jù)包字節(jié)數(shù),SF 擴頻因子,CRC 校驗碼(上行為1,下行是0),IH 隱式頭部標識(當使能Header 時為0),DE 低速優(yōu)化(關閉時為0)。
LoRa 通用農(nóng)業(yè)采集終端AG21 的系統(tǒng)框圖如圖1 所示,終端由電路轉換模塊、主控芯片MCU、485 通信模塊和LoRa 通信模塊組成。 終端外圍設備包括:各類環(huán)境參數(shù)RS485 傳感器、LoRa 天線以及為整個系統(tǒng)供電的鋰電池。 鋰電池通過電源降壓模塊為MCU、LoRa 射頻、485 通信模塊和RS485 傳感器供電;為節(jié)約功耗,RS485 傳感器和485 模塊按需開啟,由于485 傳感器本身不具備開關管理功能,通過觸發(fā)繼電器線圈吸合斷開來控制傳感器與485模塊的電源通斷。 考慮到電池供電,故低功耗是終端首要解決的問題。
圖1 終端AG21 系統(tǒng)框圖
①在主控和通信芯片方面,使用易通匯聯(lián)低功耗XC30 物聯(lián)網(wǎng)芯片, 該芯片封裝了主控STM32L431CBT6 和LoRa SX1268 無線傳輸模塊,兩者使用片內SPI 總線直接通信,有效降低線路上功耗損耗。 其MCU 支持低功耗運行、睡眠、停止模式,其中停止模式下電流低至6uA;LoRa 部分支持無線發(fā)射功率2dBm~19dBm 范圍可調,高接收靈敏度,成功解調的RSSI 可低至-140 dBm。 主控MCU 可集成LoRaWan 協(xié)議棧和用戶應用程序,應用Open-MCU 方案,用戶使用共享MCU 實現(xiàn)業(yè)務編程,可節(jié)約一個用戶業(yè)務MCU,從而節(jié)約成本降低功耗。
XC30 引腳圖如圖2 所示,其中B10和B11為UART3 引腳與485 傳感器通信;ANT 引腳連接天線,A9、A10引腳為打印和配置串口,VDD 和GND 供電,A13、A14供程序燒錄使用;A3引腳為鋰電池電壓測量數(shù)模轉換AD 的輸入口,使用分壓電路測量R14電阻對應的電壓值V,并有歐姆定律推出當前鋰電池的電壓為測量值V 的11 倍。
圖2 XC30 引腳功能說明
②在傳感器選型方面,低電壓有助于降低系統(tǒng)整體功耗,485 傳感器選擇5 V 供電電壓;傳感器按需供電,選用磁保持型雙穩(wěn)態(tài)繼電器HFD2/005-M-L2 控制傳感器的電源通斷,磁保持繼電器無需持續(xù)電流來保持繼電器的狀態(tài),僅用脈沖就可觸發(fā)開關操作,可避免為保持傳感器通電或斷電狀態(tài),GPIO 持續(xù)拉高導致的放電功耗。 其外圍電路如圖3 所示,1-16 和2-15 是其兩個線圈,4-6-8 是5 V傳感器開關電路,9-11-13 是485 模塊開關電路,這兩個線圈(2-15、1-16)分別控制傳感器與485 模塊的開和關(狀態(tài)同步,同開,同關)。 以關閉電路的場景(對應圖3 左側電路)舉例:MCU 的B14引腳接CTRL_OFF,通過觸發(fā)一次高電平脈沖,三極管Q1連通,線圈1-16 接通5 V 電源,引起繼電器觸點4(供電)和觸點6(懸空)吸合,導致傳感器5 V 供電斷開;引起觸點13(供電)和觸點11(懸空)吸合,導致485 模塊3.3 V 供電斷開。 同理,MCU 的B13引腳接CTRL_ON,其高電平脈沖觸發(fā)Q2 導通,將引起觸點4 和觸點8、觸點13 和觸點9 吸合,傳感器和RS485 電路供電。
圖3 磁保持繼電器關閉傳感器電源電路
③供電方面,為延長終端的持續(xù)工作時間,在電源選擇上使用12 V 2 000 mAh 鋰電池降壓后為傳感器(降至5V)和XC30、485 模塊(降至3.3 V)供電。 DC-DC 降壓與LDO 均可實現(xiàn)直流降壓功能,根據(jù)兩者適合的場景,將鋰電池12 V 降壓到5 V,壓差大, 用轉換效率高的DC-DC 降壓模塊MP2315GJ,減少轉換損耗;5 V 降至3.3 V 使用LDO穩(wěn)壓器,壓差小,輸出電壓純凈噪聲干擾少,利于SX1268 穩(wěn)定工作。
一次典型的數(shù)據(jù)采集發(fā)送周期:MCU 從停止模式啟動,MCU 電平觸發(fā)繼電器線圈吸合為傳感器供電,終端按照傳感器RS485 查詢指令獲取到傳感器的采集數(shù)據(jù),傳感器返回485 響應后通過UART 接口發(fā)送給MCU,MCU 解析后成功后即可關閉繼電器線圈(傳感器斷電),然后將數(shù)據(jù)封包發(fā)送給LoRa射頻,數(shù)據(jù)包發(fā)送完畢后,LoRa 進入休眠模式,MCU進入停止模式,等待下一次采集周期的到來。 圖4是終端從上電階段開始的工作流程圖。
圖4 AG21 工作流程圖
低功耗農(nóng)業(yè)通用采集終端的通用性體現(xiàn)在:統(tǒng)一終端版本(程序一致),且不同終端可接入的485傳感器的種類和數(shù)量可各不相同。 由于不同485 傳感器的指令各不相同,而通用終端程序是無差別的,故將485 傳感器指令通過云端下發(fā),由此實現(xiàn)終端版本的統(tǒng)一。 RS485 主從通信方式(終端主,傳感器從),其“查詢—響應”問詢方式如表1、表2。
表1 485 查詢指令格式(終端->傳感器)
表2 485 響應指令格式(傳感器->終端)
終端消息時序圖5 所示,入網(wǎng)Join 成功后,發(fā)送注冊請求Register Request,云端根據(jù)終端串號DEVEUI 查找配置庫確定終端下接入傳感器的485 指令集,并將查詢指令(表1)的前六個字節(jié)(地址、操作碼、寄存器起始和長度) 作為注冊成功響應Register Response,返回給終端(后兩個字節(jié),CRC 校驗碼由終端生成),終端保存485 查詢指令到存儲器中,以便進行周期查詢。 周期查詢獲得485 成功響應后,截取響應指令中(表2)的地址、寄存器長度和對應的數(shù)值,按照圖6 中應用層的編碼格式通過Report Message 消息上報給云端。 上行消息發(fā)送完畢后,終端啟動兩個等待窗口RX1 和RX2 用來接收云端下行的配置信息,下行配置信息包括:應用層的數(shù)據(jù)上報周期配置,MAC 層的SF、TP 等無線參數(shù)配置及無線鏈路狀態(tài)測量等。
圖5 AG21 LoRa 消息時序圖
圖6 上報消息LoRa 幀格式含物理層、MAC 層、應用層
終端一次數(shù)據(jù)上報周期分為:休眠、傳感器預熱、數(shù)據(jù)發(fā)送和接收四個階段,其中傳感器預熱時間由電化學傳感器的特性決定,即通電工作至穩(wěn)定的等待時長。 四階段時間累加,即終端一次工作時長式(4);終端可持續(xù)工作時間按電池總電量與單次耗電量的比值計算[11],式(5)。
休眠和預熱時間根據(jù)實際情況進行設定,針對土壤墑情終端(土溫、含水量、電導率)來說,休眠時間Tsleep設定15 min,傳感器預熱時間Tpre取45 s;接收時長Trx是RX1 和RX2 兩個窗口的時間和,由[10]知兩個窗口時長分別是1 s、2 s。 計算數(shù)據(jù)發(fā)送Ttx時長,取LoRa 配置參數(shù)PL =14,CR =1,SF =7,BW=125K,IH =0,DE =0,CRC =1;按照式(1)~式(3)計算得:Tsym =1.024 ms,Npl =24 Symbol,Ttx=35.072ms,由式(4),Tcycle=900 +45 +0.035 +3 =948.035 s。
分別計算終端在上述四個階段的耗電量,根據(jù)電能電功公式(忽略電阻作用),E=UIT,電壓恒定,電流取平均值。 根據(jù)STM32 手冊[12],STM32 的停止和低功耗運行狀態(tài)的電流分別是1.0 μA 和6.72 mA;根據(jù)LoRa 射頻手冊[13],SX1268 休眠、發(fā)送(22 dBm)、接收等待狀態(tài)的電流分別1.2 μA、107 mA、5.3 mA;傳感器工作電流使用四位半萬用表測得30 mA,由此計算一個周期內各階段的耗電量,如表3,故終端一次數(shù)據(jù)上報的耗電量根據(jù)式(6),得7.8866 J。
由表3 單次工作耗電量,傳感器占85.6%,MCU主控13.5%,LoRa 射頻0.9%,根據(jù)公式4 計算AG21(由12 V,2 000 mAh 電池供電)的工作時長,考慮到降電源降壓模塊的微小耗電以及繼電器開關瞬間的功耗,總工作時長應略小于120 d。
表3 MCU、射頻、傳感器功耗計算
2021 年3 月中旬在南京江寧某藍莓種植果園部署土壤墑情終端AG21 計14 套,果園地勢起伏呈小丘陵狀,占地110 畝。 基站部署到果園中央位置,天線高度3 m,終端分布在距基站1 km 半徑內,基站和終端有遮擋非視距,圖7 為實施圖。 終端電量在6 月中下旬陸續(xù)耗盡,持續(xù)工作約100 d,圖8 顯示其中五個終端的電量(電壓)數(shù)據(jù)。 初始工作時各終端電池電壓有0.5 V 差異,電壓在10 V 左右急劇下降至不可用。 為了進一步驗證傳感器功耗對終端工作時長有重要影響,將2 號終端的預熱時長縮減為5 s,在整個實驗周期其電壓僅從12 V 降為11 V,說明提升傳感器的響應時間、降低其功耗,可顯著提升終端工作時長。
圖7 果園15 套AG21 部署圖
圖8 終端電壓隨時間變化圖
按照文獻[6,14-15]的結論,發(fā)送功率TP 的選擇較SF 對功耗的影響小,故選擇合適的SF,減少數(shù)據(jù)發(fā)送Ttx時間,在此基礎上增大TP,提高基站接收的RSSI 值。 由于果園基站和各終端的直線距離均在1 km 內,為滿足低功耗的要求,設置XC30 支持的最高數(shù)據(jù)速率(抗干擾能力最弱)SF =7,最大發(fā)送功率TP =19 dBm。 整個實驗周期內丟包率不超過5%,信號強度RSSI 大于-100 dBm(高于LoRa 的信號接收靈敏度),圖9 為基站側接收終端數(shù)據(jù)的信號強度(按天平均),其中2 號、4 號、B 終端距離基站由近及遠;4 號終端地處洼地,其信號質量逐漸下降。 圖10 是4 號終端的原始信號強度分布箱線圖,后期RSSI 信號強度有所下降并在較大范圍內波動,分析原因有兩方面:(1)藍莓植株長高后,枝葉覆蓋了終端,影響信號的收發(fā);(2)隨著電池電量減少,終端電壓降低于標準值(10 V 以下),導致射頻部分不穩(wěn)。
圖9 基站側接收信號強度趨勢圖
圖10 單個終端信號強度箱線圖
終端AG21 應用于丘陵果園的土壤墑情監(jiān)測,設置擴頻因子SF=7,減少數(shù)據(jù)傳輸時長,設置LoRa射頻發(fā)送功率TP =19 dBm,保證基站接收的信號強度;基站側信號強度RSSI>-100 dBm、信號接收成功率>95%,應用12 V 2 000 mAh 鋰電池可持續(xù)工作100 d。 由此,AG21 可滿足實際農(nóng)業(yè)的要求,實現(xiàn)數(shù)據(jù)穩(wěn)定采集。 為延長終端的持續(xù)工作時長可通過選擇預熱時間短、功耗更低的傳感器,可安裝太陽能光伏板適時為終端充電。
由于目前LoRa 服務器默認的速率自適應算法ADR 只能降低SF 和TP,無法在鏈路質量變差的情況下提高SF,計劃下一步根據(jù)前期試驗積累的數(shù)據(jù),提出基于信號感知的改進速率自適應算法,利用終端信號強度RSSI 和信噪比SNR,來優(yōu)化SF 和TP的分配策略,并在較大空間范圍、多種應用場景下進行驗證。