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