Спецификация MQTT

Спецификация MQTT Внешний JSON #

Данные передаются по MQTT в формате JSON с внешних устройств и систем.

Авторизация #

Допустима авторизация по токену (MQTT в спецификации версии 5.0) и классическая пара логин пароль(MQTT в спецификации версии 3.1 и 3.1.1). В этом случае логин и пароль имеют единое значение равное access token из платформы..

Параметры подключения для ТИМ–Фактор: #

  • host: mqtt.tim-f.ru
  • port: 1883

Указание топика для чтения/записи – обязательно.

Для отладки и взаимодействия с MQTT на время разработки рекомендуем к использованию удобный клиент  http://mqtt-explorer.com.

Формат данных #

Каждый пакет данных состоит из двух объектов: metrics и meta. Один пакет может содержать один или несколько объектов в массиве data с разными для каждого объекта metrics и meta. Иными словами, вы можете отправить данные из одного и более источника одним пакетом.

Объект meta #

  • meta - содержит метаинформацию для определения источника данных, версий устройств, временной метки для метрик и прочих деталей.
    • ts - временная метка, timestamp с миллисекундами. Отражает время, единое для всех атрибутов объекта metrics
    • source - свободная текстовая строка, характеризующая источник сбора информации. Например "source": "controller M211SF"

Объект metrics #

  • metrics - содержит непосредственно метрики. Каждый атрибут имеет уникальное имя и однозначно указывает на характер передаваемых данных.
    • some_atribute – название атрибута должно однозначно характеризовать его значение. Например "current_pump_1": 10.2

Итоговая структура #

{
    "data":[
        {
            "meta":{
                "ts":1633948157712,
                "source":""
            },
            "metrics":{
                "some_atribute_1":520.03,
                "some_atribute_n":0,
                ...
            }
        }
    ]
}

Пример пакета #

{
  "data": [
    {
      "meta": {
        "ts": 1655197672000,
        "source": "Pump 4. Metrics"
      },
      "metrics": {
        "feed_pressure": 6.74,
        "return_pressure": 4.94,
        "feed_temperature": 7.81,
        "return_temperature": 12.41,
        "phase_a_current": 6.41,
        "phase_b_current": 6.48,
        "phase_c_current": 6.48,
        "frequency": 50,
        "phase_a_voltage": 382.89,
        "phase_b_voltage": 390.11,
        "phase_c_voltage": 392.1,
        "linear_phase_a": 235.15,
        "linear_phase_b": 235.87,
        "linear_phase_c": 231.73,
        "phase_a_active_energy": 256091.37,
        "phase_b_active_energy": 256092.63,
        "phase_c_active_energy": 256089.85,
        "total_active_energy": 768273.85
      }
    }
  ]
}

Calendar July 11, 2022