Как установить node red

Running Node-RED locally

Prerequisites

To install Node-RED locally you will need a supported version of Node.js.

Installing with npm

To install Node-RED you can use the npm command that comes with node.js:

That command will install Node-RED as a global module along with its dependencies.

You can confirm it has succeeded if the end of the command output looks similar to:

Installing with docker

To run in Docker in its simplest form just run:

For more detailed information see our docker guide.

Installing with snap

If your OS supports Snap you can install Node-RED with:

When installed as a Snap package, it will run in a secure container that does not have access to some extra facilities that may be needed for you to use, such as:

If you need access to system hardware or to add nodes that require compilation then we recommend using a full install of Node-RED and not using the snap.

Running

Once installed as a global module you can use the node-red command to start Node-RED in your terminal. You can use Ctrl-C or close the terminal window to stop Node-RED.

You can then access the Node-RED editor by pointing your browser at http://localhost:1880.

The log output provides you various pieces of information:

Command-line Usage

Override individual settings

For example, to change the logging level you can use:

You can also provide the custom settings as a file:

The file should contain a list of the settings to override:

Passing arguments to the underlying Node.js process

There are occasions when it is necessary to pass arguments to the underlying Node.js process. For example, when running on devices like the Raspberry Pi or BeagleBone Black that have a constrained amount of memory.

Alternatively, if are running Node-RED using the node command, you must provide arguments for the node process before specifying red.js and the arguments you want passed to Node-RED itself.

The following two commands show these two approaches:

Upgrading Node-RED

If you have installed Node-RED as a global npm package, you can upgrade to the latest version with the following command:

Next steps

Node-RED: Low-code programming for event-driven applications.

Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

Источник

Установка Node-RED

Используем Node-RED вместе с Home Assistant.

Начнем с небольшой справки: что такое Node-RED.

Node-RED — это flow-based инструмент, созданный для визуального программирования, разработанный IBM для совмещения вместе: устройств, API, онлайн-сервисов и IoT, используемый также совместно с известному нами IBM Watson.

Многие задаются вопросом: зачем вообще использовать Node-red и Home Assistant вместе, ведь они по факту оба являются центрами автоматизации со своими отдельными интерфейсами и зачастую замещают друг друга во многом.

Но как и во всем (вспоминается самый простой пример: совместное использование Apache и NGINX), хотя у обоих функциональностей есть что-то схожее, но у них есть также и сильные/слабые стороны.

