Jump to content

Использование контроллера Lavritech L1 в качестве LoRaWAN шлюза с контроллером Wiren Board

From Wiren Board
This is the approved revision of this page, as well as being the most recent.

Общая информация

LoRaWAN — это беспроводная технология передачи данных с дальностью действия до 15 км. Используется в домашней и коммерческой автоматизации.

На физическом уровне основана на методе модуляции LoRa (ЛоРа) и разработана специально для использования в интернете вещей (IoT).

Описание

Lavritech L1 Lite

Для использования LoRaWAN-устройств с контроллером Wiren Board понадобится контроллер в исполнении Lavritech L1 Lite Lora Wan + Ethernet, который будет выступать в качестве LoRaWAN шлюза. Для использования протокола ModBus RTU для связи шлюза и контроллера Wiren Board необходима прошивка LoRaWAN шлюз ModBus RTU slave MQTT. Выбирается на сайте производителя при заказе устройства.

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

Настройка контроллера Lavritech L1 Lite в качестве LoRaWAN шлюза

Подключение к веб-интерфейсу контроллера Lavritech L1 Lite

  1. На контроллере нажмите и удерживайте кнопку «SAFE» и затем нажмите кнопку «RESET», так контроллер перейдёт в режим точки доступа WiFi, на устройстве с WiFi модемом найдите и подключитесь к открытой WiFi сети «Lavritech_L1», веб-интерфейс будет доступен по ip адресу 192.168.4.1
  2. Так же возможно проводное ethernet подключение, Lavritech_L1 получит ip адрес от вашего DHCP-сервера и веб-интерфейс будет доступен по его ip адресу.

Инструкция производителя

Настройка котроллера Lavritech L1 Lite в режим шлюза LoRaWAN

  1. В веб-интерфейсе перейдите в Config:LoRa
  2. В первой строке выберите Lora Gateway
  3. Во второй строке выберите ABP

Инструкция производителя

Подключение оконечных устройств в LoRaWAN шлюз по ABP

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

  1. В веб-интерфейсе Lavritech L1 Lite перейдите в Lora-Nodes option, выберите из номеров Node (каждый номер соответствует подключенному оконечному устройству)
  2. Заполните графы:
    • DevAddr — адрес устройства.
    • TimeOut — оставьте по умолчанию 65535 секунд (если за это время шлюз не получал данных от оконечного устройства — выводится сообщение об ошибке).
    • AppSkey — сессионный ключ.
    • NwkSkey — сетевой сессионный ключ.
    • Data structure — здесь опишите структуру получаемого сообщения, можно найти в документации на оконечное устройство.

Ниже представлена расшифровка основных типов бинарных данных из документации на Lavritech L1 Lite, для заполнения поля Data structure:

  • 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 знаками после запятой.

Пример подключения оконечного устройства к шлюзу LoRaWAN

Вега ТД-11

Подключаем оконечное устройство — датчик температуры Вега ТД-11.

DevAddr, AppSkey, NwkSkey этого устройства указаны в паспорте устройства, а также их можно считать или сгенерировать новые в ПО Vega LoRaWAN Configurator при подключении датчика к ПК.

Для заполнения графы Data structure, в инструкции на датчик, находим таблицу Пакет с текущими показаниями:

Соответственно наша запись в поле Data structure будет такая : BBBLTBBBB

Показания в меню

Где:

  1. B — Тип пакета.
  2. B — Заряд батареи в %.
  3. B — Превышение лимитов ("0" - нет превышения, "1" - есть превышение).
  4. L — Время снятия показаний, передаваемых в данном пакете (unixtime UTC).
  5. T — Температура в °C, умноженная на 10.
  6. B — Нижний температурный лимит.
  7. B — Верхний температурный лимит.
  8. B — Причина передачи пакета.
  9. B — Состояние входов (битовое поле).

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

Передача показаний от шлюза в контроллер Wiren Board по ModBus RTU

