Користувальницькькі налаштування

Налаштування сайту


uk:lorawan_spec_device_activation

Специфікація LoRaWAN. Активація кінцевих пристроїв

Щоб приєднатися до мережі LoRaWAN, кінцевий пристрій повинен пройти процедуру активації (End-Device Activation). Специфікація передбачає два варіанти активації пристроїв:

  • OTAA, Over-The-Air Activation (необхідно пройти процедуру приєднання (join procedure), під час якої генеруються сесійні ключі шифрування та адреса DevAddr).
  • ABP, Activation By Personalization (немає потреби проходити процедуру приєднання, ключі шифрування та адреса DevAddr записуються в пристрій заздалегідь (персоналізація пристрою)).

Після активації пристрій повинен містити наступні значення:

  • Адреса кінцевого пристрою (DevAddr) — локальна адреса пристрою в даній мережі [32 біти]. DevAddr складається з двох полів: NwkID (ідентифікатор мережі, біти 31…25) та NwkAddr (мережева адреса, біти 24…0).
  • Мережевий сесійний ключ (NwkSKey) — сесійний ключ мережі [128 біт], що використовується для розрахунку та перевірки поля MIC (код цілісності повідомлення) у повідомленнях під час обміну між кінцевим пристроєм та мережевим сервером (Network Server), а також для шифрування повідомлень рівня MAC.
  • Сесійний ключ застосунку (AppSKey) — сесійний ключ [128 біт], що використовується для шифрування даних на рівні застосунку (між кінцевим пристроєм та сервером застосунків).
  • Також пристрій повинен мати заздалегідь записаний ID застосунку [64 біти] — Ідентифікатор застосунку (AppEUI).

OTAA - Процедура приєднання Over-The-Air 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

де:

  • AppNonce — випадкове число.
  • NetID — ідентифікатор мережі.
  • DevAddr — адреса пристрою в мережі.
  • DLSettings — параметри, що використовуються для вихідних повідомлень (сервер → пристрій).
  • RxDelay — затримка між закінченням передачі кінцевого пристрою та початком вікна прийому Rx1 (що таке вікна прийому — Специфікація LoRaWAN. Вступ. Основні поняття та класи кінцевих пристроїв).
  • CFList — список додаткових частотних каналів, які можуть використовуватися кінцевим пристроєм.

Поле DLSettings [8 біт] має наступний формат:

DLSettings
7-й байт 6…4 байти 3…0 байти
RFU RX1DRoffset RX2 Data rate

де:

  • RFU — Reserved for Future Use (зарезервовано для майбутнього використання), не використовується.
  • RX1DRoffset — різниця між швидкостями передачі даних uplink та downlink, що використовується для першого вікна прийому Rx1. За замовчуванням дорівнює 0.
  • RX2 Data rate — швидкість, що використовується для другого вікна прийому Rx2.

Випадкові числа DevNonce та AppNonce використовуються для розрахунку сесійних ключів NwkSKey та AppSKey.

ABP - Activation By Personalization

«Активація через персоналізацію» означає, що значення DevAddr, NwkSKey та AppSKey записуються безпосередньо в пристрій (пристрій персоналізується). Згідно зі специфікацією, кожен пристрій повинен містити унікальні значення сесійних ключів NwkSKey та AppSKey, щоб компрометація цих значень в одному пристрої не призвела до компрометації інших пристроїв мережі.

При такому методі активації кінцевому пристрою не потрібно проходити процедуру приєднання до мережі, пристрій готовий до передачі даних одразу після ввімкнення.

uk/lorawan_spec_device_activation.txt · Востаннє змінено: 2026/04/10 16:43 повз joobyadmin