Разместить Node-RED, ничего не устанавливая
Блоки, соединённые проводами, — и два приложения, которые никогда не разговаривали друг с другом, начинают обмениваться данными, с капелькой JavaScript только там, где это действительно нужно.
От 4,99 €/месяц
Обзор
Node-RED — установка, обновления и резервные копии на нас, на машине во Франции. Визуальное программирование потоками для соединения устройств, API и сервисов. Широко используется в умном доме и в лёгкой промышленности. Вы ничего не устанавливаете и не настраиваете сервер: приложение появляется в сети через несколько минут после заказа и оформлено на вас.
Ему подходит тариф Приложение Базовый за 4,99 €/месяц с налогом — 2 ГБ памяти. Node-RED — это единый процесс Node.js, который держит в памяти все ваши потоки вместе с накопленным ими контекстом и открытыми соединениями — подписку MQTT, сокет к базе данных, прослушивание HTTP. Здесь многое решает палитра: каждый добавленный вами модуль сообщества приносит свои зависимости, и установка, которая говорит на Modbus, InfluxDB и Telegram, весит заметно больше, чем голая установка. Этих 2 ГБ хватает на хорошо укомплектованную палитру и несколько десятков активных потоков.
Сюда приходят взамен онлайн-сервиса автоматизации с оплатой за задачу, или потому что нужна точка встречи между машинами, которые никогда не проектировались для общения друг с другом. Поток запускается HTTP-запросом, сообщением MQTT, временем суток или появившимся файлом и заканчивается вызовом API, записью в базу данных или уведомлением. Потоки — это JSON: вы копируете поток в сообщение, чтобы поделиться им, вставляете его на другом экземпляре, а функция Projects позволяет отслеживать их в репозитории Git. Веб-панель строится в том же редакторе, что избавляет от необходимости писать интерфейс только ради трёх кривых на графике.
Что даёт управляемое размещение
Потоки, которые читаются с одного взгляда
Вы ставите триггер, тянете провод к фильтру, затем к вызову API, и всё это читается как схема. Когда визуального недостаточно, узел function принимает JavaScript: до кода спускаются только там, где это действительно оправдано.
Палитра, говорящая на множестве протоколов
MQTT, HTTP, WebSocket, TCP и UDP из коробки, а затем тысячи модулей сообщества: Modbus TCP, базы SQL, InfluxDB, Telegram, Home Assistant, календари. Именно эта библиотека позволяет Node-RED почти всегда подключиться к тому, что у вас уже есть.
Панель управления в том же инструменте
Датчики, графики, кнопки и формы объявляются как узлы и собираются в веб-страницу. Простой мониторинг существует без отдельного проекта разработки и живёт там же, где логика, которая его питает.
Потоки, которыми удобно делиться и которые легко версионировать
Экспортированный поток — это объект JSON, который вы вставляете в тикет или документ, и кто-то другой импортирует его как есть. Функция Projects добавляет репозиторий Git, что позволяет отслеживать историю и откатываться после неудачного изменения.
Почему доверить это нам, а не устанавливать самому
Две системы, которые не понимают друг друга
Магазин отправляет вебхук, инструмент управления ждёт вызов API в другом формате. Поток из пяти узлов делает перевод, и ручное копирование заказов прекращается.
Датчики, публикующие данные по MQTT
Температура, влажность, потребление: показания приходят в тему MQTT, фильтруются, сохраняются в базе временных рядов и отображаются на странице. Оповещение уходит при превышении порога.
Мониторинг цеха
Контроллер, доступный по Modbus TCP, опрашивается каждую минуту, значения логируются, а экран показывает состояние оборудования. Для отчётности и оповещений этого часто достаточно.
Цепочка уведомлений
Отправленная форма запускает запись в базу данных, сообщение команде и подтверждение заявителю. Три системы, один поток, и сообщения видны на панели отладки по мере прохождения.
Запланированная задача без написания cron
Каждый понедельник в семь утра вызвать API, сравнить со вчерашним днём, отправить сводку. Планировщик — это узел, а результат проверяется одним щелчком, вместо того чтобы ждать понедельника.
Размещено во Франции
Поток хранит ключи API, учётные данные баз данных, а порой и производственные данные. Ваш остаётся в нашей собственной инфраструктуре в Новой Аквитании, которую мы обслуживаем сами.
Частые вопросы
Да — для всего, что идёт через сеть, нет — для того, что подключается по USB. У экземпляра, размещённого у нас, нет ни Zigbee-адаптера, ни Z-Wave-донгла: эти устройства должны оставаться у вас дома. Рабочая схема такая: небольшая коробочка дома занимается радиосвязью и публикует данные в MQTT-брокер, доступный из интернета; Node-RED подписывается на него и несёт всю логику, оповещения и панель управления. Если ваше оборудование уже умеет отдавать API или MQTT, дома вообще ничего не нужно устанавливать.
Копированием и вставкой. Экспортированный поток — это объект JSON: вы копируете его из текущей установки, импортируете сюда, и он собирается заново со своими узлами и связями. Две вещи стоит проверить потом: учётные данные, которые никогда не экспортируются и требуют повторного ввода, и используемые модули сообщества, которые нужно установить в палитру, прежде чем поток заработает.
Node-RED работает в одном потоке выполнения: тяжёлый цикл в узле function блокирует все остальные потоки, пока не завершится. Это и не контроллер реального времени — тайминги не гарантированы до миллисекунды, что исключает управление безопасностью. Установка модуля из палитры требует перезапуска движка, а значит, короткого перерыва. А редактор обязательно нужно защитить паролем: редактируемый поток — это редактируемый сервер.
Приложение Базовый, за 4,99 €/месяц с налогом. Он даёт 2 ГБ памяти там, где приложение просит минимум 768 МБ: запас идёт системе, а не витрине. Сменить тариф позже можно без переустановки.
Да, они часть услуги. Для инструмента, который открывает HTTP-точки входа и хранит ваши ключи API, оставаться в актуальном состоянии — не опция: обновления версий применяем и проверяем мы сами.