Настройка ModBus slave на контроллере Lavritech L1 Lite

Открыть Config: ModBus_slave-Config RTU

  1. Address — ModBus адрес контроллера Lavritech L1 Lite
  2. Speed RS485 — Скорость обмена на шине

Привязка данных полученных от шлюза к регистрам ModBus RTU

Config ModBus Slave (RTU)

В настойках шлюза выбираем ModBus_slave, здесь происходит привязка полученных данных к регистрам ModBus RTU, которые будут доступны для чтения.

  1. Регистр — по этому адресу будет доступны данные при запросе Modbus RTU командой чтения Input registrer(0x04).
  2. Далее выбор источника данных — Lora.
  3. Привязка регистров Num: A-B, где A — номер ноды, B — регистр ноды.

В соответствии с нашим примером установим:

  • 1 Registr : 0 Lora Num: 1-2 (Заряд батареи в %).
  • 2 Registr : 2 Lora Num: 1-5 (Температура в °C, умноженная на 10).

Подключение контроллера Lavritech L1 Lite к контроллеру Wiren Board по шине RS-485 ModBus RTU

Настройка канала батареи
Настройка канала температуры
Результат
  • Подключите устройство к шине RS-485 с соблюдением распиновки, указанной на Lavritech L1 Lite.
  • Считать данные со шлюза можно создав устройство через веб интерфейс или создав шаблон

Пример без шаблона

  1. Открыть веб-интерфейс контроллера Wiren Board Настройки — Конфигурационные файлы — Настройка драйвера serial — устройств(необходимы права Администратора) — Добавить устройство
  2. Порт — RS485-1 или RS485-2, в соответствии к какой шине подключен шлюз, тип устройства — Произвольные устройства - Устройство с протоколом Modbus. Нажать Добавить устройство.
  1. Адрес устройства — адрес контроллера Lavritech L1 Lite
  2. Свойства — название устройства, ввести название устройства Температура на улице
  3. Нажатием +канал создаём канал устройства:
    • Имя — Заряд батареи.
  4. Заполняем поля:
    • Тип — range.
    • Тип регистра — input.
    • Адрес (десятичное значение) — 0.
  5. Нажатием "+канал" создаём ещё один канал устройства.
  6. Заполняем поля.
    • Имя — Температура.
    • Тип — temperature.
    • Тип регистра — input.
    • Адрес (десятичное значение) — 2.
    • Множитель — 0.1
  7. Нажать — Сохранить настройки.
  8. В веб-интерфейсе Wiren Board выбрать Устройства, увидеть устройство Температура на улице с полями Заряд батареи и Температура.

Пример с созданием шаблона

Для удобства использования и редактирования можно создать шаблон по инструкции. Пример шаблона:

{
    "device_type": "lora_temperature_sensor",
    "title": "LoRa Temperature Sensor",
    "group": "g-climate-sensor",
    "device": {
        "name": "LoRa Temperature Sensor",
        "id": "lora_temperature_sensor",
        "channels": [
            {
                "name": "Battery Charge",
                "reg_type": "input",
                "address": 0,
                "type": "range",
                "format": "u16"
            },
            {
                "name": "Temperature",
                "reg_type": "input",
                "address": 2,
                "type": "value",
                "units": "deg C",
                "format": "u16",
                "scale": 0.1
            }
        ],
        "translations": {
            "ru": {
                "LoRa Temperature Sensor": "LoRa датчик температуры",
                "Battery Charge": "Заряд батареи",
                "Temperature": "Температура"
            }
        }
    }
}

Передача показаний от шлюза в контроллер Wiren Board по MQTT

