999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LoRa技術(shù)的通用型環(huán)境監(jiān)測節(jié)點低功耗設(shè)計

2022-08-02 11:00:20王書涵陳相全郭景富董永軍
計算機測量與控制 2022年7期

謝 暉,王書涵,陳相全,郭景富,董永軍

(1.東北師范大學(xué) 物理學(xué)院,長春 130024;2.吉林省先進能源開發(fā)與應(yīng)用創(chuàng)新重點實驗室,長春 130024)

0 引言

隨著物聯(lián)網(wǎng)行業(yè)的迅速發(fā)展,無線通信終端的需求量陡增,越來越多的無線通信技術(shù)被開發(fā)和應(yīng)用。無線網(wǎng)絡(luò)節(jié)點搭載所需傳感器并將采集的數(shù)據(jù)進行傳輸,構(gòu)成了無線傳感器監(jiān)測網(wǎng)絡(luò)。顯然,作為無線傳感器網(wǎng)絡(luò)的基本組成單元,監(jiān)測節(jié)點的功耗特性、通信距離、可擴展性等決定了傳感器網(wǎng)絡(luò)的運行壽命、覆蓋面積和成本。因此,開發(fā)一種可擴展性強、功耗低的節(jié)點尤為重要。

目前,國內(nèi)外針對傳感器網(wǎng)絡(luò)節(jié)點的軟硬件低功耗和可擴展性設(shè)計開展了相關(guān)的研究工作。鄧洲等通過預(yù)留多種傳感器接口,實現(xiàn)了節(jié)點與多種傳感器的硬件連接[1]。陳磊提出將傳感器統(tǒng)一采用USB總線連接至節(jié)點,再通過CH341轉(zhuǎn)換讀取,從硬件上擴展了節(jié)點的適配傳感器[2]。施成威等通過讀取JSON文件實對現(xiàn)傳感器操作的封裝,節(jié)點通過讀取JSON文件學(xué)習(xí)該傳感器的控制[3]。該方案解決了傳感器的軟件適配,但依賴于片上系統(tǒng),占用節(jié)點資源多,功耗大。王能輝等基于NB-IoT技術(shù)設(shè)計了農(nóng)田監(jiān)測系統(tǒng),將新興的通信手段與監(jiān)測節(jié)點相結(jié)合,有效降低了網(wǎng)絡(luò)的傳輸功耗[4]。王杰等提出一種動態(tài)休眠算法,合理調(diào)度,控制節(jié)點的平均功耗[5]。陳華強等設(shè)計了低功耗節(jié)點硬件,并提出了功率自適應(yīng)算法,軟硬件相結(jié)合,延長節(jié)點壽命[6]。上述研究工作在可擴展性或低功耗設(shè)計方面取得了一定的研究成果,但很少同時兼顧這兩個方面。

針對上述問題,本文綜合考慮監(jiān)測節(jié)點的功耗與可擴展性,開發(fā)一種基于LoRa技術(shù)的低功耗通用型監(jiān)測節(jié)點,通過硬件低功耗選型、軟件低功耗管理、多傳感器適配接口設(shè)計、合理封裝傳感器、優(yōu)化配置休眠狀態(tài)以及功率自適應(yīng)調(diào)節(jié)等方法實現(xiàn)監(jiān)測節(jié)點的低功耗、通用性設(shè)計,與現(xiàn)有環(huán)境監(jiān)測節(jié)點相比,該節(jié)點具有功耗低、覆蓋廣、適用場景多等優(yōu)點[7-11]。

1 系統(tǒng)結(jié)構(gòu)及原理

本文綜合考慮監(jiān)測節(jié)點的功耗與可擴展性,開發(fā)了一種基于LoRa技術(shù)的低功耗通用型監(jiān)測節(jié)點。該節(jié)點主要包括電源管理單元、處理器單元、LoRa通訊單元以及傳感器控制接口單元四部分,如圖1所示。其中,節(jié)點采用STM32L系列低功耗芯片作為系統(tǒng)的主控制器,預(yù)留接口外接傳感器,通過讀取傳感器采集環(huán)境數(shù)據(jù)進行分析、處理,最終經(jīng)LoRa無線通信模塊將數(shù)據(jù)上傳。

圖1 監(jiān)測節(jié)點硬件框圖

2 系統(tǒng)硬件設(shè)計

無線傳感器節(jié)點通常采用電池供電,由于電池容量有限,節(jié)點的功耗是影響整個網(wǎng)絡(luò)壽命長短的關(guān)鍵因素, 因此,對節(jié)點進行低功耗設(shè)計尤為重要[12-14]。構(gòu)建低功耗硬件平臺是實現(xiàn)節(jié)點低功耗的重要環(huán)節(jié),本文通過對MCU、無線模塊進行對比分析,篩選出具備多種運行模式、功耗低的器件;采用電源管理芯片和負(fù)載開關(guān),為電源動態(tài)管理提供了硬件基礎(chǔ);通過預(yù)留豐富的傳感器接口以提高節(jié)點的可擴展性。

2.1 微處理器

目前多家芯片廠商推出了應(yīng)用于低功耗場景的主控芯片,其中,Atemel公司的ATmega系列微處理器、TI公司的MSP430系列超低功耗微處理器以及ST公司的STM32L系列微處理器應(yīng)用較為廣泛,其性能參數(shù)如表1所示。

表1 常見微處理器低功耗主控性能對比

相較于另外兩種微處理器,STM32L031C6T6的工作電流較低,待機電流最小,片上資源豐富,能夠滿足節(jié)點的功能需求,適合作為該節(jié)點的主控制器。

2.2 無線通訊模塊

圖2所示為幾種典型LPWAN技術(shù)的性能比較[15-16]。其中,NB-lot技術(shù)雖然在傳輸數(shù)據(jù)長度、傳輸速度方面有一定優(yōu)勢,但在效率和覆蓋場景方面相對較差,難以實現(xiàn)環(huán)境監(jiān)測節(jié)點要求的通信網(wǎng)絡(luò)覆蓋大多數(shù)場景的實際需求;而Sigfox通信距離最遠,網(wǎng)絡(luò)可以覆蓋大多數(shù)檢測環(huán)境,但傳輸速度和傳輸數(shù)據(jù)長度方面的限制使其不具備實現(xiàn)環(huán)境監(jiān)測網(wǎng)絡(luò)的能力。綜合分析各通信技術(shù)的性能差異,本文設(shè)計的節(jié)點采用LoRa擴頻通信技術(shù)。表2為LoRa模塊E22-400T30S的部分參數(shù),表3所示為不同傳輸速率下的實測功耗。

圖2 LoRa、NB-IoT、Sigfox性能比較

表2 E22-400T30S性能參數(shù)

表3 LoRa傳輸功耗實際測量

實驗驗證了該模塊具有多種空傳速度,調(diào)節(jié)范圍大、收發(fā)功耗低,且操作簡便易于二次開發(fā)。此外,在空曠環(huán)境下采用4.0 dBi增益天線,還通過實驗得出該模塊最遠通信距離為1.6 km,因此,使用該模塊組網(wǎng)覆蓋范圍大,功耗低,通信服務(wù)質(zhì)量高,滿足戶外環(huán)境監(jiān)測的需求。

2.3 電源電路設(shè)計

電源單元主要由電源轉(zhuǎn)換芯片以及各路電源控制開關(guān)構(gòu)成,核心器件是開關(guān)電源芯片,節(jié)點整個生命周期內(nèi),電源芯片均處于工作狀態(tài),其靜態(tài)功耗參數(shù)是評價電源電路的重要指標(biāo)。另一方面,為適應(yīng)不同環(huán)境,節(jié)點往往需要適配不同電壓的電源,具有較寬輸入范圍的電源芯片可以拓寬節(jié)點的適用場景。通過實際調(diào)研,最終采用TI公司的TPS62110芯片,其具體參數(shù)如表4所示[17]。

表4 低靜態(tài)功耗電源管理芯片對比

電源管理電路基于電源轉(zhuǎn)換芯片,通過控制電源通斷管理各模塊的工作狀態(tài),調(diào)度節(jié)點資源配置,使電能效益最大化,因此,合理設(shè)計電源電路可以有效減少不必要的能量開銷。

