Спецификация LoRaWAN определяет три типа устройств: класс A, класс B и класс C. Эти три типа устройств могут в основном охватывать все сценарии применения Интернета вещей. Все устройства LoRaWAN должны реализовывать класс A, тогда как класс B и класс C являются расширениями спецификации устройства класса A, и все классы устройств поддерживают двунаправленную связь (восходящий и нисходящий канал).
Примечание. Терминальное устройство не может отправлять сообщения восходящей линии связи во время приема сообщений нисходящей линии связи.
① Класс А
Все конечные устройства LoRaWAN должны поддерживать реализацию класса A, а связь класса A всегда инициируется конечным устройством. Устройство может отправлять сообщения по восходящей линии связи в любое время. После завершения передачи по восходящей линии связи устройство откроет два коротких окна приема (нисходящей линии связи). Существует задержка между окончанием передачи по восходящей линии связи и началом окна приема (RX1 и RX2 соответственно). Если сетевой сервер не отвечает в течение этих двух окон приема, следующая передача по восходящей линии связи будет следовать за следующей передачей по восходящей линии связи. Терминалы класса А имеют самую низкую мощность среди трех классов терминалов.
Приемное окно класса А
Сервер может ответить во время первого окна приема (RX1) или второго окна приема (RX2), но не в обоих окнах одновременно. Давайте рассмотрим три случая сообщений нисходящей линии связи, как показано на рисунке ниже.
Поведение приемных окон класса А
Случай 1: Конечное устройство открывает два окна приема, но не принимает сообщения нисходящей линии связи ни в одном из окон приема.
Случай 2: Конечное устройство принимает нисходящий канал во время первого окна приема, поэтому второе окно приема не открывается.
Случай 3: Конечное устройство открывает первое окно приема, но не принимает нисходящую линию связи. Следовательно, он открывает второе окно приема и принимает нисходящую линию связи во время второго окна приема.
② Категория Б
В дополнение к окну приема, инициированному классом A, устройства класса B открывают запланированные окна приема для приема сообщений нисходящей линии связи от сетевого сервера. Используя маяк синхронизации времени, передаваемый шлюзом, устройство открывает окно приема в заранее определенное время. Временной интервал между двумя маяками называется периодом маяка. Устройство открывает «слот ping» нисходящей линии связи в запланированное время для получения сообщений нисходящей линии связи от сетевого сервера. Кроме того, устройства класса B также открывают окно приема после отправки восходящей линии связи.
Приемное окно класса Б
Конечные устройства класса B имеют меньшую задержку, чем конечные устройства класса A, поскольку им не нужно отправлять восходящие каналы для приема нисходящих каналов, и они могут прибыть в предварительно настроенное время. Однако срок службы батареи класса B, как правило, будет короче, чем у класса A, поскольку устройство проводит больше времени в активном режиме во время сигналов маяка и проверки связи. Временной интервал класса B относительно сложен. Он включает в себя маяк временного интервала синхронизации и временной интервал ping окна приема с фиксированным периодом. Например, в этом примере период маяка составляет 128 секунд, а период проверки связи — 32 секунды.
③Категория С
Устройства класса C расширяют класс A, оставляя окно приема открытым (если они не осуществляют передачу). Кроме того, поскольку окно приема всегда открыто, энергопотребление конечного устройства будет выше, чем у первых двух категорий, но задержка связи минимальна. Классы C и A по сути одинаковы, за исключением того, что во время периода ожидания класса A окно приема RX2 открывается.
Прежде чем начать отправлять и получать данные, терминальное устройство должно сначала подключиться к сети. Обычно существует два способа доступа к сети: беспроводная активация OTAA (Over-the-Air Activation) и независимая активация ABP (Активация посредством персонализации). Оба метода активации требуют троек.
OTAA: DevEUI, AppEUI, AppKey.
ABP: DevAddr, NwkSKey, AppSKey.
Коммерческие сети LoRaWAN обычно используют активацию OTAA, которая более безопасна. Этот метод активации требует подготовки трех параметров: DevEUI, AppEUI и AppKey.
DevEUI: глобальный уникальный идентификатор, аналогичный IEEE EUI64, идентифицирующий уникальное терминальное устройство. Эквивалент MAC-адреса устройства.
AppEUI: глобальный уникальный идентификатор, аналогичный IEEE EUI64, который идентифицирует уникального поставщика приложения. Например, приложения для сигнализации дыма, приложения для мониторинга газов, приложения для мониторинга мусорных баков и т. д. от разных производителей имеют свои собственные уникальные идентификаторы.
AppKey: назначается терминалу владельцем приложения.
После того, как терминал инициирует процесс присоединения к сети и выдает команду доступа к сети, NS (сетевой сервер) ответит терминалу после подтверждения правильности и назначит сетевой адрес DevAddr (32-битный идентификатор). После успешного подключения к сети данные будут зашифрованы. Обе стороны используют соответствующую информацию в ответе о доступе к сети и AppKey для генерации сеансовых ключей NwkSKey и AppSKey, которые используются для шифрования и проверки данных.
Метод активации ABP более простой и прямой. Этот метод не требует запуска процесса присоединения, но напрямую настраивает три последних параметра связи LoRaWAN: DevAddr, NwkSKey и AppSKey. В этом случае устройство может отправлять данные приложения напрямую.
DevAddr: короткий адрес узла, необходимый для передачи данных.
NwkSKey: используется для проверки данных (проверка MIC).
AppSKey: AES-шифрование и дешифрование полезной нагрузки.