Для передачи данных от шлюза к контроллеру Wiren Board можно вместо ModBus RTU использовать MQTT Для этого контроллер Lavritech L1 Lite должен иметь сетевой доступ к контроллеру Wiren Board (обычно используется при использовании обоих котроллеров в одной локальной сети)

  1. В настройках Lavritech L1 Lite перейти к настройке публикаций сообщений в брокер MQTT установленный на Wiren Board Config:Servers.
  2. Включить функцию Enable send MQTT.
  3. Ввести ip адрес, порт, логин и пароль от MQTT брокера установленного на Wiren Board (по умолчанию порт 18883, логин и пароль отсутствуют).
  4. Нажать SET, через несколько секунд в первой строчке должно быть сообщение OK, если подключение прошло успешно.
  5. Данные от шлюза теперь публикуются в MQTT брокере контроллера Wiren Board (для удобства просмотра можно использовать MQTT Explorer).
  6. Для получения данных в веб-интерфейсе Wiren Board необходимо создать виртуальное устройство и связать его каналы с топиком в MQTT брокере с помощью правила wb-rules

Пример правила с датчиком Вега ТД-11

defineVirtualDevice('lora-device', {
    title: 'Vega DT11' ,
    cells: {
      temperature: {
        title: "Temperature",
        type: "value",
        value: "0",
        units:"deg C",
        scale:0.1
        
      },
      battery:{
        title: "Battery",
        type: "range",
        value: "0",
        readonly:true
      }
    }
});

trackMqtt("/Lavritech_L1/lors0102", function(message) {
  dev["lora-device/battery"]=Number(message.value);
});
trackMqtt("/Lavritech_L1/lors0105", function(message) {
  dev["lora-device/temperature"]=Number(message.value);
});

Полезные ссылки

Поддерживаемые контроллером Wiren Board системы верхнего уровня, приложения, способы программирования, протоколы и устройства
Протоколы
Опрос датчиков и работа с устройствами (в базовой комплектации) 1-Wire • DLMS/COSEM • Modbus RTU/TCP Master • ГОСТ МЭК 61107 • СПОДЭС (ГОСТ Р 58940-2020)
Опрос датчиков и работа с устройствами (с помощью модулей расширения) KNX • eBUS • OpenTherm • Z-Wave • Zigbee
Опрос контроллера из систем верхнего уровня и с других устройств KNX • Modbus RTU/TCP Slave • MQTT • OPC UA • SNMP • Zabbix • МЭК 104 • SmartWeb (Гидролого)
Через шлюзы DALI • LoRaWAN
Системы верхнего уровня
Системы мониторинга и SCADA Grafana • Home Assistant • IntraHouse • IntraSCADA • Sprut.hub • MasterSCADA • Nagios • SimpLight SCADA • Rapid SCADA • SAYMON • Zabbix • iRidium Server • AggreGate • ТМИУС КП • Мажордом • SCADA WebDisCo • SCADA FUXA
Передача показаний счетчиков Ватериус
Приложения
Управление с телефона MQTT Dash • iRidium • Home Assistant • Apple Home • Дом с Алисой • Салют! Умный дом • Мажордом
Голосовые помощники Siri • Салют • Алиса
Способы программирования
Визуальное программирование Node-RED
Упрощённый текстовый движок правил wb-rules
Сценарии автоматизации без программирования wb-scenarios
Стандартное программирование Python • C++ • Go • Node.js
Языки программирования ПЛК
FBD, ST, LD, SFC (МЭК 61131-3) MasterPLC • ISaGRAF • CODESYS • Maximum Automation Soft Controller • KLogic
Протестированные устройства сторонних производителей
Адаптеры протоколов ECODim DALI GW2 • Arlight DALI-LOGIC-LITE-PS-x1 • Lavritech L1 Lite LoRaWAN • Шлюз БРШС-РК-485 (РИЭЛТА)
Аудиоресиверы сетевые URRI A1 • Skirell-Sound
Датчики климата DS18B20 и клоны • Kvadro 1WIRE-RS485 • Wellpro WP3066ADAM • Даджет MT8057/MT8057S • РД MSU21 • РД MSU24 • РД MSU34+TLP • РД MSU34+THLP • Эксис ИВТМ-7 М 3
Датчики присутствия MTDХ62-MB (MTD062-MB, MTD262-MB)
Датчики уровня ЭСКОРТ ДБ-2
Универсальные датчики TESLiOT (BLE)
Диммеры DALI • Philio PAD07-RU • Uniel UCH-M131RC/0808 • Uniel UCH-M141RC/0808 • РД DDL04R • РД DDL24 • РД DDM845R • Demid.Net
Домофоны Домофоны координатного типа: VIZIT (ВИЗИТ), Элтис, Цифрал, Техком, Метаком, Beward и др.
Источники питания и ИБП MEAN WELL DRS Series
Кондиционеры

