Table of Contents

Спецификация LoRaWAN. Активация оконечных устройств

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

После активации устройство должно содержать следующие значения:

Процедура присоединения при активации 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

где:

Поле DLSettings [8 бит] имеет следующий формат:

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

где:

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

Активация путем персонализации ABP - Activation By Personalization

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

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

Ссылка на оригинал статьи https://habr.com/ru/post/317218/