Как за один час научиться работать в Node-RED
Node-RED — это визуальный инструмент программирования для соединения устройств, API и онлайн-сервисов. Вместо написания сотен строк кода вы перетаскиваете узлы в рабочую область и соединяете их. Это идеально для IoT, автоматизации и быстрых прототипов.
Освоив это руководство, вы научитесь:
- Запускать редактор и разбираться в интерфейсе.
- Создавать несколько рабочих потоков.
- Использовать функции, контекст и отладку.
- А также получите базу для самостоятельного развития.

Шаг 1. Запуск и доступ
Начните с самого простого: установите Node-RED в Windows и запустите его. Для этого сначала потребуется установить Node.js. Скачайте его по ссылке: https://nodejs.org/dist/v24.21.0/node-v24.21.0-x64.msi и запустите.
После установки Node.js откройте командную строку (нажмите Win + R, в открывшемся окне введите cmd и нажмите Enter) и проверьте, что Node.js доступен, набрав в командной строке:
node --version && npm --version

Node.js установлен, теперь для установки Node-RED там же в командной строке Windows наберите:
npm install -g --unsafe-perm node-red
Нажмите Enter. npm — это пакетный менеджер Node.js, который установит программу. Дождитесь конца установки. Когда она закончится, запустите Node-RED, набрав в командной строке:
node-red
И нажмите Enter.

Не закрывайте окно командной строки Windows!
Теперь откройте браузер и задайте в адресной строке: http://localhost:1880. Откроется окно Node-RED.

Шаг 2. Знакомство с интерфейсом
Перед вами четыре основные области:
- Палитра узлов (слева) — список всех доступных узлов, сгруппированных по категориям.
- Рабочая область (центр) — здесь вы собираете поток.
- Боковая панель (справа) — вкладки Info (справка), Debug (отладочные сообщения), Context (контекст).
- Кнопка Развернуть (справа вверху) — развёртывает изменения, чтобы поток заработал.
Узлы соединяются перетаскиванием от выходного порта (справа) к входному (слева).
Шаг 3. Первый поток: Hello World
- Найдите в палитре узел inject (категория “общие”). Перетащите его на холст.
- Найдите узел debug (в той же категории). Перетащите на холст правее узла inject.
- Соедините выход inject со входом debug.
- Дважды щёлкните по inject. В поле Payload выберите
stringи введитеПривет, Node-RED!. Нажмите Done.

- Нажмите Развернуть (красная кнопка справа вверху).
- Откройте вкладку Отладочные сообщения на боковой панели (иконка жука).
- Нажмите на кнопку слева от узла inject (маленький квадрат). В отладке появится сообщение.

Что произошло? inject отправляет сообщение (объект msg) в поток. debug выводит его в боковую панель. По умолчанию отображается msg.payload.
Логика работы с потоками
Каждый поток (flow) в Node-RED — это небольшая цепочка «кубиков», собранная по принципу: откуда пришло → что сделать → куда отправить. Всегда начинайте с входа (события): это может быть нажатие кнопки (как узел inject), срабатывание датчика, сообщение из Telegram или просто таймер по расписанию. Дальше в цепочке идёт обработка: каждый следующий «кубик» получает данные от предыдущего, что-то с ними делает (проверяет, меняет, фильтрует) и передаёт дальше — как на конвейере. В конце цепочки всегда должен быть результат: отправка уведомления, запись в файл, переключение устройства.
Правило организации потока простое: один поток — одна задача. Не стоит пытаться запихнуть всё в одну длинную цепочку; если задача сложная, разбейте её на несколько маленьких потоков, а данные между ними передавайте через виртуальные связи (link-ноды). Главная ошибка новичков — пытаться писать поток «как программу», где всё перемешано; в Node-RED мыслите потоками данных: задал вопрос «что запускает событие?», дальше «что должно произойти?» — и просто соедините эти шаги линиями.
Шаг 4. Сообщения и обработка данных
Сообщение в Node-RED — это объект, который передаётся между узлами под именем msg. Сообщение имеет свойства (поля), которые задаются через точку. Основное свойство — это msg.payload. Можно добавлять свои поля: msg.topic, msg.temperature и т.д. по вашему усмотрению.
Функция — это универсальный узел, в который можно вписать любое своё правило обработки на языке JavaScript. Давайте посмотрим, как это устроено.
- Добавьте на холст узел function (категория «функция»).
- Соедините inject → function → debug.
- Дважды щёлкните по function. Введите код:
msg.payload = msg.payload * 2;
return msg;

- В узле inject установите payload как число, например
21. - Разверните и нажмите inject. В отладке увидите
42.

Важно: функция должна вернуть
msg, иначе поток остановится.
Контекст
Контекст позволяет хранить данные между сообщениями. Бывает трёх типов: node, flow, global.
Пример: счётчик нажатий.
var count = flow.get('count') || 0;
count += 1;
flow.set('count', count);
msg.payload = 'Нажатий: ' + count;
return msg;
Шаг 5. Полезные узлы и логика
За час вы не изучите все узлы, но вот минимум для старта:
- change — изменить, удалить или переместить свойство сообщения. Например, установить
msg.payloadвmsg.topic. - switch — маршрутизация по условию. Например, если
msg.payload > 10, отправить в один выход, иначе в другой. - delay — задержка или ограничение скорости.
- http request — выполнить HTTP-запрос к API.
- mqtt in / mqtt out — приём и отправка MQTT-сообщений (для IoT).
- template — сформировать текст с подстановкой значений.
Пример: switch
inject (число 5) → switch → два debug.
В switch настройте правило: если msg.payload > 3, выход 1, иначе выход 2.
Разверните и проверьте.
Шаг 6. Сохранение, экспорт и импорт
- Все потоки автоматически сохраняются в файле
flows.json(обычно в~/.node-red/). - Кнопка Развернуть сохраняет текущее состояние.
- Чтобы поделиться потоком, выделите нужные узлы (например, левой кнопкой мыши с зажатой клавишей Ctrl на клавиатуре), нажмите Ctrl+C, затем в меню (гамбургер) → Экспорт → Скопировать в буфер обмена. Вы получите JSON.
- Для импорта: Импорт → вставьте JSON → кнопка Импорт.
Официальная документация: nodered.org/docs.
FAQ: Ответы на частые вопросы
- В: Как установить дополнительные узлы?
- О: Перейдите в меню Node-RED в правом верхнем углу, откройте раздел управления палитрой и выберите вкладку установки пакетов. Найдите нужный пакет, ознакомьтесь с его описанием и запустите установку. После этого новые блоки появятся в палитре.
- В: Где найти информацию об ошибках и причине остановки потока?
- О: Сначала проверьте боковую панель отладки и окно командной строки, в котором запущен Node-RED. Сообщения об ошибках часто показывают проблемный узел, некорректный формат данных или недоступные подключения. При необходимости изучите логи и официальную документацию проекта.
- В: Как создавать более сложные проекты и не запутаться в потоках?
- О: Разделяйте логику на небольшие самостоятельные потоки, используйте понятные названия узлов и добавляйте комментарии. Для обмена данными между удалёнными участками применяйте **link-узлы**, а повторяющиеся операции выносите в отдельные подграфы. Таким образом структура остаётся удобной для обслуживания даже при большом количестве интеграций.
Комментарии (0)
Пока нет комментариев. Будьте первым!