Haier YCJ-A002 • Z-Wave ИК-передатчик PAR01-RU • Hisense (ONOKOM-AIR-HS-3-MB-B, ONOKOM-AIR-HS-5-MB-B, ONOKOM-AIR-HS-6-MB-B) • Daikin (ONOKOM-AIR-DK-1-MB-B, ONOKOM-AIR-DK-5-MB-B) • Mitsubishi Electric (ONOKOM-AIR-ME-1-MB-B) • Mitsubishi Heavy (ONOKOM-AIR-MH-2-MB-B) • AUX (ONOKOM-AIR-AUX-1-MB-B) • GREE (ONOKOM-AIR-GR-1-MB-B, ONOKOM-AIR-GR-3-MB-B, ONOKOM-AIR-GR-5-MB-B) • MDV (ONOKOM-AIR-MD-1-MB-B, ONOKOM-AIR-MD-3-MB-B) • VRF (ONOKOM-AIR-MD-VRF-MB-B, ONOKOM-AIR-AUX-VRF-MB-B, ONOKOM-AIR-CG-VRF-MB-B, ONOKOM-AIR-HS-VRF-MB-B) • TCL (ONOKOM-AIR-TCL-1-MB-B, ONOKOM-AIR-TCL-3-MB-B, ONOKOM-AIR-TCL-6-MB-B) • Hitachi (ONOKOM-AIR-HT-1-MB-B) • TOSHIBA (ONOKOM-AIR-TB-1-MB-B) • Haier (ONOKOM-AIR-HR-1-MB-B)

