Перейти к содержанию

LoRa

photo

Рисунок 1. Общий вид контроллера Lavritech с подключённой LoRa антенной.

Контроллеры Lavritech поддерживают работу с LoRa и могут выступать в качестве хаба (Gateway) или ноды (Node). Роль контроллера определяется решаемой в проекте задачей — хаб в основном получает данные, а нода передаёт (например, это может быть беспроводной датчик).

sma

Рисунок 2. Разъём SMA для подключения LoRa антенны.

Для работы с LoRa контроллеры Lavritech должны быть укомплектованы LoRa модулем на чипах SX1276, SX1278 или подобных. В конструкции контроллера предусмотрен также SMA разъём для подключения LoRa антенны.

module

Рисунок 3. Место установки встроенного LoRa модуля

В типовом варианте для работы используется протокол LoRaWAN, а архитектура сети может быль различной, на усмотрение пользователя: могут использоваться как единичные прямые соединения шлюз — нода, так соединения с несколькими шлюзами или нодами, или работа с LoRa оборудованием сторонних производителей.

Предустановки LoRa в «Конструкторе прошивок»

Ниже представлены типовые предустановки LoRa (сделанные производителем) с которыми поставляются контроллеры Lavritech. При необходимости вы можете изменить их в «Конструкторе прошивок» (см. соответствующий раздел документации).

constructor

Здесь:

Добавлена поддержка обоих режимов работы Gateway и Node.

Выставлены номера GPIO для управления LoRa модулем: SS (21) и RESET (18). Это дефолтные настройки для контроллеров Lavritech (вы можете изменить их при необходимости).

План частот для Node — это настройка для работы в режиме шифрования OTAA (см. ниже). Обычно не используется, 0 — отключено.

Также указаны максимальное количество клиентов Gateway (35) и максимальное количество метрик (передаваемых данных, 20).

Поддержка бинарных данных — это возможность передавать не только текстовые данные, но и данные в цифровом (бинарном) виде.

Обратная связь — это возможность для шлюза не только получать данные, но и передавать нодам специальные команды.

GPIO INT(DIO0) — использование прерывания для получения данных (обычно не используется).

Настройки LoRa

Настройки LoRa, доступные пользователю контроллера, находятся в пункте меню «Lora».

menu

Содержание этого пункта отличается для различных режимов работы LoRa (отключено/Gateway/Node). В изначальном состоянии, когда с LoRa отключена, эта страница имеет только основные настройки, общие и для режима шлюза и для режима ноды.

lora

Здесь:

Disable/Gateway/Node — режим работы LoRa выключено/шлюз/нода

Gateway/Node — роль контроллера LoRa хаб/нода.

Use PA BOOST PIN — включение передачи через вывод PA BOOST радиочипа.

Invert mode — включение инвертирования направления передачи данных на прием для Node (применимо при выключенной опции плана частот).

Power TX — установка мощности передачи, доступные значения: 3-14 (для России максимально разрешенное значение — 14).

Freq — установка частоты работы (диапазоны 868/433 МГц). На скриншоте указана частота 869.10 МГц, находящаяся в разрешённом для России диапазоне 868.7-869.2 МГц.

CR — степень коррекции ошибок.

SF (Spreading Factor) — фактор расширения спектра. Диапазон от 7 (максимальная скорость) по 12 (максимальное расстояние).

BW — ширина спектра сигнала (для России только 125 кГц).

Обратите внимание: частота работы, CR, SF, BW должны совпадать для взаимодействующих LoRa шлюзов и нод.

Режимы шифрования Open/ABP/OTAA

Open — передача данных без шифрования (не рекомендуется использовать).

ABP(Activation by Personalization) — поддержка шифрования со статическими ключами. Работа в режиме ABP — это наилучший компромисс между безопасностью передачи данных и удобством (простотой) работы.

OTAA(Over-The-Air Activation) — поддержка шифрования с обменом ключей (обычно не используется)

Режим «ноды»

Начинать настройку работы LoRa рекомендуется с режима Node. Здесь можно указать основные настройки сетевого взаимодействия и быстро убедиться в работоспособности подключённого LoRa модуля (правильном его подключении и исправности). При переключении в режим «Lora Node» на странице настроек появляется дополнительный раздел «Node options».

node

Здесь можно задать интервал посылки данных («Send interval»). В данном случае это 60 секунд.

Система также генерирует DevAddr (адрес устройства) и FPort («номер порта фрейма») — эти настройки должны быть одинаковыми на взаимодействующих ноде и шлюзе.

И для взаимодействия в режиме ABP на ноде и шлюзе должны быть указаны одинаковые AppSkey и NwkSkey. По умолчанию в этих полях находятся по 32 символа «F», а пользователь должен заменить их на свои уникальные 32-битные ключи (см. скриншот выше).

