1 Введение

На рисунке ниже представлена архитектура сети LoRaWAN.

Типичная сеть LoRaWAN состоит из следующих элементов:

  1. Конечный узел или сенсор (End Node) - предназначен для осуществления управляющих или измерительных функций. Содержит набор необходимых датчиков и управляющих элементов, а также приемо-передающий радиомодуль.
  2. Шлюз LoRaWAN (Gateway) - устройство, принимающее данные от конечных устройств с помощью радиоканала, и передающее их в транзитную сеть. В качестве такой сети могут выступать Ethernet, WiFi, сотовые сети и любые другие телекоммуникационные каналы. Шлюз и конечные устройства образуют сетевую топологию типа звезда. Шлюз содержит многоканальные приёмопередатчики для обработки сигналов в нескольких каналах одновременно и нескольких сигналов в одном канале.
    Группа таких устройств обеспечивает зону покрытия сети и прозрачную двунаправленную передачу данных между конечными узлами и сервером.
  3. Сетевой сервер (Network Server) - предназначен для управления сетью: хранит данные о конечных узлах, занимается адаптацией скорости соединения и фильтрует дублирующиеся данные, приходящие с разных шлюзов.
  4. Сервер приложений (Application Server) — ПО для удаленного контроля работы конечных узлов и сбора необходимых данных с них.

Управляющий сервер сети LoRa «Server I/Q» реализует функцию элементов сетевого сервера и сервера приложений сети LoRaWAN.

2 Архитектура сервера «LoRaWAN.Server I/Q»


На рисунке ниже представлена архитектура сервера «LoRaWAN.Server I/Q».
ПО сервера состоит из следующих основных программных компонент:

  1. gw_bridge - отвечает за преобразование UDP потока с гейтвея в MQTT сообщения для сервера, и наоборот. Сообщения, передаваемые по MQTT протоколу, передаются в JSON-подобном формате. По сравнению со стандартной схемой, используемой в сетях LoRaWAN, применение данной компоненты на шлюзе позволяет:
    • защитить передачу данных между шлюзом и сервером (протокол UDP не защищается), используя MQTT с TLS;
    • гарантирует доставку сообщений (при использовании QoS 1 или 2), стандартный UDP не контролирует успешность доставки сообщений;
    • имеет логирование для отладки.
  2. LoRa Network Server – отвечает за управление инфраструктурой сети. Контролирует сессии активных устройств в сети; активирует устройства, отправляющие запрос на подключение / переподключение. Авторизует пакеты с данными, фильтрует дубликаты пакетов от шлюзов и перенаправляет данные на сервер приложений. Управляет очередью сообщений на отправку на устройства.
  3. LoRa Application Server — занимается управлением приложениями и конечными устройствами, реализует графический интерфейс и взаимодействие с внешними серверами (через MQTT и RESTful JSON-API интерфейс). Авторизует и управляет пользователями сети.
  4. LoRa Data Parser – отвечает за преобразование форматов данных от устройств различных производителей в единый формат (json). Производит синтаксический разбор сообщений.

3 Возможности


Управляющий сервер сети «LoRaWAN.Server I/Q» полностью реализует поддержку протокола LoRaWAN 1.0 и 1.1, включая региональные настройки и параметры частотных планов.
Основные функции:

  1. Поддержка устройств класса А, B и С:
    • Класс А: связь двунаправленная, но только конечные устройства являются инициаторами связи, после которой открывают 2 последовательных окна для приема сообщений от сети. Тип протокола – разновидность случайного доступа ALOHA с временной вариацией;
    • Класс В: в дополнение к окнам приема сообщений для класса А, устройства открывают регулярное окно для приема сообщений по заданному сетью расписанию (синхронизация по временным Beacon меткам сети);
    • Класс С: приемные окна открыты почти все время, с перерывом на передачу данных на сервер, сервер может отправить данные устройству в любое время.
  2. Фильтрация дубликатов (в случае получения данных несколькими шлюзами одновременно).
  3. Двусторонняя связь с подтверждением доставки и без подтверждения.
  4. Активация конечных узлов ABP (через прошивку ключей) и OTAA (по воздуху).
  5. Адаптивное управление скоростью соединения и мощностью радиопередатчиков конечных устройств (механизм ADR). Сервер сети выбирает наиболее оптимальные параметры радиопередачи для конечных устройств с целью минимизировать эфирное время радиопередачи и уменьшить риск возникновения коллизий в канале, а также с целью снижения энергопотребления и увеличения срока жизни устройств от элементов питания.
  6. Конфигурация частотных каналов, используемых сетью (шлюзами и конечными устройствами). Позволяет изменять частотные каналы, на которых работают устройства сети, через использование команд MAC-уровня и CFList.
  7. Управление окнами приема (RX1 или RX2).
  8. Внешние API интерфейсы gRPC и RESTful API для интеграции со сторонними приложениями.
  9. Поддержка JWT токенов для авторизации пользователей сервера и разграничения доступа.
  10. Прием и передача данных по протоколу MQTT / HTTP POST.
  11. Веб-интерфейс пользователя.

4. Руководство по эксплуатации