電源電路使用負(fù)載開關(guān)配合實現(xiàn)節(jié)點的動態(tài)電源管理功能。根據(jù)芯片工作電壓和功耗的不同采用TPS22993和TPS22810兩種負(fù)載開關(guān),分別實現(xiàn)模塊的電源管理以及傳感器的電源控制。TPS22993為四通道負(fù)載開關(guān),具有通用輸入輸出(GPIO)和I2C控制功能,1.0~3.6 V輸入電壓,最大17 μA靜態(tài)電流,用以控制E22-400T30S、SP3485等芯片占用資源少、功耗低[18]。TPS22810為單通道負(fù)載開關(guān),輸入電壓最大18 V,持續(xù)工作電流最大2 A,靜態(tài)電流12 μA,可以用于控制傳感器電源通斷[19]。節(jié)點的電源電路如圖3所示。

圖3 電源系統(tǒng)框圖

節(jié)點一路電源受負(fù)載開關(guān)TPS22810的控制為傳感器提供能量,另一路通過TPS62110輸出3.3 V為MCU供電,同時作為TPS22993的輸入為其余各模塊供電。通過I2C總線對TPS22993芯片進行控制,設(shè)置SP3232、SP3485的電源通斷,實現(xiàn)對接口電路的能耗控制。

2.4 接口電路設(shè)計

監(jiān)測節(jié)點的通用性在于能夠兼容多種傳感器。由于傳感器種類繁多、接口各異,常用監(jiān)測節(jié)點為擴展新的功能往往需要重新開發(fā)或定制傳感器。本文通過預(yù)留豐富的接口使得節(jié)點能夠適配大多數(shù)傳感器,從而提高了節(jié)點的可擴展性,降低了環(huán)境監(jiān)測系統(tǒng)的開發(fā)成本。

針對現(xiàn)有傳感器接口類型,節(jié)點設(shè)計引出了RS232、RS485、I2C、SPI四種接口。其中,I2C、SPI通信模塊集成在主控芯片內(nèi)部;RS232模塊核心器件為SP3232芯片,該芯片支持兩路RS232通信;選用SP3485作為RS485電路的轉(zhuǎn)換芯片,采用自動收發(fā)電路完成對該芯片的收發(fā)控制,降低了操作難度且節(jié)省了主控芯片的IO口資源。通過與電源電路配合可以實現(xiàn)對每一個接口電路及對應(yīng)的傳感器進行供電控制,保障了節(jié)點低功耗運行的同時可以實現(xiàn)對多種接口傳感器的連接,便于使用者針對各種待測參數(shù)構(gòu)建監(jiān)測系統(tǒng)。

綜合上述設(shè)計方法,繪制得到節(jié)點的硬件結(jié)構(gòu)原理圖如圖4所示,經(jīng)實驗測得節(jié)點采用12 V電池供電時運行功耗僅1.22 mW,休眠功耗僅0.3 mW。

圖4 節(jié)點原理圖

3 系統(tǒng)軟件設(shè)計

節(jié)點查詢運行過程中,需要完成工作模式的自動切換、模塊電源通斷的管理、傳感器的讀取以及與LoRa模塊的發(fā)送及接收。此外,考慮到節(jié)點的設(shè)計需求,程序還需要以硬件平臺為基礎(chǔ),通過自適應(yīng)功耗調(diào)節(jié)、在線配置傳感器等功能對程序進行設(shè)計與優(yōu)化,實現(xiàn)節(jié)點低功耗、高可擴展性的設(shè)計目標(biāo)。

3.1 功能分析

環(huán)境監(jiān)測節(jié)點需要周期性獲取環(huán)境參數(shù)并在規(guī)定的時間上傳采集到的數(shù)據(jù),其軟件設(shè)計流程如圖5所示。節(jié)點上電初始化后,配置數(shù)據(jù)上傳周期,收到休眠指令后節(jié)點休眠等待傳感器監(jiān)測倒計時結(jié)束,執(zhí)行采集功能。采集過程節(jié)點需要訪問傳感器寄存器,因此節(jié)點需要先使能接口模塊和傳感器,建立與傳感器的連接,再發(fā)送查詢指令獲取數(shù)據(jù),對數(shù)據(jù)進行處理、存儲后,節(jié)點進入休眠狀態(tài)。當(dāng)上傳計時結(jié)束,節(jié)點執(zhí)行數(shù)據(jù)上傳功能。上傳過程,節(jié)點需要配置LoRa模塊周期喚醒等待連接請求,完成握手后與匯聚節(jié)點建立連接并上傳數(shù)據(jù),隨后斷開連接重新進入休眠,完成一個監(jiān)測周期的任務(wù)。

圖5 監(jiān)測節(jié)點軟件框圖

3.2 低功耗管理

低功耗節(jié)點不僅需要一個節(jié)能的硬件平臺,還需要一個能夠合理調(diào)度資源、充分發(fā)揮硬件低功耗特性的軟件系統(tǒng)。本文在實現(xiàn)節(jié)點的基本功能的基礎(chǔ)上,對軟件進行了低功耗優(yōu)化設(shè)計。一方面,節(jié)點始終處于相同配置容易造成資源浪費,本文基于有限狀態(tài)機將節(jié)點的監(jiān)測周期劃分為不同工作狀態(tài),再根據(jù)各個工作狀態(tài)的特點、需求,有針對性地對節(jié)點資源進行合理分配;另一方面,節(jié)點監(jiān)測過程中無線傳輸功耗最高,本文提出了一種基于LoRa通信技術(shù)的自適應(yīng)功耗調(diào)節(jié)算法,通過削減傳輸時間、控制傳輸功率,實現(xiàn)了通信質(zhì)量與節(jié)點能耗的平衡,減少了節(jié)點的能量浪費。

1) 狀態(tài)與配置:

根據(jù)節(jié)點任務(wù)的不同,可以將節(jié)點的工作狀態(tài)劃分為:空閑、休眠、查詢、等待和無線通信,各狀態(tài)的特點如表5所示。

表5 節(jié)點的狀態(tài)劃分及其特點

在各工作模式下節(jié)點有不同的性能要求,針對不同需求對節(jié)點各狀態(tài)進行合理配置可以有效延長節(jié)點壽命。這里以休眠狀態(tài)為例,首先確定主控芯片的配置。就主控而言改變工作模式、時鐘源、系統(tǒng)時鐘或IO口配置均會影響功耗,其中工作模式對主控的功耗影響最大。STM32L031C6T6擁有5種低功耗模式,表6給出了各模式實際功耗的測量結(jié)果。

主控處于休眠狀態(tài)的時間占比最多對功耗影響最大,由表6可知,Standby模式功耗最低,然而此模式下,SRAM關(guān)閉,喚醒后程序重頭執(zhí)行,耗時久、功耗大。stop模式功耗次之,喚醒后程序繼續(xù)運行,重要數(shù)據(jù)如傳感器結(jié)構(gòu)體、傳感器鏈表等可存放在Flash中以防丟失。且此模式可以使用RTC喚醒,喚醒時間最長達到36 h,滿足大多數(shù)環(huán)境監(jiān)測的需要。因此,節(jié)點休眠時MCU配置為開啟RTC的stop模式,時鐘源為MSI,頻率65 kHz,未使用IO口關(guān)閉時鐘,未使用引腳配置為模擬量輸入模式。考慮到休眠狀態(tài)節(jié)點不需要使用接口模塊和LoRa模塊,節(jié)點將關(guān)閉這些模塊的電源。至此,休眠狀態(tài)的配置方案設(shè)計完畢,再以相同方法對節(jié)點其他狀態(tài)進行配置,并對各個模塊的電源進行管理,具體配置如表7所示。

表6 工作模式對功耗的影響

表7 節(jié)點各工作模式配置情況

上電初始化后,節(jié)點默認(rèn)處于空閑狀態(tài),啟動定時器設(shè)置最大等待時間,觸發(fā)等待超時事件則節(jié)點進入休眠狀態(tài)。休眠狀態(tài)下節(jié)點關(guān)閉大多數(shù)功能,各模塊的能量開銷均維持在最低水平,從而降低平均功耗。節(jié)點進入休眠狀態(tài)前,根據(jù)程序構(gòu)建的傳感器鏈表獲取各傳感器查詢倒計時,對倒計時排序找出最近一次查詢的傳感器,設(shè)置為喚醒時間,隨后主控進入低功耗模式運行模式。喚醒后節(jié)點返回空閑狀態(tài),并根據(jù)喚醒事件的不同進入相應(yīng)的狀態(tài),如果節(jié)點被周期性查詢時間喚醒,則進入查詢狀態(tài),打開部分接口電路電源,通過訪問傳感器獲取環(huán)境參數(shù);如果觸發(fā)事件為上傳數(shù)據(jù)事件,則進入等待狀態(tài),配置LoRa模塊為休眠狀態(tài),定期監(jiān)聽信道,等待實現(xiàn)網(wǎng)絡(luò)連接。觸發(fā)連接完成事件時,節(jié)點進入通信狀態(tài),通過LoRa模塊完成與匯聚節(jié)點的信息交互,上傳采集、處理的環(huán)境信息并返回空閑狀態(tài),完成一個工作周期。具體的狀態(tài)遷移過程如圖6所示。

