# Управление потоками

IoT Logic предоставляет гибкую среду с холстом, где вы можете создавать настраиваемые потоки данных для обработки, преобразования и маршрутизации телеметрии устройств. Каждый поток состоит из взаимосвязанных узлов, выполняющих конкретные функции в вашей конвейерной обработке данных — от получения необработанных данных устройства до передачи обогащенной информации во внешние системы.

## Создание нового потока

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

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-c00d9c6369f1ccd0811698b3cd752292ac980c96%2Fimage-20250403-155742.png?alt=media" alt="Create flow dialog showing name field, description field, and enabled toggle"><figcaption></figcaption></figure>

Выполните следующие простые шаги, чтобы создать поток:

1. Нажмите **Новый поток** кнопка в верхней части экрана для открытия диалога создания потока.
2. Введите **Название потока** и при необходимости укажите **Описание** чтобы четко отразить конкретные детали функциональности или назначения этого потока.
3. Убедитесь, что **Поток включен** переключатель включен (если только вы не создаете поток, который изначально должен оставаться неактивным).
4. Нажмите **Сохранить** чтобы создать поток и перейти к рабочему пространству потока.

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

{% hint style="danger" %}
Отключенные потоки не отправляют никаких данных! Показания с устройств, задействованных в отключенном потоке, не достигают ни одного назначения, включая платформу Navixy. Это означает, что отключение потока может прервать ваши возможности мониторинга и сбор данных для затронутых устройств. Отключайте потоки только тогда, когда вы намеренно хотите полностью остановить передачу данных.
{% endhint %}

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

## Настройка компонентов потока

Каждый поток состоит из взаимосвязанных узлов, которые определяют, как данные перемещаются по вашей системе. Базовые компоненты, доступные на панели **Узлы** включают:

### Узел источника данных

{% columns %}
{% column %}
Этот узел устанавливает точку входа для данных устройств в вашем потоке. Он обрабатывает конкретные устройства из вашей учетной записи Navixy, которые вы можете:

* Фильтровать по производителю и модели
* Указать протокол связи
* Выбрать от одного до неограниченного числа устройств для отправки данных в поток
* Легко выбирать целые группы устройств

