LoraWAN论坛

标题: 终端入网 [打印本页]

作者: x5井井忽忽    时间: 2018-1-8 17:13
标题: 终端入网
新手求教,如何操作终端入网,有无例子可供参考呢?

作者: BeyondDream    时间: 2018-4-8 14:28
LoRaWAN 终端入网原理,请参考《LoRaWAN介绍7 入网



作者: BeyondDream    时间: 2018-9-12 09:39

DevNonce和AppNonce
1 用途:这 2 个参数用于 LoRaWAN Node 的 OTAA 入网认证,它们保证了协议的“安全”。
        详情请参考:《LoRaWAN介绍9 安全》 https://blog.csdn.net/jiangjunjie_2005/article/details/54410085
2 来源:AppNonce 由 server 生成随机数;
        DevNonce 由 node 生成的随机数。
3 可靠:node 生成的 DevNonce 是“真正的随机数”-- 它由提取了 RF 的实时 RSSI 值的“最低位”。

代码如下:

LoRaMacDevNonce = Radio.Random( );

/*-------------------------------------------------------------------------*/
uint32_t SX1278Random(void)
{
    int8_t    chCnt;
    uint8_t    byIrqMask;
    uint32_t    ulRandVal;

    /* Save the state of IRQ mask of LoRa as well as disable all IRQ. */
    byIrqMask = SX1278Read(REG_LR_IRQFLAGSMASK);
    SX1278Write(REG_LR_IRQFLAGSMASK, 0xFF); /* Bit=1 to masks IRQ */

    /* Set radio in continuous reception. */
    SX1278SetOpMode(RF_OPMODE_RECEIVER);

    ulRandVal = 0;
    for (chCnt = 0; chCnt < (8 * sizeof(ulRandVal)); ++chCnt)
    {
        DelayMs(1); /* Disperse sampled time. */
        /* Unfiltered RSSI value reading. Only takes the LSB value */
        ulRandVal |= ((uint32_t)SX1278Read(REG_LR_RSSIWIDEBAND) & 0x01) << chCnt;
    }

    SX1278SetOpMode(RF_OPMODE_SLEEP);

    /* Restore the state of IRQ mask of LoRa */
    SX1278Write(REG_LR_IRQFLAGSMASK, byIrqMask);       

    return ulRandVal;
}

作者: x5井井忽忽    时间: 2018-11-15 15:12
BeyondDream 发表于 2018-9-12 09:39
DevNonce和AppNonce
1 用途:这 2 个参数用于 LoRaWAN Node 的 OTAA 入网认证,它们保证了协议的“安全” ...

十分感谢耐心解答!




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