Так например: сильная сторона Home Assistant в огромном сообществе, количестве примеров и практически полнейшей всеядности (я не встречал еще чего-то, что нельзя было бы «затащить» в Home Assistant.

При этом слабые стороны Home Assistant, которые всем известны: автоматизации на YAML (ох, без кучи примеров и бест-кейсов из интернета даже разбираться не стоит) и ужасный проброс в HomeKit — прекрасно покрываются Node-red, который как будто создан для написания автоматизаций, и т.к. использует более продвинутый HAP-nodeJS в отличие от используемого HAP-python в Home Assistant, намного стабильнее работает с HomeKit.

Кроме этого, используя Node-red для отправки устройств в HomeKit, у нас появляется возможность самим создавать устройства и настраивать их под себя.

Вот такие поверхностные примеры — и даже они заставляют задуматься о переезде с «нативного» HomeKit от Home Assistant на Node-red.

Установка Node-RED

Благодаря тому, что Node-red не совсем opensource продукт, то его установка на наш Raspberry Pi займет буквально несколько минут и потребует всего двух команд: первой мы его устанавливаем, второй добавляем в автозапуск.

Отмечу также, что закрыв этот процесс (CTRL+C) node-red не погасится, как это обычно бывает с другими службами. Очень удобно.
Ну и также несколько команд для запуска логов и остановки вам в помощь:

Подключение Home Assistant

После успешной установки Node-RED нам необходимо связать две системы.

После этого ждем установки данного модуля, для надежности в терминале можно открыть лог node-red для того, чтобы контролировать процесс. Пока наш новый модуль устанавливается перейдем к Home Assistant.

Возвращаемся обратно в Node-RED и заканчиваем настройку Home Assistant модуля.

После чего обновляем страницу с Node-RED и довольствуемся тем, что теперь все события из Home Assistant будут попадать в Node-RED, а значит теперь мы сможем воспользоваться полностью его функционалом.

Источник

Running on Windows

This page gives specific instructions on setting up Node-RED in a Microsoft Windows environment. The instructions are specific to Windows 10 but should also work for Windows 7 and Windows Server from 2008R2. It is not advisable to use versions prior to Windows 7 or Windows Server 2008R2 due to lack of current support.

Quick Start

1. Install Node.js

Download the latest 14.x LTS version of Node.js from the official Node.js home page. It will offer you the best version for your system.

Run the downloaded MSI file. Installing Node.js requires local administrator rights; if you are not a local administrator, you will be prompted for an administrator password on install. Accept the defaults when installing. After installation completes, close any open command prompts and re-open to ensure new environment variables are picked up.

Once installed, open a command prompt and run the following command to ensure Node.js and npm are installed correctly.

You should receive back output that looks similar to:

2. Install Node-RED

Installing Node-RED as a global module adds the command node-red to your system path. Execute the following at the command prompt:

3. Run Node-RED

Once installed, you are ready to run Node-RED.

Alternative Installations on Windows

In this section, we provide you with information on alternative ways to install Node.js, npm and the Windows Build Tools needed to install some Nodes for Node-RED on Windows.

Standard installations of Node.js on Windows require local administrator rights. Download the appropriate version from the official Node.js home page. It will offer you the best version. While you can use either 32 bit or 64 bit versions on 64 bit Windows, it is recommended to use the 64bit version of Node. If for some reason, you need a different installation, you can use the Downloads Page.

There are two potentially useful alternatives to installing Node.js with the MSI installer.

Using the Chocolatey package manager

Chocolatey is a package manager for Windows similar to APT or yum on Linux and brew on the Macintosh platforms. If you are already using Chocolatey, you may want to use this tool to install Node.js (e.g. using the nodejs-lts package). Note however, that many packages have uncertain management and that these packages may use different folder locations than those mentioned above.

Using a Node version manager

Using a Node.js version manager such as nvm-windows can be very helpful if you are doing Node.js development and need to test against different versions. Keep in mind that you will need to reinstall global packages and may need to re-install local packages when when you switch the version of Node you are using.

npm on Windows

When you install Node.js, you are also installing the npm package manager. You may see some instructions on the web that recommend installing later releases of npm than the one that comes with the Node.js release. This is not recommended as it is too easy to later end up with an incompatible version. Node.js releases are very regular and that is sufficient to keep npm updated.

Sharing Node-RED between Users

To fix this, either give permissions to the folder to other users and make sure that the folder is included in their path user environment variable.

You will then want to change the npm cache folder as well:

If using the above changes, you can add the new prefix folder to the PATH System variable and remove the old folder from the user’s Path variable. To change the PATH Environment variable, type environment into the start menu or Cortana and choose Edit Environment Variables.

For each of the users running Node-RED, check that the above settings for the other users are correct.

Installing Node.js Windows Build Tools

Many Node.js modules used by Node-RED or installed nodes have binary components that will need compiling before they will work on Windows. To enable npm to compile binaries on the Windows platform, install the windows-build-tools module using the command prompt as an Administrator:

If you wish to have the built-in Python v2.7 install exposed for use, use the command:

Running on Windows

Once installed, the simple way to run Node-RED is to use the node-red command in a command prompt: If you have installed Node-RED as a global npm package, you can use the node-red command:

This will output the Node-RED log to the terminal. You must keep the terminal open in order to keep Node-RED running.

/.node-red in documentation.

is shorthand for the user home folder on Unix-like systems. You can use the same reference if using PowerShell as your command line as recommended. If you are using the older cmd shell, that won’t work.

You can now create your first flow.

Using PM2

If you are using Windows to develop Node-RED flows or nodes, you may find it helpful to use PM2 to run Node-RED. This can be configured to automatically restart when files change, always keep Node-RED running and manage log output.

Run Node-RED on Startup

If you want to use Windows as a production platform for Node-RED, you will want to have a Windows Task Scheduler job set up. To do so:

Make sure that you use the user login that you’ve used to set up and do the initial run of Node-RED. You can use an “At startup” trigger to always run Node-RED at system startup. Use the Action “Start a program” with details set to C:\Users\ \AppData\Roaming\npm\node-red.cmd (replacing with your actual user name).

Node-RED: Low-code programming for event-driven applications.

Источник

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Материалов на эту тему не мало, но, благодаря участникам портала, Node-RED становится все легче и понятнее для новых пользователей, так как появляются новые плагины и решения.

В этой статье я опишу установку и настройку Node-RED на Raspberry Pi deCONZ и интеграцию ZigBee устройств в HomeKit.

Установка deCONZ

Установка Node-RED

Подключаемся к малине по SSH и устанавливаем Node-RED следующей командой:

Соглашаемся два раза, нажав »Y».

После успешной установки Node-RED, запускаем веб-интерфейс, вбив в браузере: IP малины:1880.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Установка необходимых нам contributions:

В данной статье мы будем использовать всего несколько нод. Существует два способа их установки:

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Установим контрибьюшн для связи с HomeKit через веб-интерфейс. Для этого нужно перейти:

Теперь в нодах (раздел advanced) появилась нода HomeKit.

Вводим в строке поиска node-red-contrib-deconz и устанавливаем.

Теперь перезагрузим Node-RED и почистим кэш, выполнив следующие команды:

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Как видим, у нас появились новые ноды:

Рассмотрим добавление на примере геркона от Aqara и проводного одноклавишного выключателя без нулевой линии Aqara, которые у нас уже добавлены в deCONZ. В процессе добавления первого устройства, нам потребуется добавить сервер deCONZ и мост HomeKit, но делается это единоразово.

В ноде in имеется 2 выхода(серые маленькие квадратики):

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

В ноде in пишем любое название, выбираем созданный нами сервер и выбираем нужное нам устройство.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Дважды нажимаем на ноду homekit, нажимаем на карандашик напротив строки Bridge.

Pin Code и Name пишем любые (Пин код должен быть строго в таком же формате ***-**-***).

Нажимаем кнопку Add, Confim. Мост настроен.

Нажимаем кнопку Deploy в правом верхнем углу.

Теперь мы можем добавить мост в приложении Дом на устройстве Apple. Вместе с мостом добавится и наш датчик касания.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

У датчика касания есть батарейка, поэтому нам нужно добавить ноду батареи. Для этого перетягиваем ноду battery и homekit.

В ноде battery выбираем наш датчик и пишем любое имя в строке «название». Нажимаем Done.

В ноде homekit в строке «Service Hierarchy» выбираем Linked (т.к батарея у нас это дочерний сервис). В строке «Parent service» выбираем наше родительское устройство (т.е сам датчик касания). В строке «Service» выбираем BatteryService. Имя выбираем любое.

Возле кнопки Deploy нажимаем на треугольник и выбираем Modified Nodes.

Теперь в HomeKit мы сможем увидеть заряд батареи на нашем датчике касания.

Далее устройства добавлять гораздо проще т.к сервер и мост уже есть.

Источник

Знакомство с Node-RED и потоковое программирование в Yandex IoT Core

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

В этой статье я хочу разобрать один из самых популярных опенсорс-инструментов, Node-RED, с точки зрения создания простых прототипов приложений с минимумом программирования. Проверим гипотезу о простоте и удобстве таких средств, а также рассмотрим взаимодействие Node-RED с облачной платформой на примере Yandex.Cloud.

Написано уже немало статей на тему того, как средства визуального программирования помогают строить приложения интернета вещей, управлять устройствами и автоматизировать дом (управление освещением, автоматизация квартиры — часть 1 и часть 2). Но мало кто упоминает о другом полезном свойстве подобных иструментов. Это быстрое прототипирование, то есть эмуляция самих устройств без использования микроконтроллеров и визуализация результатов их работы без глубоких познаний в программировании или веб-дизайне.

Есть ряд ограничений, связанных с хранением данных клиентов в облачных дата-центрах других государств. Поэтому у пользователей зарубежных ресурсов все чаще появляется устойчивое желание использовать гибридные подходы, применять локализованные облачные сервисы, расположенные на территории России. В таких случаях для реализации сценариев интернета вещей вполне оправдано объединение открытых технологий IBM с готовым облачным сервисом Яндекса.

Кратко о Node-RED, его истории, создателях и сообществе

Как гласит первоисточник, Node-RED — это инструмент потокового программирования, первоначально разработанный командой IBM Emerging Technology Services и в настоящее время являющийся частью JS Foundation.

В качестве ключевой составляющей Node-RED выступает парадигма потокового программирования, которое было изобретено в 70-х Джеем Полом Моррисоном. Потоковое программирование — это способ описания поведения приложения в виде сети черных ящиков или «узлов», как они называются в Node-RED. Каждый узел имеет четкую цель — к нему поступают некоторые данные, он что-то делает с этими данными, а затем передает их на следующий узел. Сеть отвечает за поток данных между узлами.

Эта модель отлично подходит для того, чтобы представить ее визуально: так она становится более доступной для широкого круга пользователей. Если кто-то пытается разобраться в проблеме, он может разбить задачу на отдельные шаги, взглянуть на поток и понять, что он делает, без необходимости разбираться в отдельных строках кода в каждом узле.

Node-RED работает в среде исполнения Node.js, а для создания или редактирования потока («Flow») используется браузер. В браузере вы можете создавать свое приложение путем перетаскивания необходимых узлов («Node») из палитры в рабочую область и соединять их вместе. Одним кликом по кнопке «Deploy» приложение разворачивается в среде исполнения и запускается.

Палитра узлов может быть легко расширена путем установки новых узлов, созданных сообществом, а созданные вами потоки могут быть легко переданы в виде файлов JSON.

Node-RED начал свою жизнь в начале 2013 года как совместный проект Ника О’Лири и Дэйва Конвея-Джонса из группы IBM Emerging Technology Services.

Проект стартовал как подтверждение концепции визуализации и манипулирования мэппингами между топиками сообщений в протоколе Message Queuing Telemetry Transport (MQTT). Node-RED быстро стал более универсальным инструментом, который можно было легко расширять в любом направлении.

Исходный код проекта был открыт в сентябре 2013 года. С тех пор он разрабатывался в открытом виде, кульминацией развития стало признание Node-RED одним из фундаментальных проектов JS Foundation в октябре 2016 года.

Почему проект называется Node-RED?

Название было веселой игрой слов, звучащих как «Code Red».
Это название приклеилось к проекту и стало существенным шагом вперед по сравнению с тем, как он назывался в первые несколько дней.
Часть «Node» отражает суть модели потокового программирования (поток/узел) и основную среду выполнения Node.JS.
Окончательного решения о том, что же означает часть «RED», принято так и не было.
Одно из предложений — «Rapid Event Developer» (быстрый разработчик событий), но мы никогда не чувствовали себя обязанными что-либо формализовать.
Мы придерживаемся названия Node-RED.»

Node-RED предоставляется по лицензии Apache 2.0. Важно понимать и осознавать условия лицензии — по этой ссылке есть краткая выдержка с основными свойствами.

Лицензия разрешает коммерческое использование, но при этом накладывает и ряд ограничений. Вот основные из них: при использовании торговой марки Node-RED (принадлежащей OpenJS Foundation) нельзя ее искажать; кроме того, есть ограничение ответственности (Liability/Warranty) — участники проекта не могут быть привлечены к ответственности в случае причинения убытков в процессе некорректного использования их продукта.

Постановка задачи — интеграция Node-RED c Yandex IoT Core

Сначала хочу отметить: вся эта затея сугубо самообразовательная и подкреплена только непреодолимой тягой энтузиастов к познанинию нового. Например, хотелось изучить возможности облачных сред и сервисов Яндекса, которые могут быть безвозмездно получены для тестирования своих гениальных идей. Ну а чтобы была польза для дела, было решено посмотреть, насколько совместимы реализованные в проекте Node-RED узлы (из коробки на уровне MQTT) с интерфейсами сервиса IoT Core.

Задача выглядит просто:

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

Создание облачной среды и установка Node-RED

Создание ВМ

Для создания виртуальной машины, на которой мы далее запустим Node-RED, зайдем в Yandex.Cloud и перейдем в Консоль. В сервисе Compute Cloud нажимаем Создать ВМ.

Задаем машине любое разрешенное имя и в качестве операционной системы выбираем CentOS. Для запуска Node-RED подходит любая из приведенных ОС, но в статье мы рассмотрим порядок работы только с CentOS.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Выполнение тестового сценария не требует больших ресурсов, поэтому выставляем все на минимум. Этот ход также позволит сэкономить ресурсы пробного периода, если вы решили развернуть Node-RED только для ознакомления.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Работа с ВМ будет осуществляться через SSH, поэтому пусть у машины будет автоматически выделенный публичный адрес.

Теперь требуемый ключ хранится в

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Подключение к ВМ

После завершения подготовки ВМ в сервисе Compute Cloud появится наша машина с заполненным полем Публичный IPv4.

Установка Node-RED

Теперь мы можем установить Node-RED. Самый удобный способ для новой, пустой системы — Linux installers for Node-RED из репозитория проекта. Так как мы используем CentOS 8, нам необходима вторая команда для ОС, основанных на RPM:

Скрипт установит LTS-версию Node.js, базовую версию Node-RED, создаст скрипт автозапуска для systemd и по желанию создаст правила для порта 1880 в файрволе. Для проверки успешности установки можно запустить команду:

Примечание: для выхода из Node-RED нажмите Ctrl+C.

Как активировать автозапуск и старт службы с помощью systemctl:

После этого по адресу http://:1880 в браузере будет доступен Node-RED.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Подготовка и настройка сервиса Yandex IoT Core

Возвращаемся в Консоль, выбираем IoT Core и нажимаем Создать реестр. Указываем любое подходящее имя. Далее определимся со способом авторизации.

IoT Core поддерживает два способа: с помощью сертификатов и по логину-паролю. Для нашего тестового сценария намного быстрее использовать последний, поэтому заполним поле Пароль. Длина пароля — минимум 14 символов.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

После создания переходим в реестр во вкладку Устройства слева и нажимаем Добавить устройство.

Аналогично реестру задаем имя и пароль.

Теперь в пункте Обзор реестра появился его ID и пароль (в скрытом виде), которые мы указали при создании реестра. То же самое с устройством: на странице устройства есть его ID.

Пример создания простого приложения в Node-RED

В меню в правом верхнем углу Node-RED нажмем Import. Flow в формате .json берем отсюда и либо копируем содержимое в поле, либо скачиваем файл и нажимаем select a file to import.

В новой вкладке появится flow testing connection.

Рассмотрим добавленные узлы. Send data — узел типа Inject, предназначен для ручного или автоматического запуска flow.

Device payload — узел-функция, позволяет выполнять JavaScript для обработки данных, проходящих через этот узел.

devicemqtt-out-узел с настраиваемым MQTT-подключением, предназначен для публикации данных в топик.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Два раза кликаем по узлу device.

Нам необходимо заменить на ID нашего реестра в IoT Core. Далее редактируем данные в Server. Во вкладке Security указываем username — это ID созданного нами устройства, а password — пароль, придуманный на этапе создания устройства. Затем нажимаем Update, далее Done.

Протестируем соединение: в правом верхнем углу нажмем Deploy. Под узлом device появится подпись connected.

Flow получился намного интереснее предыдущего, видны новые узлы.

Так, registrymqtt-in-узел, принимает сообщения из указанного в настройках топика и передает их следующим узлам.

Измеряемые данные приходят в строке, поэтому применяется узел разбора сообщений json. Он может конвертировать JSON-объект в его JS-представление и обратно.

Parsing JSON и JSON возвращают полученные измерения уже в виде отдельных объектов, которые далее передаются узлам, отвечающим за элементы Dashboard.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Теперь необходимо настроить узел registry. Аналогично первому flow записываем наш ID реестра и переходим в настройки сервера iot-core-subscription.

Во вкладке Security добавляем данные реестра, сохраняем изменения и нажимаем Deploy.

Если все поля заполнены верно, то после развертывания под узлом registry тоже появится подпись connected.

Последння вкладка в окне справа (с иконкой столбчатой диаграммы) отвечает за Dashboard. Перейти в Dashboard можно по кнопке:

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

Каждые три секунды устройство из flow testing connection генерирует данные, отправляет их в топик нашего реестра, а flow Smart Utilities, в свою очередь, подписывается на этот топик и обновляет Dashboard в соответствии с данными, приходящими из IoT Core.

Как установить node red. Смотреть фото Как установить node red. Смотреть картинку Как установить node red. Картинка про Как установить node red. Фото Как установить node red

В качестве результатов и краткого заключения

Node-RED действительно может скачать любой желающий, безвозмездно. При первом знакомстве он вызывает вопросы в плане логики работы и прививает свою непередаваемую любовь к узлу «debug» и вкладке «debug messages». Но когда осмотришься и разберешься, то все встает на свои места и становится очень просто выполнять любые действия. Совсем без познаний в программировании обойтись не получится — требуется хоть какое-то представление о том, что такое переменные, условия, циклы, массивы, JSON сообщения и как осуществлять их разбор. Однако узлы из раздела «Network», такие как «mqtt in/out», заработали с сервисом Yandex IoT Core вообще без проблем при условии правильной конфигурации.

Я умышленно не стал слишком детально описывать, как создается само приложение, поскольку есть исходник потока в JSON. Да и сама идея проекта Node-RED предполагает, что любой желающий может «взглянуть на поток и понять, что он делает, без необходимости разбираться в отдельных строках кода на каждом узле». Но в код лучше заглянуть.

Ссылки на полезные материалы

Отдельное спасибо за помощь при создании статьи:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *