LoRaWAN: различия между версиями

3055 байт добавлено ,  1 месяц назад
много дополнений
(много дополнений)
Строка 27: Строка 27:
# Заполнить графы  
# Заполнить графы  
#*DevAddr - адрес устройства  
#*DevAddr - адрес устройства  
#*TimeOut - оставить по умолчанию 65535 сек
#*TimeOut - оставить по умолчанию 65535 секунд (если за это время шлюз не получал данных от оконечного устройства - выводится сообщение об ошибке)
#*AppSkey - сессионный ключ
#*AppSkey - сессионный ключ
#*NwkSkey - сетевой сессионный ключ
#*NwkSkey - сетевой сессионный ключ
#*Data structure - здесь нужно описать структуру получаемого сообщения, можно найти в документации на оконечного устройства
#*Data structure - здесь нужно описать структуру получаемого сообщения, можно найти в документации на оконечного устройства
Ниже представлена расшифровка основные типов бинарных данных, для заполнения поля Data structure:
Ниже представлена расшифровка основные типов бинарных данных из документации на Lavritech L1 Lite, для заполнения поля Data structure:
 
*T — Температура, 2 байта int, значение умножено на 10 (1 знак после запятой).
*T — Температура, 2 байта int, значение умножено на 10 (1 знак после запятой).
*H — Влажность, 2 байта uint, значение умножено на 10 (1 знак после запятой).
*H — Влажность, 2 байта uint, значение умножено на 10 (1 знак после запятой).
Строка 46: Строка 45:
*R — обратный порядок байтов (старший байт первый), т. е. если принимаем температуру то пишем не просто T, а RT, если старший байт передаётся первым.
*R — обратный порядок байтов (старший байт первый), т. е. если принимаем температуру то пишем не просто T, а RT, если старший байт передаётся первым.
*S — значение с 2 знаками после запятой.
*S — значение с 2 знаками после запятой.
Пример: Подключаемо оконечное устройство - датчик температуры Вега ТД-11, находим таблицу "Пакет с текущими показаниями"
====Пример подключения оконечного устройства к шлюзу LoRaWAN====
Подключаемо оконечное устройство - датчик температуры Вега ТД-11.
DevAddr, AppSkey, NwkSkey этого устройства указаны в паспорте устройства,  а так же их можно считать или сгенерировать новые в ПО Vega LoRaWAN Configurator, при подключении датчика к ПК.


Для заполнения графы Data structure, находим таблицу "Пакет с текущими показаниями"
[[Image: Vega td11 register map.png |600px|center|]]
[[Image: Vega td11 register map.png |600px|center|]]
из документации на Lavritech L1 Lite
Типы бинарных данных
Соответственно наша запись в поле Data structure будет такая : "BBBLTBBBB"  
Соответственно наша запись в поле Data structure будет такая : "BBBLTBBBB"  
Где  
Где  
Строка 80: Строка 76:
*2 Registr : 2 Lora Num: 1-5 (Температура в °C, умноженная на 10)
*2 Registr : 2 Lora Num: 1-5 (Температура в °C, умноженная на 10)
=== Подключение контроллера Lavritech L1 Lite к контроллеру WB по шине RS-485 ModBus ===
=== Подключение контроллера Lavritech L1 Lite к контроллеру WB по шине RS-485 ModBus ===
#Подключите устройство к шине RS-485 с соблюдением распиновки, указанной на Lavritech L1 Lite. A-A, B-B.  
*Подключите устройство к шине RS-485 с соблюдением распиновки, указанной на Lavritech L1 Lite. A-A, B-B.
 
*Считать данный со шлюза можно создав устройство [[RS-485:Configuration via Web Interface#Устройство без шаблона | веб интерфейс]] или [[Connecting Third Party Devices to Wiren Board#Создание шаблона | создав шаблон]]
Считать данный со шлюза можно создав устройство [[RS-485:Configuration via Web Interface#Устройство без шаблона | Веб интерфейс]] или создав шаблон
==== Пример без шаблона ====
==== Пример без шаблона ====
#Открыть web интерфейс контроллера WB-Настройки-Конфигурационные файлы-Настройка драйвера serial-устройств(необходимы права Администратора) - Добавить устройство
#Открыть web интерфейс контроллера WB-Настройки-Конфигурационные файлы-Настройка драйвера serial-устройств(необходимы права Администратора) - Добавить устройство
Строка 144: Строка 139:
}
}
</syntaxhighlight>
</syntaxhighlight>
== Передача показаний от шлюза в контроллер WB по MQTT==
Для передачи данных от шлюза к контроллеру WB можно вместо ModBus использовать MQTT
Для этого контроллер Lavritech L1 Lite должен иметь сетевой доступ к контроллеру WB (обычно используется при использовании обоих котроллеров в одной локальной сети)
#В настройках Lavritech L1 Lite перейти к настройке публикаций сообщений в брокер MQTT установленный на WB Config:Servers.
#Включить функцию Enable send MQTT.
#Ввести ip адрес, порт, логин и пароль от MQTT брокера установленного на WB (по умолчанию порт 18883, логин и пароль отсутствуют).
#Нажать SET, через несколько секунд в первой строчке должно быть сообщение "OK", если подключение прошло успешно.
#Данные от шлюза теперь публикуются в MQTT брокере контроллера WB (для удобства просмотра можно использовать [Программа для работы с MQTT MQTT Explorer]).
#Для получения данных в web-интерфейсе WB необходимо создать виртуальное устройство и связать его каналы с топиком в MQTT брокере с помощью [[Движок правил wb-rules | правила wb-rules]]
====Пример с датчиком Вега ТД-11====
<syntaxhighlight lang="json">
// тут надо доделать шаблон
defineVirtualDevice('lora-device', {
    title: 'lorawanDT11_wbrules' ,
    cells: {
      rssi: {
        title: "rssi",
        type: "value",
        value: "0",
        units:"dB"
       
      }
    }
});
trackMqtt("/Lavritech_L1/rssi", function(message) {
  dev["lora-device/rssi"]=Number(message.value);
});
</syntaxhighlight>
В web-интерфейсе WB на панели Устройства теперь существует наш датчик температуры.
wb_editors
131

правка