Передача данных в бинарном формате

На этой странице также находится ссылка «Configure binary metrics» на которой можно задать тип и количество передаваемых нодой данных.

metrics

В данном случае можно указать 16 метрик (цифровых данных), тип которых можно выбрать из выпадающего списка. В нашем примере это состояние GPIO1. Система подсказывает, что размер метрики 1 байт, а маска расшифровки для шлюза — G (GPIO).

Проверка работоспособности LoRa

После установки всех настроек внизу страницы «Lora» появляется надпись «Frame Counter» и рядом значение успешно отосланных в эфир LoRa пакетов.

send

Если значение отосланных в эфир LoRa пакетов увеличивается, то это значит LoRa модуль подключён правильно и работает исправно.

Типы бинарных данных

Ниже представлена расшифровка основные типов бинарных данных:

T — Температура, 2 байта int, значение умножено на 10 (1 знак после запятой).
H — Влажность, 2 байта uint, значение умножено на 10 (1 знак после запятой).
L — Long данные, 4 байта, например, счетчики импульсов.
С — Аналогично L.
А — АЦП или другие 16 битные данные, 2 байта.
B — Однобайтовое значение.
G — состояние GPIO.
1..9 — количество пропускаемых байт, эти данные не будут использоваться. Также данные не используются, если названия переменных указать в нижнем регистре.

Дополнительные флаги (дописываются перед основными):

R — обратный порядок байтов (старший байт первый), т. е. если принимаем температуру то пишем не просто T, а RT, если старший байт передаётся первым.
S — значение с 2 знаками после запятой.

Режим шлюза

После переключения в режим шлюза, на странице настроек LoRa появляется дополнительный раздел «Gateway options».

gateway

В этом разделе можно задать настройки взаимодействия с подключёнными нодами — сетевой адрес, время ожидания, ключи шифрования и структуру (шаблон) передаваемых данных. В данном случае шлюз поддерживает подключение до 35 нод.

options

В этом примере на шлюз передаётся только одна метрика — состояние GPIO, которое в системе автоматически именуется «lors0101», что означает «метрика №1 с LoRa ноды №1». Таким же образом в системе автоматически именуются и все прочие LoRa метрики (данные). На странице «Metrics» можно увидеть все доступные в системе метрики, в том числе и «lors0101».

metrics

Отправка команд нодам при помощи HTTP GET

Шлюз может отправлять нодам специальные управляющие команды при помощи HTTP GET, для этого используются следующие шаблоны:

[ip адрес]/lorasend?nd=Y&txt=команда — отправка текста

[ip адрес]/lorasend?nd=Y&hex=команда — отправка в виде hex строки

[ip адрес]/lorasend?nd=Y&dec=команда — отправка десятичных значений через запятую.

[ip адрес]/loraqueue — команды, находящиеся в очереди на отправку.

Параметр nd=Y задает номер ноды, которой нужно отправить команду, а сами команды могут быть в текстовом, десятичном или шестнадцатеричном виде. Команды попадают в очередь (до 4) и при выходе на связь соответствующей ноды — отправляются.

Формат команд

1 — перезагрузка модуля (1 — перезапуск модуля).
3, XX, YY YY — управление PWM (3,1,255,0 — установка 1 PWM в значение 255).
4, XX, YY YY — управление значением термостата (4,2,25,0 — установка 2 термостата в значение 25 градусов).
5, XX, YY YY — управление гистерезисом термостата (5,2,2,0 — установка гистерезиса 2 термостата в значение 2 градуса).
6, XX, YY ZZ — управление планировщиком заданий (6,1,12,30 — установка времени 12:00 на первом планировщике).
16, XX, ZZ — управление GPIO (16,3,1 — установка 3 GPIO в значение 1).
17, YY YY — установка интервала отправки Lora в формате минут (17,10,0 — установка интервала отправки в 10 минут).
18, YY YY — установка интервала отправки Lora в формате секунд (18,100,0 — установка интервала отправки в 100 секунд).
19, YY YY — установка интервала сна спящего режима в формате минут (19,10,0 — установка интервала сна в 10 минут).
20, YY YY — установка интервала сна спящего режима в формате секунд (20,100,0 — установка интервала сна в 100 секунд).
21, YY YY — управление температурой ПИД (21,26,0 — установка температуры ПИД в 26 градусов).

Управление через MQTT

Команды могут отправляться также при помощи MQTT. В этом случае топики для передачи команды ноде формируются по следующим шаблонам (десятичный и hex форматы, через запятые, где Х — номер ноды).

login/hostname/[set/]lorasenddecХ

login/hostname/[set/]lorasendhexХ

Связанные темы

Настройка опций
ModBus
MCP23008

Где купить

Купить оборудование Lavritech можно в официальном интернет-магазине.