Щоб приєднатися до мережі LoRaWAN, кінцевий пристрій повинен пройти процедуру активації (End-Device Activation). Специфікація передбачає два варіанти активації пристроїв:
Після активації пристрій повинен містити наступні значення:
Процедура приєднання завжди ініціюється кінцевим пристроєм і складається з двох повідомлень, якими обмінюються кінцевий пристрій та мережевий сервер: join request (пристрій → сервер) та join accept (сервер → пристрій).
Повідомлення join request містить AppEUI, DevEUI та випадкове число DevNonce:
| Join Request | |||||
|---|---|---|---|---|---|
| 3 байти | 3 байти | 4 байти | 1 байт | 1 байт | 16 байтів |
| AppNonce | NetID | DevAddr | DLSettings | RxDelay | CFList |
Для кожного кінцевого пристрою мережевий сервер запам'ятовує значення DevNonce, які використовувалися раніше, і ігнорує запити, що містять дублікати DevNonce. У відповідь на join request сервер надсилає повідомлення join accept.
| Join Accept | |||||
|---|---|---|---|---|---|
| 3 байти | 3 байти | 4 байти | 1 байт | 1 байт | 16 байтів |
| AppNonce | NetID | DevAddr | DLSettings | RxDelay | CFList |
де:
Поле DLSettings [8 біт] має наступний формат:
| DLSettings | ||
|---|---|---|
| 7-й байт | 6…4 байти | 3…0 байти |
| RFU | RX1DRoffset | RX2 Data rate |
де:
Випадкові числа DevNonce та AppNonce використовуються для розрахунку сесійних ключів NwkSKey та AppSKey.
«Активація через персоналізацію» означає, що значення DevAddr, NwkSKey та AppSKey записуються безпосередньо в пристрій (пристрій персоналізується). Згідно зі специфікацією, кожен пристрій повинен містити унікальні значення сесійних ключів NwkSKey та AppSKey, щоб компрометація цих значень в одному пристрої не призвела до компрометації інших пристроїв мережі.
При такому методі активації кінцевому пристрою не потрібно проходити процедуру приєднання до мережі, пристрій готовий до передачі даних одразу після ввімкнення.