










摘" 要: 針對LoRa多傳感器低功耗采集中同信道傳感節點無效喚醒的問題,提出一種基于空中喚醒策略與信道切換機制相結合的低功耗采集方法。通過將LoRa通信鏈路劃分為多個通信信道,不同信道分時切換復用,實現多傳感節點的分組通信,避免從傳感節點的無效喚醒,在有限信道容量下最大限度地降低從節點的通信功耗;并制定了LoRa局域網傳感器通信指令協議,實現了多傳感器的低功耗主動輪詢采集、定點調試與預警上報。實驗結果證明了所提方法的有效性。
關鍵詞: LoRa; 多傳感器; 低功耗; 數據采集; 信道切換; 分時復用; 輪詢
中圖分類號: TN919?34; TN98?34" " " " " " " " " "文獻標識碼: A" " " " " " " " " "文章編號: 1004?373X(2024)10?0023?05
Method of multi?sensor low?power data acquisition based on LoRa
Abstract: In allusion to the problem of invalid wake?up of sensor nodes in a multi?sensor acquisition system, which based on the same LoRa communication channel, a low?power working method based on wake on radio strategy and channel switching mechanism is proposed. In this method, the LoRa communication link is divided into multiple communication channels, the switching and time division multiplexing of different channels are conducted, and group communication of multiple sensor nodes is realized, avoiding ineffective wake?up from sensor nodes and minimizing communication power consumption of slave nodes under limited channel capacity. A LoRa local area network sensor communication instruction protocol is developed, which can realize the low?power active polling collection, fixed?point debugging, and early warning reporting of multiple sensors. The experimental results demonstrate the effectiveness of the proposed method.
Keywords: LoRa; multiple sensors; low power consumption; data collection; channel switching; time division multiplexing; polling
0" 引" 言
LoRa因其抗干擾性強、通信距離遠的優點,更適用于空間障礙物多、節點通信距離遠、無運營商廣域網信號覆蓋的多傳感器數據采集的應用場景[1?3]。工程中,將LoRa與低功耗供電技術相結合,實現傳感器的無線通信與電池供電,可大幅減少局域范圍內多傳感器組網布線的工作量,在線纜布設復雜工程中有較好的應用前景[4?5]。
現有傳感節點通常采用定時或觸發喚醒的工作方式完成數據的采集與上報,在非工作時段進入待機休眠狀態以降低功耗。黃躍文等通過周期喚醒進行建筑結構安全監測傳感器的數據采集,實現無線低功耗數據采集[6]。林碩等通過觸發喚醒方式實現稱重傳感器低功耗數據的采集[7]。邱崠等基于LoRaWAN協議實現農田環境監測傳感器數據的采集,終端節點工作于ClassA模式,建立與LoRa網關的低功耗通信連接[8]。
但是,定時或觸發喚醒的工作方式由于從節點大部分時間處于待機休眠狀態,需要等待至下一喚醒時間窗口完成主控節點控制指令的響應,因而存在主控節點指令響應實時性差的問題,導致在多傳感器遠程召測、定點調試等場景下應用受限。另外,采用LoRaWAN協議模式組網的工作方式,對于終端節點接入量少、小規模的傳感網絡來說,系統較為復雜,成本較高[9]。
本文針對小范圍(1 km)內多傳感器低功耗輪詢采集中同信道從節點無效喚醒的問題,提出了一種基于空中喚醒策略與信道切換機制的低功耗采集方法。將無線通信局域網進行信道劃分,不同信道劃分時切換復用,以實現多傳感節點的分組喚醒與通信;并制定了多傳感器局域網通信協議,開發了低成本從傳感器節點與主控節點,通過測試驗證了所提方法的有效性。
1" 關鍵問題
局域網多傳感器數據采集方式按數據傳輸的源節點是主控節點還是從節點,可分為兩類。
1) 主動輪詢采集方式:由主控節點向從節點發送采集命令,從節點響應命令并返回采集數據;
2) 自動上報采集方式:由從節點自動上報采集數據,主控節點收到數據并存儲。
兩種采集方式都通過定時喚醒切換至工作狀態,在非喚醒時間段切換至待機狀態,并關閉無線射頻模塊電源以降低功耗,實現低功耗采集。
其中,自動上報采集方式喚醒后無需判斷是否有主控節點命令數據,直接完成采集并上報,但只能在喚醒后指定時隙內建立主從節點之間的通信連接,導致從節點響應控制指令的實時性降低;主動輪詢采集方式通過提高從節點喚醒頻次,且在喚醒后判斷主控節點是否發送通信指令,并及時響應指令,以提高指令響應的實時性[10]。因此,在指令響應實時性要求高的應用場景中,需采用主動輪詢的方式完成低功耗數據采集。
但是,在多個從傳感器低功耗數據采集的應用場景中,由于主控節點發送通信指令會喚醒局域網內同信道的所有從節點設備,無效喚醒將導致從節點功耗的增加。比如:當無線局域網中存在M個從節點時,主控節點完成一次指令下發會同時喚醒M個從節點,即完成一次局域網傳感器節點數據輪詢采集,從節點被無效喚醒M-1次,增加局域網整體功耗。
為避免同一信道下多傳感器節點的無效喚醒,可為每個從節點劃分獨立的通信信道。但由于LoRa采用擴頻技術,單信道占用帶寬大,當局域網內從節點較多時,無法實現每個從節點擁有獨立的通信信道。此外,若局域網從節點工作信道完全占用LoRa通信頻段,不僅會干擾工程現場的其他設備,還會受到其他無線通信設備的干擾。
2" 低功耗采集方法
本文針對上述多傳感器低功耗輪詢數據采集中的問題,基于無線空中喚醒策略,按功能將LoRa通信鏈路進行信道劃分,通過不同信道之間的切換,實現主控節點對從節點的分組喚醒通信,在有限通信信道數量下,最大限度地降低從節點的通信功耗。此外,還制定了多傳感器局域網通信協議,協同信道切換機制完成低功耗采集。
2.1" LoRa無線空中喚醒
LoRa無線空中喚醒策略工作示意圖如圖1所示。
從節點每隔T s自動喚醒一次,喚醒時長為τ,檢測空中是否有主控節點的廣播前導碼。當空中存在該信道前導碼時,從節點喚醒進入接收模式,完成主控節點下發數據的接收;當空中不存在該信道前導碼時,從節點再次進入休眠狀態。由于前導碼檢測時長τ遠小于喚醒周期T,從節點一個周期內大部分時間處于休眠狀態,因此可實現節點的低功耗工作[11]。此外,為保證從節點能檢測到主控節點的廣播前導碼,主控節點發送前導碼的時長需大于從節點喚醒周期T。
2.2" 信道劃分
按照輪詢采集、定點調試與預警上報等多傳感器組網通信的功能需求,本文將LoRa局域網通信鏈路信道劃分為4類:待機信道Sx、預警信道A1、采集信道C1與調試信道D1。通過不同類型信道的分時復用,降低LoRa局域網通信的占用帶寬,減少多傳感器數據通信的無效喚醒次數。局域網LoRa通信信道劃分如表1所示。
表1中,待機信道Sx為從節點待機休眠的工作信道,從節點完成命令響應、預警信息上報后,自動進入待機信道Sx,以降低節點功耗;采集信道C1為主從節點輪詢采集數據的上報信道,主控節點發送輪詢控制命令至待機信道Sx,從節點被喚醒后與主控節點共同切換至采集信道C1,建立從節點數據上報通信鏈路;調試信道D1為主控節點對從節點的調試信道,主控節點發送定點調試命令至待機信道Sx,從節點喚醒后與主控節點共同切換至調試信道D1,建立調試信道下的雙向通信鏈路;預警信道A1為主控節點接收從節點的預警信道,當從節點出現故障后,由待機信道Sx自動切換至預警信道,向主控節點上報故障信息。
實際應用中,本文將待機信道Sx劃分為10個,每個信道容量為10個從節點,則待機信道Sx可容納100個從節點,滿足大部分工程現場需求。此外,為避免各個信道之間的相互干擾,10個信道頻點之間間隔為擴頻調制帶寬的5倍。
2.3" 信道切換
基于對局域網LoRa無線通信的信道劃分,主從節點通過通信信道的切換,實現從節點低功耗輪詢采集、定點調試與預警上報等多傳感器組網通信功能。
2.3.1" 輪詢采集
輪詢采集主從節點信道切換流程如圖2所示。
首先,主控節點由預警信道A1切換至對應傳感器節點待機信道Sx,向該信道下所有從節點發送廣播采集命令,在延遲等待時間Td后,進入采集信道C1,等待接收信道各從節點上報采集數據;從節點接收到命令后從待機狀態喚醒至工作狀態,并進行傳感器數據的采集,將采集數據存儲至內存中,休眠等待一段時間Ts后切換信道至采集信道C1。各從節點通過延時等待時長Ts的不同,分時切換至采集信道C1,上報采集數據至主控節點,避免出現信號碰撞。在從節點完成數據上報后,主控節點切換至預警信道A1,從采集信道C1切換至待機信道并進入周期性休眠狀態,完成該信道下從節點數據輪詢采集。
一般地,延遲等待時間Td為10 s,相鄰從節點等待間隔時長Tc為2 s,超過該時長則節點置為故障。待機信道Sx從節點容量為10個,則遍歷采集一個信道需耗費時長(單位為s)為:
[T=Td+Ts=Td+10Tc=10+10×2=30] (1)
2.3.2" 定點調試
從節點定點調試可實現主控節點對局域網傳感器狀態查詢、參數設置、隨機定點召測等功能。輪詢定點調試主從節點信道切換流程如圖3所示。
首先,由主控節點切換至指定設備號的待機信道Sx,發送定點調試指令,喚醒待機信道下從節點并立即進入調試信道D1;從節點在收到定點調試指令后,立即切換至調試信道D1,并向主控節點發送響應信息。設定主控節點等待從節點響應時長為5 s,超時認為從節點為故障狀態。
在完成調試工作后,若從節點30 s無接收數據,自動進入低功耗待機狀態。此外,還可通過主控節點發送指令將從節點置為待機休眠狀態。
2.3.3" 預警上報
主控節點采用市電供電,可一直處于預警信息接收狀態,監控各個從節點運行上報數據。當從節點出現電量低、節點數值異常后,可自動切換至預警信道,上報異常數據。從節點在完成預警信息上報后,自動進入待機信道。
為避免從節點上報數據出現信號碰撞,從節點在自動上報時,首先進行前導碼檢測,當存在其他節點預警信息上報時,自動增加等待時間片,等待下一個窗口進行數據傳遞,直到預上報成功。
2.4" 通信指令協議
主從節點應按照統一的指令協議,在不同信道之間按照信道切換,實現從節點的低功耗數據采集。本文制定的LoRa局域網通信協議采用ASCII編碼格式,協同信道切換機制完成低功耗數據采集。幀格式組成字段如表2所示。
表2中:起始符占用1 B,采用“:”作為一幀數據的起始;地址碼占用4 B,前2個字節為設備類型,后2個字節為局域網從節點ID,局域網從節點ID應保證唯一性,從節點根據設備ID自動設置LoRa通信信道,地址碼第3位為信道號,第4位從節點號;命令占用2 B,包括指令類型(調試指令、采集指令、預警指令等)和指令代碼(開關機、狀態查詢、采集參數配置、地址查詢等)兩個部分;校驗碼占用采用CRC16校驗,高位在后,低位在前。
另外,當通信幀地址碼置為FFFF時,為主控節點廣播命令,所有從節點均響應該指令。
3" 硬件電路接口設計
主控節點與從節點硬件電路設計以STM32系列單片機為主控芯片,射頻前端模塊采用SX1278,兩者通過SPI接口建立連接,完成LoRa信道切換與主從節點數據通信[12]。為提高開發效率,無線射頻模塊采用某公司貼片封裝的RA?02設計,SX1278射頻前端硬件接口電路與低功耗LoRa主從節點實物圖如圖4所示。
4" 實驗與分析
為測試信道切換機制的有效性,進行功耗測試和多節點組網通信實驗,并根據節點功耗數據進行計算分析。
4.1" 單節點功耗測試
從節點完成一次數據采集需要經歷喚醒、接收、采集、發送、休眠等狀態[13]。在實驗室環境下,設置從節點LoRa信道頻點為480 MHz,帶寬為125 kHz,擴頻因子為8,發射功率為17 dBm,喚醒周期時長為1 s,并通過示波器、萬用表測試數據長度小于100 B情況下,各個狀態的電壓、工作電流與時長。激光測距傳感器功耗數據如表3所示。
4.2" 多傳感節點通信測試
多節點組網通信實驗中,主控節點分別與30個從節點通過3個信道建立通信連接,測試不同信道間的數據傳輸是否會干擾其他信道,導致從節點無效喚醒。相鄰信道頻點間隔為1 MHz,3個信道頻點分別為480 MHz、481 MHz、482 MHz。實驗室采用萬用表監測各從節點工作電流,判斷是否被喚醒。
結果表明,各信道之間從節點通信相互獨立,避免了由信道間通信干擾引起的無效喚醒,且實現了多傳感器的組網采集。
4.3" 功耗計算
從節點處于休眠狀態時,通過周期喚醒檢測是否存在前導碼,由單節點通信測試數據計算出平均待機電流I0(單位為mA)為:
即從節點在休眠狀態下,周期性喚醒的耗電電流平均為0.372 mA。當完成一次數據采集時,從節點需要經歷數據接收、采集、發送等過程,采集一次均攤至每秒電流增量(單位為mA)為:
以工程現場埋設100個從節點為例,劃分10個信道,一天從節點采集數據10次,則從節點平均電流增量(單位為mA)為:
[I'=10ΔI≈0.008] (4)
從節點工作等效電流(單位為mA)為:
[I=I0+I'=0.372+0.008=0.38] (5)
以每個從節點電池容量為12 V、3 600 mA·h計算,電池供電效率為85%,則單個從節點可工作的有效時長(單位為h)為:
每天時長24 h,可工作天數為:
5" 結" 論
本文針對多傳感器低功耗主動輪詢采集中從節點無效喚醒的問題,提出了一種基于空中喚醒策略與信道切換機制的低功耗工作方法,制定了局域組網通信指令協議,建立了主控節點與從節點之間的低功耗通信鏈路,提高了主從節點指令響應的實時性。此外,還基于SX1278開發了低成本從傳感器節點與主控節點,并進行了多節點組網通信實驗。測試結果表明,所提方法能夠完成多傳感器的低功耗數據采集,有效地避免了從傳感節點的無效喚醒。
參考文獻
[1] 張新.LoRa技術及其在煤礦中的應用分析[J].煤炭工程,2019,51(3):79?82.
[2] 韓團軍,尹繼武,趙增群,等.基于LoRa技術的礦井數據監測系統的設計與研究[J].現代電子技術,2019,42(20):160?163.
[3] 戴楊,張晴暉,李俊萩,等.基于LoRa物聯網的森林環境監測系統的架構與實現[J].現代電子技術,2020,43(22):44?48.
[4] 張錚,曹守啟,朱建平,等.面向大面積漁業環境監測的長距離低功耗LoRa傳感器網絡[J].農業工程學報,2019,35(1):164?171.
[5] 王晨輝,郭偉,楊凱,等.基于LoRa技術的滑坡監測系統設計與研究[J].現代電子技術,2022,45(12):1?6.
[6] 黃躍文,周芳芳,韓笑.無線低功耗安全監測采集系統設計與研究[J].長江科學院院報,2019,36(6):153?156.
[7] 林碩,張榮晶.基于LoRa的車輛稱重系統中低功耗無線模塊設計[J].自動化與儀表,2018,33(5):79?83.
[8] 邱崠,孫友強,張俊卿,等.基于LoRaWAN的農田環境監測系統設計[J].儀表技術,2023(1):1?5.
[9] 李雷.基于LoRa的井蓋狀態監測系統研究與設計[D].北京:北京交通大學,2019.
[10] 潘曉博.基于LoRa的低功耗瓦斯濃度分布式監測系統設計[J].工礦自動化,2021,47(6):103?108.
[11] 唐菲.基于物聯網的分布式水質在線監控系統設計[J].傳感技術學報,2022,35(4):565?572.
[12] 江鶯,俞旭,俞銘津,等.基于LoRa的遠程低功耗水壓采集系統的設計[J].現代電子技術,2020,43(8):105?108.
[13] 徐尚瑜,張燕,陳文君,等.LoRa低功耗農業傳感終端的設計與研發[J].傳感技術學報,2021,34(12):1690?1696.