对于需要购买 lorawan® 网关的人来说,最重要的问题是:一个网关到底能容纳多少个节点?我有 n 个节点,需要配备多少个网关才够用?这没有一个固定和简单的答案,计算方法十分复杂。本文我们就一起看看应该如何计算?
一、lorawan® 网关单网关能容纳的节点数量1、理论值
假设单个网关每天最多可以接收 a 个数据包,每个节点的应用发包频率是每小时 b 个数据包,那么,单个网关最多可以容纳的节点数目理论值计算公式如下:
s = a/(24*b)
假设:单个 lorawan® 网关搭载一个 sx1301 芯片,那么每天最多可以接收 150 万个数据包,如果应用发包频率是每小时 1 包,理论上 lorawan® 网关可以接入节点的数目就是
s = 1,500,000/(24*1) = 62,500 个
2、实际值
上面我们提及的是理论值,实际上单个网关可以容纳节点的数目实际值比理论值的计算要更复杂。对于确定的某个网关来说,每天最多可以接收的数据包是确定的,难就难在,每个节点到底每天发多少个包。
在同一个应用场景下,我们每天需要该节点发送的总数据长度是确定的,但是,确定长度的数据到底要以怎样的封包长度、发送速率来发送,就不确定了。封包长度如果不同,势必需要发送包的数量也就不同。
比如,在不同信号强度下,所用到的扩频因子 sf 不同,那么,能发送数据的长度也就不同,每次能发送数据的长度不同,就会导致需要分成包数量不相同,从而导致即使使用同样的网关、同样的节点,但在节点的不同业务模式下,也会出现单个网关容纳节点的最大数目并不相同的情况。
对于有 8 个信道的网关来说,在没有 lbt(listen before talk,发送前监听)的前提下,具体的计算公式为:
信道容量(即节点数量)s = 8t/2et0
其中,8 代表 8 个信道,t 代表发送间隔,跟封包长度、速率有关系,1/2e 是基本 aloha 算法最大吞吐量,e 是常数等于 2.718,t0 代表单包的 toa(time on air,空中飞行时间)。在 10 字节负载的前提下,速率与单包的 toa 的对应关系如下表所示:
10 字节负载下速率与单包的 toa 对应关系
举一个例子,假如使用 sx1301 芯片,在没有 lbt,且平均每个包空中飞行时间 t0 = 100 ms(因此t0 = 0.1 s),平均每个包一分钟发一次(因此 t = 60 s),那么可以容纳多少这样的平均节点呢?s = 8*60/(2*2.718*0.1) = 883 ,因此,可以容纳 883 个节点。
采用不同算法,也会导致最大吞吐量的变化,从而引起理论容量的变化。比如,如果前提条件修改成每个节点都带有 lbt 功能,采用时隙 aloha 算法而不是之前的基本 aloha 算法来评估。由于算法不同,最大吞吐量也会不同,此时最大吞吐量是 1/e,因此信道容量(即节点数量)s = 8t/et0,理论容量则会增加一倍,即 883*2 = 1,766 个节点。
3、大致估算
如果不想计算,我们还可以通过简单的参考示例做大致估算。
在理想情况下,若发送 10 字节、频次为 10 分钟,那么一个 8 通道的网关差不多可以对应 14,200+ 个节点。如果是 20 个字节、频次为 10 分钟,则可以对应 9,900+ 个节点。
频次跟容量是线性关系,如果把实际需要频次改成发送是 10 个字节、频次为 60 分钟。那么,可以推出该 8 通道的网关差不多可以接入 85,200+ 个节点。
在 adr(adaptive data rate,自适应速率)开启、90% 的终端速率大于 dr3(sf9)的场景下,字节跟容量也差不多是线性关系,因此,也可以根据实际场景的字节简单代入上述例子得到一个估计值。
4、计算中的注意事项
(1)网关数量
通常来说,1 个节点能够保证 2~3 个网关接收数据是最好的状态。因此,假如根据上述方式计算得到总共需要 n 个网关来对应所有节点,那么,应用到实际中时,建议最好是使用 2n~3n 个网关,而不是 n 个网关,来对应所有的节点,这样可以确保数据都能接收到。
(2)发送间隔
对于发送间隔,我们建议除了很特殊的应用,尽量不要把发送间隔设置低于 5 s,发送间隔在分钟级别以上比较好。标准的 lorawan® 协议,发送一个包至少要保证 2 s 的间隔。
sf 发送 64 字节的,空口时间就已经接近 3 s 了。由于网关只负责透传,有时有人会不遵守 lorawan® 关于空口时间的要求,因此,即使不遵守lorawan® 协议,物理层也还是可以接收数据的,但是这时候用户就需要自己去验证、测试丢包率了。
二、lorawan® 网关多网关能容纳的节点数量在实际应用场景下,单网关很多时候并不能满足覆盖和容量的要求。在满足一定信号配比的情况下,网关可以同时接收 sf7~sf12 的信号数据。单网关解调和覆盖能力有限制,理论上虽然可以达到这个容量,但是实际上很难。而多网关部署就可以最大化网络容量。因此,实践中多网关的应用很多。
1、固定速率
当速率固定时,如果具备 n 个网关,多网关容量 = 单网关容量 * n。其中,单网关的容量可按照第一部分的方法计算或估算。
2、开启 adr
当开启 adr 时,多网关的容量就不是线性变化了。根据 smetech 公布的实际测量结果可知,当采用 adr 的时候,多网关容量 > 单网关容量 * n.^2。
注意:除了增加网关容量之外,开启 adr 还有助于降低功耗,因为 adr 技术可以根据 lora® 信号质量自动调整数据的发送功率。瑞科慧联(rak)的rak7289 和 rak7268 系列产品均支持 adr 功能,它们配合 rak 的节点,可以有效降低 lora® 终端的发射电流。
3、发送数据阶段
(1)开启 adr
开启 adr 有一个好处,就是可以在同样数量网关的前提下尽可能多扩充已有网关的总体容量。
(2)选择同频部署
同频部署可以使节点连接最近的网关最大化网络 adr 效果,adr 效果提升则可以让节点速率最佳化。速率提升就代表 toa 降低、容量增加、功耗降低。因此,采用多网关时,建议采用同频部署,因为同频比异频部署能容纳更多的节点。如果实在无法满足同频部署,再考虑增加异频网关。
(3)部署的范围满足 1 个节点被 2~3 个网关接收
为确保数据都能接收到,建议 1 个节点发送的数据能够保证被 2~3 个网关接收到。
三、总结总的来说,在拥有同样数量 lorawan® 网关的情况下,如果希望容纳更多数量的节点,可以从以下几个方面着手进行改进:选择合适的发送数据长度、选择带有 lbt 功能的网关、使用更优的算法、开启 adr、选择同频部署。
以上就是计算 lorawan® 网关容量的计算方法,涉及到单网关和多网关能容纳节点的数量计算。
工程师如何选择LED恒流源周边器件
建筑工地“天眼”扬尘在线监测系统
蚂蚁机器人发布Top-pick上存下拣智能拣选解决方案
Python如何爬取天气数据
硅整流桥的快速检测
如何计算LoRaWAN®网关的网络容量?
放大器在多路复用通道时行为不正常的原因
室内定位新技术:UWB室内定位-室内人员定位
以人为主体目标的图像理解与编辑任务
爆款风扇灯无刷电机驱动控制板推荐
几种主流的智能家居无线技术对比分析
网易闪电邮独辟蹊径,做白领加薪代言人
x86与arm架构区别主板还是cpu
无人化设备在农村,未来农业无人化将成为趋势
两款LED标牌装饰灯电路图
如何利用PicoScope测量电源功率和功率因数?
AMOLED 面板供应短缺,2017年HTC VIVE市场占有率将拱手让出市场龙头位置
如何应对电动汽车转型阵痛期?如何破局全面智能化带来的降维挑战?
中美贸易反而给三星提供机会 三星计划5年内夺全球25%芯片代工市场
博世通过数字化转型加速产品质量提升