LoRa终端节点是LoRa网络的部分,进行感应或控制。他们在远程电池供电。这些终端节点使用LoRaWAN网络协议与LoRa网关(集中器或基站)建立通信。可以频繁地在FSK和LoRa调制之间改变模式,LoRa设备通过简单的SPI寄存器写入可以从FSK切换到LoRa(反过来也一样)。对设备的性能和可靠性没有影响。LoRa设备按照数据手册规定的可以配置或重新配置为任意参数。当两个不同制造商的SX127x模块不能相互通信,在两个设备间检查由晶振引起的频率偏移。带宽(BW)、中心频率和数据速率这些都源自晶振频率。其次,检查在两边的软件/固件设置,确保频率、带宽、扩频因子、编码率和数据包结构是一致的。
LoRaWAN最多支持96个channel,65536个节点。实际应用中根据节点数量,可以选择使用8通道或16通道以降低成本。通常网关端采用SX1301+SX1255实现,网关端的硬件实现起来难度会高一些。节点端的硬件实现无论LoRa还是LoRaWAN,都只能采用semtch的SX1276/78。但是市面上是有多已经做好的节点,有单LoRa的,还有集成LoRaWAN的,开发者简单二次开发即可使用。
一、点对点系统局限性
LoRa点对点系统在现实中有少量的应用场景,如:使用手持机“点名”抄能源表计(电/水/气/热表计),远程控制阀门等。当然,它的局限性是很明显的:
1. 没有避免冲突机制:没有LBT(Listen BeforeTalk)机制,如果2个节点 同时发送,无线电信号将受损,导致通信失败;
2. 接收节点无法低功耗:接收节点必须随时等待发送节点的信号,无法休眠; 3. 无法自动组网:解决不了避免冲突和低功耗侦听,组网也就成了空中楼阁。
二、LoRa+mesh可行吗?
在FSK调制的微功率射频时代,mesh是主流方案,表面看,它具备:多跳延伸通信距离,多路径保证通信链路健壮性,避免冲突,低功耗侦听等优点;然而,深入研发的工程师都知道它有以下缺陷:
1. 延时大:当一个数据包经过几跳传输后,实时性就很难保证;
2. 不可靠:跳跃转发越多,丢失数据包的机率就越大,尤其是通信链路受干扰 或信号微弱的情况下;
3. 耗电大:mesh网中负责转发的节点能耗很大,最终整体网络将陷入瘫痪; 4. 很复杂:多跳转发和多径路由,本身就复杂,这给开发和维护带来困难。
也正因为上述缺陷,像ZigBee一直没有占据主导地位;LoRa是从物理层面(调制技术)实现了长距离和低功耗,因此它的“基因良好”,天生就可以绕过上述4个坑。除非常特殊的场景(如:军用或救灾),一般LoRa是不需要mesh组网的。锐米通信于2年前研发过一个LoRa+mesh的网络系统,后来团队发现,应用于产品不合适;
三、星型网关
LoRa因为长距离的优势,使用星型网络成为最佳的选择,它具备很多优势:
1. 延时小:因为是单跳,一次性传播,延时是可控的;
2. 高可靠:那怕链路受干扰或信号微弱,借助LoRa抗干扰优势,星型网络
仍能提供可靠的通信;
3. 能耗低:双方可以协商唤醒时刻,空闲时休眠,实现低功耗;
4. 简单化:星型网在网络拓朴中非常简单,可以大幅降低开发和维护成本。