我只是对LoRa技术感到好奇,并探索我在定义LoRaWAN类(A、B和C)时遇到的问题。我的疑问是,如果我想要设计一个支持LoRa模块的LoRa节点(由像Ai-Thinker,Heltech,pycom等供应商提供),我需要在为节点的传输和接收编程时关心类吗?它们是由LoRa收发器处理的,还是我们需要通过编写代码来处理?
发布于 2021-04-28 16:56:42
您应该考虑要为要开发的应用程序使用哪个LoRaWAN类。这三个类都有不同的行为:
不同的收发器/mcus需要不同级别的护理。
如果我以RN2483为例,这个节点在内部处理所有LoRaWAN交互,您只需要配置您想要的。(AFAIK它目前不支持B/C类,但计划支持它。)
如果我使用CMWX1ZZABZ,那么这个处理器是直接编程的,您需要确保代码适用于您要使用的类(A/B/C)。CMWX1ZZABZ附带了一个LoRaWAN堆栈,但您需要确保它确实能按需要工作,RN2483会为您处理所有事情。
发布于 2021-05-28 06:11:48
在物联网中,电池续航时间是一个重要的因素。也就是说,设备可以在生产中保留多长时间而不进行维护。
对于低功耗设备来说,最重要的方面是优化电池的使用。对于每个通信设备,发送或接收数据都需要能量。此外,如果MCU和硬件的外围设备始终处于唤醒状态,那么电池将很快耗尽。
因此,为了增加设备寿命并支持各种用例,有多种设备类别。
关于每个类的解释如下:https://www.thethingsnetwork.org/docs/lorawan/classes/
发布于 2021-07-12 23:47:23
以下是以问号结尾的真正问题的答案。
在为节点进行传输和接收编程时,我需要关心类吗?它们是由LoRa收发器处理的,还是我们需要通过编写代码来处理?
当应用层代码通过其应用程序接口使用LoRaWAN协议栈时,通常不需要关心类。
然而,
当您定义应用程序服务器和终端设备交换的应用层消息类型时,您需要知道实际的LoRaWAN设备类是什么,并且需要知道下行链路消息可能具有的延迟。
例如,如果您的设备在A类模式下运行(仅接受下行链路消息作为对上行链路消息的响应),则可以在应用程序代码中写入设备发送常规心跳消息,允许应用程序服务器发送下行链路作为对其中一个心跳的响应。
https://stackoverflow.com/questions/67266803
复制相似问题