Подробные параметры конфигурации см. в [Узел источника данных](https://www.navixy.com/docs/user/ru/guide/account/iot-logic/flow-management/data-source-node).
{% endcolumn %}

{% column %}

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-180b01624fde27928d95c4c853fdd38b4dcd4f52%2Fimage-20250403-160159.png?alt=media" alt="Data Source node configuration panel showing manufacturer, model, and device selection options" width="375"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

### Узел инициации атрибутов

{% columns %}
{% column %}
Этот узел обеспечивает преобразование данных с помощью [Navixy Expression Language](https://app.gitbook.com/s/tx3J5BxnWyPV0nP2xr0z/technologies/navixy-iot-logic-expression-language). Он позволяет:

* Создавать новые вычисляемые атрибуты на основе параметров устройства
* Выполнять преобразование единиц и математические операции
* Применять расчеты, основанные на времени
  {% endcolumn %}

{% column %}

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-a46978b594e316bfcb753abad67638f6bf644d21%2Fimage-20250403-160516.png?alt=media" alt="Initiate Attribute node configuration panel showing attribute creation interface"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Подробные параметры конфигурации, синтаксис и примеры выражений см. в [Узел инициации атрибутов](https://www.navixy.com/docs/user/ru/guide/account/iot-logic/flow-management/initiate-attribute-node).

### Узел логики

{% columns %}
{% column %}
Этот узел создает интеллектуальные точки разветвления, которые маршрутизируют данные на основе логических условий. Он позволяет:

* Создавать условные сценарии с логикой IF-THEN/ELSE
* Маршрутизировать данные по различным путям обработки в зависимости от условий в реальном времени
* Генерировать булевы атрибуты, фиксирующие результаты валидации
* Строить сложные деревья решений с множественными условиями
  {% endcolumn %}

{% column %}

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-5c99db0a392e8e57207b40af33642f892edd26f0%2Fimage-20250721-090630.png?alt=media" alt="Logic node configuration panel showing title, expression name, and expression fields"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Подробные параметры конфигурации, логические операторы и примеры выражений см. в [Узел логики](https://www.navixy.com/docs/user/ru/guide/account/iot-logic/flow-management/logic-node).

### Узел действия

{% columns %}
{% column %}
Этот узел позволяет автоматизировать реакции на данные устройств путем выполнения конкретных операций при выполнении условий. Он позволяет:

* Отправлять команды обратно на устройства на основе анализа данных
* Инициировать уведомления или оповещения во внешних системах
* Выполнять автоматизированные сценарии на основе изменений состояния устройства
  {% endcolumn %}

{% column %}

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-390241181185217d5191f2cf70cdd17723aceb8b%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

Подробные параметры конфигурации см. в [Узел действия](https://www.navixy.com/docs/user/ru/guide/account/iot-logic/flow-management/action-node).

### Узел выходной конечной точки

{% columns %}
{% column %}
Этот узел определяет, куда и как передаются ваши обработанные данные. В его конфигурации вы можете:

* Указать параметры подключения назначения (IP/домен, порт)
* Выбрать транспортные протоколы и версии протоколов
* Настроить меры безопасности, включая SSL и аутентификацию
* Сконфигурировать параметры MQTT, такие как client ID, темы и уровни QoS
* Создавать многоразовые профили конечных точек для единообразных конфигураций

Полную информацию о параметрах передачи данных см. в [Узел выходной конечной точки](https://www.navixy.com/docs/user/ru/guide/account/iot-logic/flow-management/output-endpoint-node).
{% endcolumn %}

{% column %}

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-4a4f707732705995a6bb2683eae5c68ebf6b3ce5%2Fimage-20250403-160749.png?alt=media" alt="Output Endpoint node configuration panel showing connection settings and MQTT parameters"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% hint style="info" %}
Ваш поток должен включать **Выходной конечный пункт по умолчанию** для отправки данных на платформу. Поддержание этого соединения обеспечивает доступность данных устройства для визуализации и управления в интерфейсе Navixy.
{% endhint %}

## Построение вашего потока

Чтобы собрать последовательность обработки данных:

1. Перетащите узлы из левого меню и поместите их на рабочее пространство.
2. Кликните по каждому узлу, чтобы открыть его панель конфигурации и настроить необходимые параметры.
3. Соединяйте узлы, щелкнув по выходному коннектору узла и перетащив его на входной коннектор целевого узла.

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-4a194d900cc2ede8c1d9602e94fccf3a2c7553e4%2Fimage-20250403-161201.png?alt=media" alt="Flow workspace showing connected nodes with visible connectors between them"><figcaption></figcaption></figure>

Ваш поток должен начинаться как минимум с одного **Источник данных** узла и заканчиваться одним или несколькими **Выходной конечный пункт** узлами. Между ними вы можете добавить узлы преобразования для манипулирования данными в соответствии с вашими требованиями.

Узлы можно соединять в различных конфигурациях:

* Один **Узел источника данных** может питать несколько узлов для параллельной обработки
* Несколько **Узлов источника данных** могут быть подключены к одному **Узлу выходной конечной точки** для консолидации потоков данных
* **Узлы инициации атрибутов** могут объединяться последовательно для многоэтапных вычислений

## Редактирование существующих потоков

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

### Изменение сведений о потоке

Чтобы изменить имя потока, описание или статус включения:

1. Нажмите ![image-20250403-161404.png](https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-5966c0835b715a43aa74babe8db57622c5580563%2Fimage-20250403-161404.png?alt=media) рядом с названием потока
2. Обновите необходимые поля
3. Сохраните изменения

### Удаление элементов

{% columns %}
{% column %}
Когда вам нужно перестроить поток, вы можете удалять узлы или соединения:

**Удаление узла:**

1. Наведите курсор на узел, который хотите удалить
2. Нажмите на значок удаления, который появляется в правом верхнем углу узла
   {% endcolumn %}

{% column %}

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-5f076a89120611479cd2b06c632bb17db26671d2%2Fimage-20250403-161554.png?alt=media" alt="Node with delete icon"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% hint style="info" %}
При удалении узла все его соединения также будут удалены.
{% endhint %}

{% columns %}
{% column %}
**Удаление соединения:**

* Щелкните по линии соединения, которую хотите удалить
* Нажмите **Отвязать** или нажмите клавишу Backspace на клавиатуре
  {% endcolumn %}

{% column %}

<figure><img src="https://2707447327-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-d619d5af2ac5bc881cc00b0efff8a4782a3d0726%2Fimage-20250403-161949.png?alt=media" alt="Selected connection highlighted for deletion"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

### Управление несколькими потоками

Чтобы переключаться между различными потоками:

1. Нажмите **Поток данных** выпадающий список
2. Выберите поток, который вы хотите просмотреть или отредактировать — он откроется в рабочем пространстве

{% hint style="info" %}
Любые несохраненные изменения в текущем потоке будут потеряны при переключении; вас попросят подтвердить действие.
{% endhint %}

## Сохранение и активация потоков

После настройки потока:

1. Нажмите **Сохранить поток** кнопка для сохранения конфигурации потока
2. Убедитесь, что поток включен, чтобы он начал обработку данных

После активации ваш поток будет:

* Получать данные в реальном времени от настроенных устройств
* Применять все заданные преобразования через узлы инициации атрибутов
* Пересылать обработанные данные на указанные вами конечные точки в [Navixy Generic Protocol](https://app.gitbook.com/s/tx3J5BxnWyPV0nP2xr0z/technologies/navixy-generic-protocol) формате

Если вам нужно временно отключить обработку данных, вы можете переключить статус включения потока, не теряя конфигурацию.

## Примеры конфигураций

Подробные пошаговые описания примера создания потока вы можете найти в [Пример конфигурации потока](https://www.navixy.com/docs/user/ru/guide/account/iot-logic/flow-management/flow-configuration-example). В примере также содержатся пояснения по некоторым распространенным вариантам обогащения данных. Вы можете использовать этот пример в качестве шаблона для ваших настраиваемых потоков.
