0

我正在构建一个具有两个 SX1278 模块和 Arduino Uno 的 Lora 网络。Lora 基于三个类。A、B、C,问题是:为了实现B类,是否需要更改Lora模块寄存器?!还是班级之间的差异只是在他们相互交流的时间之间? 如果你有源代码,它真的让生活更轻松。

4

1 回答 1

1

或者实现 B 类,是否需要更改 Lora 模块寄存器?

嗯,是。它需要不时地做一个RX窗口。

还是班级之间的差异只是在他们相互交流的时间之间?

一般是的。无线通信中几乎所有节能方法的实现都可能被简化为“只是它们之间的通信时间”的差异——这是过于简单化了。但一般来说,是的,类操纵从网关到信标的下行链路可能的时间。

A类可以随时发送消息,发送后才接收消息。B 类是具有周期性同步接收窗口的 A 类。C 类可以随时接收消息 - 保持 RX 始终打开。

来自lora-allience.org/about-lorawan

A 类 – 最低功耗的双向终端设备:

所有 LoRaWAN 终端设备都必须支持的默认类,A 类通信始终由终端设备发起,并且是完全异步的。每个上行链路传输都可以随时发送,随后是两个短的下行链路窗口,提供双向通信的机会,或者在需要时提供网络控制命令。这是一种 ALOHA 类型的协议。终端设备能够进入低功耗睡眠模式,只要由其自己的应用程序定义:定期唤醒没有网络要求。这使得 A 类成为最低功耗的操作模式,同时仍然允许随时进行上行链路通信。因为下行链路通信必须始终遵循终端设备应用程序定义的时间表的上行链路传输,

B 类 – 具有确定性下行链路延迟的双向终端设备:

除了 A 类启动的接收窗口外,B 类设备使用周期性信标与网络同步,并在预定时间打开下行链路“ping 时隙”。这为网络提供了发送具有确定延迟的下行链路通信的能力,但代价是终端设备中的一些额外功耗。延迟可编程高达 128 秒以适应不同的应用,并且额外的功耗足够低,对于电池供电的应用仍然有效。

C 类 – 最低延迟、双向终端设备:

除了上行链路后跟两个下行链路窗口的 A 类结构外,C 类通过在设备不传输时始终保持终端设备的接收器打开(半双工),进一步减少了下行链路的延迟。基于此,网络服务器可以随时发起下行传输,假设终端设备接收器是开放的,因此没有延迟。折衷方案是接收器的功率消耗(最高约 50mW),因此 C 类适用于可提供连续功率的应用。对于电池供电的设备,可以在 A 类和 C 类之间进行临时模式切换,这对于固件无线更新等间歇性任务非常有用。

于 2021-03-15T10:04:33.997 回答