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

LoRa FS - Работа с шаблонами

Редактирование, добавление, удаление и обновление LoRa шаблонов внутри контроллера Lavritech


Обмен данными в LoRa FS строится на использовании шаблонов (templates).
Шаблон определяет, какие параметры будут передаваться между Node и Gateway.

Есть несколько вариантов работы с шаблонами:

  • использование автоматически созданных шаблонов: генерация конфигурации на стороне Node, передача её на Gateway, использование шаблона "Локальный конфиг"
  • загрузка и выбор готового шаблона из каталога шаблонов на стороне Gateway
  • создание собственного шаблона с нуля и его использование

Выбор шаблона из списка

варианты шаблонов

При выборе шаблона доступны следующие варианты:

  • Выключено - пункт который используется для отключения приёма данных с ноды
  • Локальный конфиг - шаблон из файла вида loralocalN.lr, где N - номер выбранной ноды. Этот файл автоматически обновляется при получении конфигурации из Node.
  • шаблоны, принятые с сервера (каталог шаблонов). Поддерживаются группы шаблонов. В каталог добавляются распространённые датчики температуры и другие LoRa-устройства.
  • собственные шаблоны, созданные на основе локальных файлов из EasyFS (например, на скриншоте - показан временный шаблон "test_template")

Работа с локальным шаблоном (Node → Gateway)

Использование "локального" шаблона упрощает расшифровку данных на стороне Gateway - данные о содержимом пакета могут быть переданы на шлюз автоматически

Автозаполнение датчиков (формирование локального шаблона)

автозаполнение

На стороне Node шаблон формируется автоматически при нажатии кнопки "Автозаполнение датчиков".

  • автозаполнение датчиков позволяет заполнить часть списка метрик в автоматическом режиме
    • автозаполнение основывается на данных о подключенных устройствах. За основу берутся данные, которые видны в блоке "Sensors" на главной странице.
    • например, в список метрик попадают параметры из опрашиваемых Modbus устройств, подключенных к контроллеру. Учитываются те параметры, которые в Modbus-шаблона были описаны в секциях [sensors]. Подробнее см. описание Modbus Master FS.
  • после автозаполнения можно также вручную отредактировать список метрик и добавить другие датчики, GPIO или PWM
  • на основе списка метрик формируется конфигурация
    • итоговую конфигурацию можно просмотреть в виде "маски" по кнопке "new_mask"
    • затем эта конфигурация может быть отправлена на шлюз (через соответствующую кнопку в веб-интерфейсе) для формирования "локального" шаблона

Внимание

Автозаполнение учитывает только Sensors.
GPIO и PWM не входят в автозаполнение и должны быть добавлены в список метрик вручную через веб-интерфейс.

Отправка шаблона на шлюз

Настройте канал связи между Node и Gateway.
Допустим на Gateway работаем с Node под номером 1 в списке.

  • после формирования списка метрик на Node - нажмите "Отправить конфигурацию на шлюз".
  • Node отправит на шлюз пакет с конфигурацией

отправка конфигурации

  • на стороне Gateway появится (или обновится) локальный шаблон
    • шаблон формируется в виде файла вида loralocalN.lr, где N - номер ноды, которой он соответствует
    • содержимое файла loralocalN.lr формируется автоматически на основе переданной конфигурации
    • файл loralocalN.lr доступен для просмотра и редактирования на вкладке EasyFS

локальный файл шаблона

Контроль приёма конфигурации

В условиях помех, чтобы точно убедиться что новая конфигурация от Node была успешно принята с Gateway, можно поступить следующим образом:

  • зайти в EasyFS на шлюзе
  • удалить старый файл loralocalN.lr (N-номер ноды), или сохранить его под другим именем
  • отправить конфигурацию из веб интерфейса Node
  • подождать определённое время (в течении интервала отправки)
  • вернуться в EasyFS на шлюзе и убедиться что файл был создан заново

Либо контролировать изменения в файле loralocalN.lr вручную.

  • далее, нужно будет выбрать Локальный конфиг в списке шаблонов для ноды, чтобы применить данный автоматически сформированный шаблон

Расширение возможностей стандартных шаблонов

Как правило конфигурация для локального шаблона передаётся с ноды в компактном виде, чтобы не перегружать канал связи (LoRa не предназначена для передачи больших объёмов данных). В итоге сгенерированный локальный файл шаблона loralocalN.lr содержит необходимый минимум информации о структуре данных пакета. В большинстве случаев этого уже достаточно для приёма показаний и передачи команд, но иногда требуется больше гибкости.

