前言
對于需要購買LoRaWAN網關的人來說,可能最重要的一個問題就是:一個網關能容納多少個節點?我有N個節點,需要配備多少個LoRaWAN網關才夠用??
很可惜的是,這個問題沒有簡單的答案。
一、LoRaWAN網關單網關能容納的節點的數量
1、理論值
假設單個網關每天最多可以接收a個數據包,每個節點的應用發包頻率是每小時b個數據包的話,那么,單個網關最多可以容納的節點的數目的理論值的計算式如下:
S=a/(24*b)。
比如,單個LoRaWAN網關如果搭載一個SX1301芯片的話,其每天最多可以接收150萬個數據包,如果應用發包頻率是每小時1包的話,那么理論上該LoRaWAN網關可以接入的節點的數目 S = 1500000/(24*1) = 62500個。
2、實際值
單個網關可以容納的節點的數目的實際值比理論值的計算要復雜的多。對于確定的某個網關來說,其每天最多可以接收的數據包也是確定的,難就難在每個節點到底每天發多少個包。
在同一個應用場景下,我們每天需要該節點發送的總的數據長度是確定的,但是,確定長度的數據到底要以怎樣的封包長度、發送速率來發送,就不確定了。封包長度如果不同,勢必需要發送的包的數量也就不同。
比如,在不同的信號強度下,所用到的擴頻因子SF也不同,那么,能發送的數據的長度也就不同,每次能發送的數據的長度不同就會導致需要分成的包的數量也不相同,從而導致即使使用同樣的網關、同樣的節點,但在節點的不同業務模式下,也會出現單個網關容納節點的最大數目并不相同的情況。
對于有8個信道的網關來說,在沒有LBT(發包前監聽信道)的前提下,具體的計算公式為:
信道容量(即節點數量)S=8T/2et0。
其中,8代表8個信道,T代表發送間隔,跟封包長度、速率有關系,1/2e 是基本Aloha算法最大吞吐量,e是常數,等于2.718,t0代表單包的ToA(Time on Air)。
在10字節負載的前提下,速率與ToA的關系如表1所示。
表1 在10字節負載的前提下,LoRaWAN的速率與單包的空中飛行時間ToA的對應表格
舉一個例子,假如使用SX1301芯片,在沒有LBT(發包前監聽信道)的情況下,并且平均每個包空中飛行時間t0=100ms(因此t0=0.1s),平均每個包一分鐘發一次(因此T=60s),那么可以容納多少這樣的平均節點呢?S=8*60/(2*2.718*0.1)=883 ,因此,可以容納883個節點。
而且,采用不同算法,也會導致最大吞吐量的變化,從而引起理論容量的變化。
比如,如果前提條件修改成每個節點都帶有LBT功能,采用時隙Aloha算法而不是之前的基本Aloha算法來評估,則由于算法不同,導致最大吞吐量不同,此時最大吞吐量是1/e,因此信道容量(即節點數量)S=8T/et0?,從而 ,則理論容量增加一倍,即883*2=1766個節點。
3、大致估算
如果不想計算,那么,我們還可以通過以下簡單的參考例,來做大致的估算。
在網關信號覆蓋較號的情況下,90%的信號強度滿足SF9以上的速率的前提下,若發送50字節,5s頻次,則一個8通道的網關差不多可以對應40個終端/節點。
頻次跟容量是線性關系,因此,如果實際需要的頻次改成比如發送是10s頻次,那么,可以推出該8通道的網關差不多可以接入80個終端/節點。
在ADR開啟、90%的終端速率大于DR3(SF9)的場景下,字節跟容量也差不多是線性關系,因此,也可以根據實際場景的字節簡易的代入上述例子來獲取一個估計值。
4、注意事項
(1)網關數量
由于最好1個節點能夠保證2~3個網關能接收到數據,因此,假如根據上述方式計算得到總共需要N個網關來對應所有的節點,那么,具體到實際運用中,建議需要用2N~3N個網關,而不是N個網關,來對應所有的節點,以確保數據都能接收到。
(2)發送間隔
除非很特殊的應用,否則不太建議發送間隔低于5s,一般來說,發送間隔至少在分鐘級別以上比較好。
標準的LoRaWAN協議,發送一個包需要至少保證2s的間隔。
SF發送64字節的,空口時間就已經接近3s了。而如果不遵守LoRaWAN的關于空口時間的要求,則雖然由于網關只負責透傳,因此,即使不遵守LoRaWAN協議,則物理層也可以接收數據,但是這時候用戶就需要自己去驗證測試丟包率。
二、LoRaWAN網關多網關能容納的節點的數量
在實際應用場景下,單網關并不能滿足覆蓋和容量的要求。
在滿足一定的信號配比的情況下, 網關可以同時接收SF7~SF12 的信號數據。單網關解調和覆蓋能力受限制,理論可以達到這個容量,但是實際上比較難, 但是多網關部署,就可以最大化網絡容量。因此,實踐中,往往更多的是用到了多網關。
1、固定速率
當速率固定時,如果具備N個網關,那么,多網關的容量 = 單網關的容量 * N。
其中,單網關的容量可按照第一部分來計算或估算。
2、開啟ADR
當開啟ADR的時候,那么,多網關的容量就不是線性的變化了。
根據Smetech公布的實際測量結果可知,當采用ADR的時候,多網關的容量 > 單網關的容量 * N.^2。
小Tip:而且,除了增加網關容量之外,開啟ADR還有助于降低功耗,原因是ADR技術可以根據LoRa信號質量自動調整數據的發送功率。RAK7249/RAK7258系列產品均支持開啟ADR功能,配合RAK節點,可以有效降低LoRa終端的發射電流。具體還可以參見《LoRa終端低功耗開發策略》一文。
3、多網關部署建議
(1)開啟ADR
開啟ADR可以在同樣數量的網關的前提下,盡可能多的擴充已有網關的總體容量。
(2)選擇同頻部署
同頻部署可以使節點連接最近的網關,最大化網絡的ADR效果。而ADR效果提升, 即為節點的速率最佳化。速率提升,代表TOA降低,從而代表容量增加,功耗降低。
因此,采用多網關的時候,建議采用同頻部署,可以比異頻部署容納更多的節點。只有在同頻部署無法滿足容量的需求下,才考慮增加異頻網關的加入。
(3) 部署的范圍滿足1個節點能被2~3個網關接收。
可以看出,同樣數量的LoRaWAN網關,如果希望容納更多數量的節點,那就需要從以下幾個方面著手進行改進:選擇合適的發送的數據的長度、選擇帶有LBT功能的網關并使用更優的算法、開啟ADR、選擇同頻部署。
結語
以上就是如何計算LoRaWAN網關的網關容量的計算方法,涉及到單網關以及多網關能容納的節點的數量的計算。lw
評論
查看更多