LoraWAN论坛

标题: LoRaWAN是否有重入机制? [打印本页]

作者: vippirate    时间: 2017-6-23 08:49
标题: LoRaWAN是否有重入机制?
我最近也在研究LoRaWAN协议,但有个问题没有明白,一、协议里没有定义设备离场么?比如gateway断电了,那么终端怎么确认自己连接不上gateway了?二、设备是否有重新入网机制? 我在看协议,但没有发现上述两个问题是怎么解决的。 多谢!


作者: BeyondDream    时间: 2017-6-23 11:22
本帖最后由 BeyondDream 于 2017-6-23 11:23 编辑

1)  终端发送 UPLINK 数据帧时,可以选择 confirmed data frame(要求 Server 确认),这样一来,如果终端没有收到 ACK,那么它知道通信失败。              如下图所示,终端第一次发送 Confirmed Data0,接收 ACK 失败;它再次重传 Confirmed Data0,直到接收 ACK 帧。
     更详细的原理,请参考《LoRaWAN Specification 102》 Chapter 18 Page-61

[attach]17[/attach]

2) 设备一般在“上电”时,重新入网;
     因为入网是 MAC 层的一个原语操作,如果有需要,调用以下代码,即可申请 OTAA 入网:

     l_tMlmeReq.Type = MLME_JOIN;     l_tMlmeReq.Req.Join.DevEui = chip_GetDevEUI();
     l_tMlmeReq.Req.Join.AppEui = s_stNetSettings.a_byAppEUI;
     l_tMlmeReq.Req.Join.AppKey = (uint8_t *)s_abyAppKey;
     l_tMlmeReq.Req.Join.NbTrials = 3;
     LoRaMacMlmeRequest(&l_tMlmeReq);











作者: vippirate    时间: 2017-6-23 11:36
BeyondDream 发表于 2017-6-23 11:22
1)  终端发送 UPLINK 数据帧时,可以选择 confirmed data frame(要求 Server 确认),这样一来,如果终端 ...

非常感谢回复,可能我没有表述明白

举个例子,设备连上gateway之后,已经可以正常通信了;

下一步gateway突然断电,设备还是继续发送信息,只是收不到ACK了(对于需要ACK的消息而言);

这时候设备肯定会重传消息,但对于设备而言,它是怎么判断出是gateway出问题了?出问题后会不会再重新触发入网?
作者: vippirate    时间: 2017-6-23 11:37
BeyondDream 发表于 2017-6-23 11:22
1)  终端发送 UPLINK 数据帧时,可以选择 confirmed data frame(要求 Server 确认),这样一来,如果终端 ...

代码里我可以重新调用入网操作,问题是LoRa协议里是否定义了这种重新入网的机制?
作者: BeyondDream    时间: 2017-6-23 13:54
vippirate 发表于 2017-6-23 11:36
非常感谢回复,可能我没有表述明白

举个例子,设备连上gateway之后,已经可以正常通信了;

1)终端无法”判断“出 Gateway 是否正常工作,这属于”网络维护“的范畴;
     打个比方,您的手机(终端)无法打电话了,是”通信基站“挂了?还是”服务器“挂了?还是。。。。
     解决这个问题,是由”电信运营商“来操作的。

2)出问题,为什么要”重新入网“呢?它能解决什么呢?




欢迎光临 LoraWAN论坛 (http://lora.timeddd.com/) Powered by Discuz! X3.3