Существует возможность добавить информативности в шаблон на Gateway. Для этого нужно отредактировать текст шаблона (или создать новый шаблон на основе стандартного) при помощи функционала EasyFS.

Через редактирование шаблона можно:

  • добавить уникальные названия MQTT-топиков (для Sensors)
  • указать верхнюю границу для слайдера (для PWM)
  • добавить/удалить элементы, изменить их параметры отображения и др.

Подробности рассмотрены в разделе про структуру и синтаксис LoRa-шаблонов.

Редактирование существующего шаблона

При очередной отправке конфигурации с Node - файл вида loralocalN.lr будет перезаписан!

Если вы планируется изменить конфигурацию на Node - нужно сохранить локальные правки из loralocalN.lr перед отправкой новой конфигурации с Node.

  • рекомендуется сохранять изменённый текст шаблона loralocalN.lr отдельно
    • просто скопируйте текст файла из окна редактора в EasyFS
  • можно использовать свою копию файла loralocalN.lr:
    • сохраните файл под другим именем, внесите в него правки и используйте как отдельный шаблон.

Загрузка и обновление

Функции для обновления шаблонов:

общие функции шаблонов

  • Применить локальные правки Device list - если были локальные изменения в файлах шаблонов, нужно будет их применить перед использованием.
  • Загрузить Device list с сервера - применяется для загрузки новых версии шаблонов с сервера обновлений lavritech в EasyFS.

Редактирование (Работа с EasyFS)

Для продвинутой настройки реализована возможность редактировать файлы шаблонов напрямую через веб-интерфейс. Редактирование шаблонов, а также создание новых шаблонов осуществляется через вкладку EasyFS (эта опция также используется для редактирования Modbus-шаблонов).

easyfs

  • .lr — файлы с этим расширением являются LoRa-шаблонами
    • пример - loralocal1.lr локальный шаблон для ноды под номером 1

Содержимое списков, которые видит пользователь в меню выбора шаблонов формируется на основе двух файлов:

  • lora.gr — список групп шаблонов (LoRa group).
  • lora.list — список шаблонов с привязкой к группам и версиям

Файлы доступны для локального редактирования - это удобно если нужно использовать свои уникальные шаблоны на Gateway-контроллере. Но стоит учесть, что они обновляются при загрузке с сервера (локальные правки в этом случае будут заменены на оригинальные списки с сервера).

Редактирование шаблонов выполняется через окно в веб-интерфейсе:

  • найдите нужный .lr файл
  • нажмите Edit
  • отредактируйте маску в секции [sensors] или добавьте новые параметры вручную
  • сохраните изменения
  • если был создан новый шаблон, или изменена версия - сделайте также необходимые изменения в файлах lora.list и lora.gr
  • для применения новых изменений в настройках Lora нажмите кнопку "Применить локальные правки Device list"

Обновление шаблонов и локальные правки

При выполнении обновления шаблонов с сервера, или передачи шаблона от Node к Gateway происходит перезапись части файлов. Есть риск потерять локальные правки в соответствущих файлах, если они были сделаны до этого.

Рекомендуется использовать копии. Перед внесением изменений в стандартный шаблон рекомендуется создавать его копию под другими именами и использовать её. Также при таком подходе сохраняется возможность легко перейти на старую версию.

Также рекомендуется сохранять тексты шаблонов отдельно, чтобы можно было их быстро восстановить или переносить между устройствами.

Ручное редактирование

Ошибки в тексте или структуре файлов (.lr,lora.list, lora.gr) могут привести к невозможности загрузки шаблонов.
Используйте автозаполнение на Node как основу, а правку выполняйте только при необходимости (например, добавление названий MQTT-топиков или указания диапазона для слайдеров).

Применение

После выбора шаблона и приёма пакетов от Node:

  • появляется возможность распознавания данных в принятых пакетах, а также отправки команд управления к Node через обратный канал связи (Downlink-сообщение)
  • согласно конфигурации, описанной в шаблоне LoRa-устройство интегрируется в систему контроллера
  • формируются связи на уровне системных параметров: параметры c LoRa Node связываются Sensors, GPIO, PWM на стороне Gateway (подробнее см. раздел "Модель данных")
  • значения из Sensors транслируются в блок на главной странице
  • GPIO и PWM становятся доступны для чтения и управления
  • привязанные параметры (метрики Node) становятся доступны для записи и чтения через другие опции (если они активны) - например MQTT или Modbus Slave.

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