Рекуператоры / вентиляция VAKIO City Air 250/500 • Komfovent • Breezart Lux / Aqua • VENTMACHINE Colibri 650 GTC • TION (ONOKOM-AIR-TN-1-MB-B)
Контроллеры вентиляции и климата Тепломаш КЭВ-БЛОК-МК • Drivent V2
Контроллеры холодильного оборудования Carel BASIC(PYEZ)/EASY(PJEZ) • Danfoss EKC 204A1/AK-CC 210 • Danfoss EKC 202B • Danfoss EKC 202D • Danfoss ERC 211/ERC 213/ERC 214 • Eliwell IDPlus 974
Метеостанции Сокол-М
Модули ввода-вывода Wellpro WP8026ADAM • Wellpro WP8027ADAM • Wellpro WP8028ADAM • Wellpro WP9038ADAM
Модули реле РД DRB88 • Rubetek TZ78 • ICP DAS tM-P3R3 • ICP DAS LC-103 • Uniel UCH-M111RX/0808 • Uniel UCH-M121RX/0808
Моторы для штор/Электрокарнизы Akko AM82 • Dooya DM35EQ • Dooya DT82 • WinDeco • Somfy SDN (Sonesse и Glydea Series) • SunFlower KT82TV • Somfy RS485 RTS transmitter • Беспроводные Dooya/Somfy • Dauerhaft CM5 • Dauerhaft Roll 35/45 • Dauerhaft PRO RS • A-OK AM68 (LM100) • A-OK AM35
Панели управления Cityron ПУ-3 (Modbus) • Sonoff NSPanel (fw NXPanel) • EKF PRO-Screen • Skirell Panel
Системы защиты от протечек KAPLESTOP • Ensystec Leak Protect
Считыватели карт (для СКУД) Wiegand
Счётчики воды Пульсар • Пульсар-М • Счётчики с импульсным выходом
Счётчики тепла Пульсар
Счётчики электроэнергии CSQ PD561Z-9SY • Peacefair PZEM-016 • Eastron SDM120M • Eastron SDM220M • Меркурий 200 • Меркурий 201 • Меркурий 203.2T • Меркурий 206 • Меркурий 230 • Меркурий 231 • Меркурий 234 • Меркурий 236 • Милур 104 • Милур 105 • Милур 107 • Милур 305 • Милур 307 • Нева МТ 113 • Нева МТ 123 • Нева МТ 124 • Нева МТ 323 • Нева МТ 324 • Энергомера CE301 • Энергомера CE102M • Энергомера CE303 • Энергомера CE308 • Милур 107S
Термостаты BAC-002ALN • BAC-6000ALN • BAC-6000ELNW • BHT-6000 Series • BHT-006 Series • Heatit Z-TEMP2 • Siemens RDF302 • Ridan Greencon-R • Welrok az • ENGO EFAN
Управление двигателями (преобразователи частоты) Vacon/Danfoss 10 • Danfoss VLT Microdrive FC51 • T13-400W-12-H/T13-750W-12-H
Управление шаговыми двигателями Овен (Meyertec) MST-24 • Rtelligent NT60
Прочее Tasmota • ESPHome • ОВЕН СМИ2-М
Устройства с аналоговым или цифровым выходом
Низковольтная нагрузка Реле с управляющим напряжением 12…24 В • Светодиоды • Низковольтные вентиляторы • Низковольтные сигнальные лампы
Датчики с аналоговым выходом Датчики температуры, давления и другие, имеющие на выходе ток или напряжение
Счётчики с импульсным выходом Счётчики электроэнергии, воды, тепла и другие с импульсным выходом
Устройства с выходом «открытый коллектор» Устройства с выходом «открытый коллектор»
Устройства с питанием 220 В Лампы • Контакторы и другое оборудование с питанием от 220 В

Поддерживаемые , но непроверенные в лаборатории Wiren Board устройства сторонних производителей (шаблоны от сообщества)
Опрос датчиков и работа с устройствами (в базовой комплектации) DMX-512
Адаптеры протоколов HDL KNX-DALI Gateway M/DALI.1
Датчики климата RLDA NL-3DPAS-M • RLDA NL-1S111 • Рэлсиб ДВТ-05 • XY-MD03/XY-MD04
Датчики расстояния WitMotion WT53R-485
Диммеры РД DDL84R-V
Источники питания и ИБП ИБП Импульс Мультиплекс
Конвекторы Varmann QTherm
Рекуператоры / вентиляция Рекуператор VAKIO Base Smart • ПВУ Royal Clima Soffio Primo RCS-350-P • Royal Clima VENTO • Systemair Corrigo • Приточный клапан Vakio OpenAir
Метеостанции Netatmo Urban Weather Station
Коллекторы датчиков R4DCB08
Контроллеры вентиляции и климата Mautomatics JL204C5 (Breezart 550 Lux) • GTC (General Thermo Controllers) Syberia 5.0 • SystemAir VR 300 • Royal Clima MACS-RC-420MB • Turkov Zenit HECO 550E • Zentec Z031
Контроллеры ДГУ SDMO APM303
Модули реле R4D3C32
Преобразователи частоты ERMAN ER-G-220-02 • ERMAN ER-G-220-03
Счётчики воды Элехант СВД-15 • Элехант СВД-20
Счётчики электроэнергии Меркурий 204 • Меркурий 208 • Меркурий 238 • ABB SCU100 • Waviot Фобос 3T
Счетчики тепла ВИС.Т2-ТС • Тепловычислитель ТМК-Н
Термостаты Hessway
Увлажнители CAREL Humisonic • Xiaomi Humidifier
Прочее DIY • Shelly UNI • Renke RS-LDO-N01-2