圖6 節(jié)點狀態(tài)遷移圖

2)自適應(yīng)發(fā)送調(diào)節(jié):

LoRa無線通信的鏈路裕度可以很好地反映鏈路通信狀況,鏈路裕度可表示為:

SFM=RSSI-SR

(1)

式中,SFM為鏈路裕度,RSSI為接收信號強度,SR為接收靈敏度。當(dāng)鏈路裕度大于0時,可以認(rèn)為通信成功[20]。其中,接收信號強度可表示為:

RSSI=Pt+Gr+Gt-Lc-Lbf

(2)

式中,Pt為發(fā)射功率,Gt為發(fā)射天線增益,Gr為接收天線增益,Lc為接口衰耗,Lbf為空間損耗。可以看出在環(huán)境相同、距離一致的情況下,RSSI與Pt呈正比。

表8所示為通信模塊接收靈敏度與空傳速度之間的對應(yīng)關(guān)系。

表8 空傳速度與接收靈敏度

通過擬合可得SR與V的關(guān)系:

SR=-21.84×e(-V/7.70)-110.99

(3)

因此,空傳速度越大,接收信號靈敏度越低。實際測量發(fā)現(xiàn)空傳速度與接收信號強度無關(guān)且發(fā)射功率與接收靈敏度無關(guān),結(jié)合公式(1)~(3)可知,鏈路裕度與發(fā)射功率Pt正相關(guān),與空傳速度V負(fù)相關(guān)。

傳輸功耗可以分為發(fā)射功耗和接收功耗,其中每Bit數(shù)據(jù)發(fā)射功耗為:

(4)

式中,BW表示帶寬,SF表示擴頻因子。可以看出ETbit與Pt正相關(guān)。

每Bit數(shù)據(jù)接收功耗計算公式為:

ERbit=PR×Tbit

(5)

式中,PR為接收功率,實際測量不同空速、發(fā)射功率下不變。顯然,發(fā)射功率一定時,每bit數(shù)據(jù)收發(fā)功耗與Tbit成正比。

而空傳速度為:

(6)

式中,CR為編碼率,由公式(4)(6)可知每bit數(shù)據(jù)傳輸時間:

(7)

根據(jù)官方數(shù)據(jù)空傳速度V與擴頻因子SF、編碼率CR的關(guān)系如表9所示。

表9 空傳速度與單位數(shù)據(jù)傳輸時間Tbit的關(guān)系

將表9數(shù)據(jù)帶入公式(4),擬合得到V與Tbit的曲線,如圖7所示。因此,Pt一定時,ETbit、ERbit均與V負(fù)相關(guān)。

圖7 Pt為1時,V與Tbit的擬合曲線

因此,在相同環(huán)境以及SF、CR、BW正確時,傳輸功耗、SFM均與Pt正相關(guān),與V負(fù)相關(guān)。顯然,鏈路裕度既可以反映LoRa模塊的通信功耗又可以用來評估網(wǎng)絡(luò)的傳輸質(zhì)量,通過改變LoRa模塊的發(fā)射功率、空傳速度調(diào)節(jié)通信的鏈路裕度,從而控制節(jié)點通信功耗。因此,本文提出了一種基于鏈路裕度的自適應(yīng)調(diào)節(jié)控制算法,動態(tài)調(diào)節(jié)無線網(wǎng)絡(luò)的鏈路裕度,使鏈路裕度逐步逼近能夠正常通信的最低鏈路裕度值,以最低的能量開銷進行穩(wěn)定通信。自適應(yīng)調(diào)節(jié)算法工作流程如圖8所示。

圖8 自適應(yīng)調(diào)節(jié)算法流程圖

4 可擴展性設(shè)計

