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

Инструкция по подключению контроллеров Lavritech к платформе Rightech через MQTT

Обзор

Данная инструкция описывает пошаговый процесс подключения контроллеров Lavritech к платформе Rightech через протокол MQTT на основе успешного опыта подключения.

Шаг 1: Определение client_id устройства

Формат client_id

Контроллер автоматически генерирует client_id в следующем формате:

LT-XXXXXX

где XXXXXX — это последние 3 байта MAC-адреса WiFi модуля контроллера Lavritech, записанные в шестнадцатеричном формате без двоеточий.

Важно: - client_id всегда генерируется контроллером автоматически - Пользователь не может изменить client_id - Изменение Host name или имени контроллера не влияет на client_id

Как узнать MAC-адреса WiFi вашего устройства

Для определения MAC-адреса WiFi вашего контроллера Lavritech необходимо посмотреть MAC-адрес WiFi модуля на странице debug контроллера.

Просмотр MAC-адреса на странице debug контроллера

После того, как вы узнали MAC-адрес, сформируйте client_id следующим образом: - Возьмите последние 3 байта MAC-адреса - Запишите их в шестнадцатеричном формате без двоеточий - Добавьте префикс LT-

Пример: - MAC-адрес со страницы debug: 24:6F:28:AB:CD:EF - Последние 3 байта: AB:CD:EF - В hex без двоеточий: ABCDEF - Результирующий client_id: LT-ABCDEF

Шаг 2: Регистрация на платформе Rightech

  1. Перейдите на сайт rightech.io
  2. Зарегистрируйте новый аккаунт
  3. Войдите в систему

⚠️ Ограничения бесплатного тарифа

На бесплатном тарифе платформы Rightech действует ограничение на количество MQTT сообщений: - Лимит: 14 000 сообщений в месяц - Мониторинг: Текущее использование можно посмотреть в разделе "Статистика" (Statistics) вашего аккаунта

Рекомендуется периодически проверять статистику использования, чтобы не превысить лимит.

Шаг 3: Создание объекта устройства в Rightech

  1. Зайдите в раздел "Objects" (Объекты) платформы Rightech
  2. Нажмите "Create Object" (Создать объект) или "Добавить объект"
  3. Выберите модель MQTT
  4. ВАЖНО: В поле "Identifier" (Идентификатор) укажите точно такой же client_id, который вы определили на шаге 1

Указание идентификатора в объекте на платформе Rightech

  • Например: LT-ABCDEF (формат генерируется контроллером автоматически)

Имя контроллера (Host name), используемое в MQTT-топиках, не совпадает и не должно совпадать с client_id. Это нормальное штатное поведение. 5. Сохраните объект

Шаг 4: Настройка MQTT в контроллере Lavritech

Параметры MQTT брокера Rightech

Платформа Rightech предоставляет следующие параметры подключения:

  • Протокол: MQTT
  • MQTT / TCP: dev.rightech.io:1883

Пример настроек MQTT для контроллера Lavritech

Пример настроек MQTT для контроллера Lavritech

Важные моменты при подключении:

  1. client_id должен точно совпадать с идентификатором объекта в Rightech
  2. Адрес брокера: dev.rightech.io
  3. Порт: 1883
  4. Username и Password: Поля Username и Password могут быть как пустыми, так и заполненными, в зависимости от требований MQTT-сервера. Контроллер Lavritech корректно работает в обоих вариантах.

Шаг 5: Настройка моделей и топиков в Rightech

Пример настройки топиков MQTT в Rightech

Загрузка готовой модели через JSON

Для быстрой настройки метрик можно загрузить готовый JSON-файл модели. Вот пожалуйста, так можно вставить метрики. Подробнее описано у производителя в документации Rightech.

  1. В созданном объекте перейдите в раздел "Models" (Модели)
  2. Нажмите на кнопку загрузки/импорта модели
  3. Загрузите готовый JSON-файл модели

Пример редактирования модели через JSON

Пример JSON-модели для загрузки:

{
  "id": "root",
  "name": "MQTT",
  "active": true,
  "type": "subsystem",
  "children": [
    {
      "id": "params",
      "name": "Params",
      "active": true,
      "type": "subsystem",
      "children": [
        {
          "id": "sensor1",
          "name": "Sensor 1",
          "active": true,
          "type": "subsystem",
          "children": [
            {
              "id": "temperature1",
              "name": "Temperature",
              "active": true,
              "type": "argument",
              "source": "state",
              "dataType": "number",
              "unit": "temperature-celsius",
              "reference": "/Lora_cond_T/temp",
              "display": {},
              "factor": 1,
              "linear": true,
              "children": []
            },
            {
              "id": "humidity1",
              "name": "Humidity",
              "active": true,
              "type": "argument",
              "source": "state",
              "dataType": "number",
              "unit": "percent",
              "reference": "/Lora_cond_T/hum",
              "display": {},
              "factor": 1,
              "linear": true,
              "children": []
            },
            {
              "id": "dsw1",
              "name": "DSW1",
              "active": true,
              "type": "argument",
              "source": "state",
              "dataType": "number",
              "reference": "/Lora_cond_T/dsw1",
              "display": {},
              "factor": 1,
              "linear": true,
              "children": []
            }
          ]
        }
      ]
    }
  ],
  "base": "mqtt"
}

Важно: В примере выше замените Lora_cond_T на имя вашего контроллера (Host name), если оно отличается. Полный пример JSON-модели доступен в файле model_rightech.json в корне проекта.

Настройка параметров отображения вручную

Если вы предпочитаете настраивать модели вручную:

  1. В созданном объекте перейдите в раздел "Models" (Модели)
  2. Для каждого параметра, который вы хотите отображать, создайте соответствующую модель
  3. В настройках модели укажите параметры отображения (название, единицы измерения, тип данных и т.д.)

Настройка источника данных

Контроллер Lavritech публикует данные в MQTT в формате:

<имя_контроллера>/<метрика>

В поле "Источник данных" (Data Source) необходимо указать путь к топику в том же формате:

Пример:

Lora_cond_T/dsw1

Где: - Lora_cond_T — имя контроллера (Host name) - dsw1 — название метрики (топика)

Важно: client_id используется только для идентификации MQTT-клиента на сервере и не участвует в формировании MQTT-топиков. Имя контроллера используется исключительно как префикс топиков и может быть любым.

Шаг 6: Проверка подключения

  1. Настройте контроллер Lavritech
  2. Проверка состояния подключения выполняется в веб-интерфейсе контроллера: Main → Servers → MQTT

Убедитесь, что: - WiFi подключен - MQTT подключен к брокеру 3. В платформе Rightech: - Откройте созданный объект - Перейдите в раздел "Logs" (Журнал) или "Data" (Данные) - Убедитесь, что данные от устройства поступают 4. Проверьте отображение данных в моделях

Проверка получения данных платформой

После успешного подключения контроллера к MQTT брокеру и настройки моделей необходимо убедиться, что платформа Rightech получает данные:

  1. Проверка статуса объекта:
  2. В списке объектов платформы Rightech найдите ваш объект
  3. Около значка объекта статус должен измениться на зеленый (онлайн)
  4. Зеленый статус означает, что устройство подключено и передает данные

  5. Проверка отображения данных:

  6. Откройте созданный объект
  7. Перейдите в раздел "Models" (Модели) или "Data" (Данные)
  8. Убедитесь, что данные отображаются в реальном времени
  9. Значения параметров (источники которых прописаны в модели) должны обновляться и отображаться

Проверка получения данных платформой

Важно: Если статус объекта остается серым или данные не отображаются, проверьте: - Правильность client_id в настройках контроллера и на платформе - Корректность настроек MQTT брокера - Соответствие топиков в модели и на контроллере

Частые проблемы и решения

Проблема 1: Устройство не подключается к MQTT брокеру

Решение: - Проверьте, что client_id точно совпадает с идентификатором объекта в Rightech - Проверьте подключение к интернету

Проблема 2: Данные не отображаются в платформе

Решение: - Проверьте правильность формата пути в "Источник данных": <имя_контроллера>/<метрика> - Убедитесь, что имя контроллера и метрика в настройках контроллера Lavritech совпадают с настройками в Rightech - Проверьте, что данные действительно публикуются (можно использовать MQTT клиент для мониторинга)

Резюме ключевых моментов

client_id формируется контроллером Lavritech автоматически как LT- + последние 3 байта MAC-адреса WiFi без двоеточий
✅ Пользователь не может изменить client_id
✅ Имя контроллера (Host name) не совпадает с client_id и используется только для формирования топиков
✅ На платформе Rightech в поле "Identifier" указывается точно такой же client_id
✅ MQTT брокер: dev.rightech.io:1883
✅ В моделях прописываются параметры отображаемых топиков
✅ В "Источник данных" указывается: <имя_контроллера>/<метрика>
⚠️ Ограничение бесплатного тарифа: 14 000 MQTT сообщений в месяц (можно проверить в разделе "Статистика")

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