節(jié)點通過預(yù)留多種傳感器接口實現(xiàn)與傳感器的硬件連接,但目前市場上的傳感器通信協(xié)議互不兼容,要真正實現(xiàn)多傳感器的適配,還需要在軟件上實現(xiàn)對新增傳感器的識別、通信,從而使節(jié)點能夠擴展不同的傳感器,監(jiān)測各類環(huán)境數(shù)據(jù)。

4.1 基本功能實現(xiàn)

考慮到接口模塊、電源模塊等底層程序需要被反復(fù)調(diào)用,為優(yōu)化程序結(jié)構(gòu),設(shè)計采用了模塊化的編程思想。根據(jù)硬件模塊劃分,將底層驅(qū)動分為負(fù)載開關(guān)、232模塊、485模塊、I2C模塊、SPI模塊、LoRa模塊,各模塊程序盡可能獨立封裝,僅提供調(diào)用接口。以RS485模塊為例,程序提供了以下功能函數(shù):RS485初始化函數(shù)、RS485發(fā)送函數(shù)、RS485接收函數(shù)、RS485失能函數(shù),將該模塊所有操作封裝為函數(shù),無需重復(fù)繁瑣的資源配置等操作,降低了錯誤概率。完整的模塊功能封裝有利于優(yōu)化程序結(jié)構(gòu),實現(xiàn)程序的高內(nèi)聚、低耦合,有利于降低節(jié)點與傳感器通信的開發(fā)難度。

程序在識別新增傳感器之前先要實現(xiàn)對已掛載傳感器的管理。針對已掛載傳感器的記錄、管理問題,程序構(gòu)建了傳感器指針和傳感器鏈表用以記錄和管理傳感器相關(guān)信息,鏈表的每一個節(jié)點存儲一個傳感器指針,每一個傳感器指針指向?qū)?yīng)的一個傳感器配置文件,需要操作某一個傳感器時,只需遍歷傳感器鏈表找到對應(yīng)的指針,根據(jù)指針得到該傳感器的配置文件,從而獲取傳感器的操作信息。

傳感器喚醒周期、接入時間各不相同,為每個傳感器單獨配備定時器會造成片上資源浪費。本文在傳感器鏈表的基礎(chǔ)上,為每一個傳感器添加了倒計時屬性,記錄該傳感器下一次喚醒的時間,節(jié)點每次查詢傳感器后,根據(jù)該傳感器的查詢周期在傳感器鏈表中重新寫入倒計時,隨后遍歷鏈表,找出倒計時最小值即為喚醒的時間,倒計時與該值的差值為新的倒計時,跟新倒計時后進入休眠狀態(tài)。該方法使用一個定時器完成所有傳感器計時,有效節(jié)省了片上資源。

4.2 傳感器接入

傳感器接入節(jié)點后,節(jié)點首先需要等待接收配置文件,解析配置文件后對需要的接口進行配置并發(fā)送讀取指令。若傳感器正常反饋數(shù)據(jù)且解析后數(shù)據(jù)正確,則認(rèn)為傳感器接入正常,系統(tǒng)會為該新增傳感器構(gòu)建指針,將其加入任務(wù)列表,進行周期性查詢。若傳感器沒有反饋數(shù)據(jù)或數(shù)據(jù)解析不在有效值范圍內(nèi),重復(fù)讀取,讀取三次依然失敗,則上報接入異常請求核驗操作指令。圖9為傳感器接入流程。

圖9 接入傳感器流程

由圖9可知,節(jié)點識別傳感器分為3個環(huán)節(jié):傳感器接入節(jié)點,實現(xiàn)硬件連接;根據(jù)傳感器操作參數(shù),打包配置文件;節(jié)點解析配置文件構(gòu)建結(jié)構(gòu)體、讀取傳感器,實現(xiàn)軟件通信。傳感器硬件連接問題已經(jīng)通過接口設(shè)計解決,配置文件的設(shè)計和解析功能尚未實現(xiàn)。

為方便節(jié)點記錄和使用傳感器配置文件,這里以結(jié)構(gòu)體的形式表示該配置文件,且在節(jié)點程序中同樣以結(jié)構(gòu)體的形式存儲、解析。本文設(shè)計的配置文件結(jié)構(gòu)如下:

struct sensor

{

uint8_t name ; //傳感器類型

uint8_t mode ; //接口類型

uint8_t baud ; //波特率

uint8_t delay ; //傳感器預(yù)熱時間

uint8_t cycle ; //監(jiān)測周期

uint8_t ID ; //傳感器地址

uint8_t CRC_mod ; //校驗類型

uint8_t command_long; //讀取指令長度

uint8_t* command; //讀取指令

uint8_t frame_long; //反饋幀長度

uint8_t data_long; //數(shù)據(jù)長度

uint8_t data_location; //數(shù)據(jù)地址

uint8_t flaf ; //是否是實際值

uint8_t data_max; //數(shù)據(jù)最大值

uint8_t data_min; //數(shù)據(jù)最小值

};

5 實驗結(jié)果與分析

5.1 傳感器識別

為了檢驗傳感器是否可以被識別,本文采用Labview設(shè)計了上位機,圖形化顯示采集到的數(shù)據(jù),通過檢驗該數(shù)據(jù),判斷傳感器是否接入正常。這里以土壤溫濕度傳感器為例,測試系統(tǒng)如圖10所示。

圖10 系統(tǒng)連接示意圖

監(jiān)測節(jié)點接入傳感器后,首先需要上位機通過匯聚節(jié)點下發(fā)傳感器操作參數(shù)。參數(shù)輸入界面如圖11所示。

圖11 上位機配置界面

通過上位機手動輸入傳感器參數(shù)后,上位機對數(shù)據(jù)打包并采用RS232通信方式上傳至匯聚節(jié)點,再由匯聚節(jié)點通過LoRa無線通信的方式告知監(jiān)測節(jié)點,完成傳感器的配置。監(jiān)測節(jié)點收到采集數(shù)據(jù)后,發(fā)送回匯聚節(jié)點,通過上位機完成人工確認(rèn),核驗正確后反饋監(jiān)測節(jié)點,節(jié)點將傳感器添加至傳感器鏈表,完成傳感器的識別過程。當(dāng)傳感器被喚醒時,由監(jiān)測節(jié)點查詢傳感器鏈表,MCU依次讀取每一個傳感器操作信息,并將讀取到數(shù)據(jù)上傳上位機顯示。

圖12所示為節(jié)點采集的土壤溫濕度數(shù)據(jù),通過上位機界面顯示當(dāng)前溫、濕度數(shù)據(jù),并在界面的左下側(cè),以折線圖的形式顯示歷史采集數(shù)據(jù)的變化曲線。通過數(shù)據(jù)的成功采集可以直觀看出,節(jié)點正確識別并讀取了傳感器數(shù)據(jù)。

圖12 溫度傳感器采集測試

該實驗以土壤溫濕度傳感器為例,測試了本文設(shè)計的配置文件和以此為基礎(chǔ)的傳感器識別程序,結(jié)果表明該配置文件可以記錄傳感器接口信息。因此,節(jié)點可以實現(xiàn)對未知傳感器的軟硬件連接,具有較強的可擴展性。

5.2 功率測試實驗

針對本文提出的LoRa傳輸功耗自適應(yīng)調(diào)節(jié)算法,利用控制變量的思想設(shè)計了功耗對比實驗,實驗測試點選取示意圖如圖13所示。

圖13 測試點選取示意圖

保持空傳速度為2.4 kbps恒定不變,分別以30 dBm、27 dBm、24 dBm、21 dBm作為發(fā)射功率,測出最遠通信點A、B、C、D,CD間任意選取m點,BC間任意選取n點,AB間任意選取p點,m、n、p為測試點,實驗數(shù)據(jù)如表10所示。

表10 自適應(yīng)算法傳輸功耗

實驗在m、n、p三點進行,每點采集3種狀態(tài)數(shù)據(jù)。狀態(tài)一是節(jié)點以30 dB為發(fā)射功率、2.4 kbps為空傳速度的情況下進行收發(fā)功耗測量;狀態(tài)二為空傳速度保持2.4 kbps,僅調(diào)節(jié)發(fā)射功率時的功耗;狀態(tài)三為既修改發(fā)射功率又修改空傳速度時的功耗。實驗結(jié)果如表10所示,通過計算可知:m點狀態(tài)三較狀態(tài)一的功耗下降了89.5%、較狀態(tài)二下降了81.8%。n點狀態(tài)三較狀態(tài)一功耗下降69.9%、較較狀態(tài)二下降65.6%。p點狀態(tài)三下降了65.6%。

顯然,本文設(shè)計的自適應(yīng)算法相比單獨調(diào)節(jié)發(fā)射功率,可以更加有效地控制節(jié)點在通信過程中的能量損耗,延長節(jié)點的壽命。

6 結(jié)束語

本文針對現(xiàn)有環(huán)境監(jiān)測節(jié)點存在的可擴展性不足以及低功耗設(shè)計需求等問題,設(shè)計了一種兼容多傳感器的低功耗環(huán)境監(jiān)測節(jié)點。為進一步提高節(jié)點可擴展性,程序提供了傳感器結(jié)構(gòu)體以及傳感器鏈表,無線接收傳感器信息后,可以識別、存儲并讀取傳感器。測試結(jié)果表明,該方案可以實現(xiàn)節(jié)點與新增傳感器的軟硬件連接,且無需重新燒錄程序,提高了節(jié)點的可擴展性、靈活性。另一方面,基于STM32L031和LoRa模塊構(gòu)建了硬件平臺,基于有限狀態(tài)機對節(jié)點的工作狀態(tài)進行了劃分,優(yōu)化了各狀態(tài)的配置方案,并提出了自適應(yīng)功耗算法,通過實驗證明了,該自適應(yīng)算法相較于正常收發(fā)方式最高節(jié)約了89.5%的發(fā)射功耗,有效降低了節(jié)點在無線通信時的功耗。因此,本研究有效提高了節(jié)點的適用場景與壽命,對于無線傳感器網(wǎng)絡(luò)節(jié)點在環(huán)境監(jiān)測領(lǐng)域的推廣應(yīng)用提供了一定的理論方法和技術(shù)支撐。

主站蜘蛛池模板: 国产成人永久免费视频| 又粗又大又爽又紧免费视频| 亚洲无码视频喷水| 亚洲天堂久久新| 九一九色国产| 欧美国产综合视频| 高清无码不卡视频| 国产精品尤物铁牛tv| 亚洲天天更新| 成人永久免费A∨一级在线播放| 欧美三级不卡在线观看视频| 91蝌蚪视频在线观看| 伊人久久久久久久久久| 狠狠色成人综合首页| 自拍欧美亚洲| 国内黄色精品| 国产美女自慰在线观看| 国产一区二区三区视频| 999国产精品永久免费视频精品久久 | 囯产av无码片毛片一级| 视频国产精品丝袜第一页| 国产门事件在线| 国产精品无码一二三视频| 亚洲欧美另类日本| 99国产精品国产高清一区二区| 亚洲不卡无码av中文字幕| 中文字幕无线码一区| 天天摸天天操免费播放小视频| 亚洲成人免费看| 一本久道久综合久久鬼色| 国产精品视频999| 日韩美女福利视频| 国产美女精品人人做人人爽| 欧美精品v欧洲精品| 99久视频| 成人一区在线| 亚洲日韩Av中文字幕无码| 九九热免费在线视频| 精品無碼一區在線觀看 | 制服丝袜无码每日更新| 国产精品女主播| 亚洲无码视频图片| 国产一二视频| 中文天堂在线视频| 又粗又硬又大又爽免费视频播放| 亚洲毛片网站| 老司机午夜精品网站在线观看| 午夜福利亚洲精品| 99re这里只有国产中文精品国产精品| 欧美日韩va| av一区二区人妻无码| 免费在线不卡视频| 色窝窝免费一区二区三区| 综合亚洲色图| 2020国产精品视频| 日本免费福利视频| 精品剧情v国产在线观看| 一本综合久久| www亚洲精品| 91亚洲影院| 人妻丰满熟妇αv无码| 亚洲欧美日韩视频一区| 青青操国产视频| www.亚洲一区| 天堂网亚洲系列亚洲系列| 国产99视频精品免费视频7 | 一区二区三区国产| 色综合网址| 白丝美女办公室高潮喷水视频| 伊人色综合久久天天| 无遮挡一级毛片呦女视频| 国产精品香蕉| 日韩无码视频播放| 激情综合激情| 成人无码区免费视频网站蜜臀| 欧美日韩导航| 成年看免费观看视频拍拍| 国产美女在线观看| 99热这里只有精品免费| 97久久精品人人| 日韩欧美一区在线观看| 精品无码国产自产野外拍在线|