Node-RED:Введение/Запуск

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 49013 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Pixel Art Mini Meow Animated.gif Черновик


Запуск[1]

Если Node-RED установлен у вас как глобальный npm-пакет, то запустить его можно с помощью команды «node-red».

$ node-red

Welcome to Node-RED
===================

25 Mar 22:51:09 - [info] Node-RED version: v0.18.4
25 Mar 22:51:09 - [info] Node.js  version: v8.11.1
25 Mar 22:51:09 - [info] Loading palette nodes
25 Mar 22:51:10 - [warn] ------------------------------------------
25 Mar 22:51:10 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
25 Mar 22:51:10 - [warn] ------------------------------------------
25 Mar 22:51:10 - [info] Settings file  : /home/nol/.node-red/settings.js
25 Mar 22:51:10 - [info] User Directory : /home/nol/.node-red
25 Mar 22:51:10 - [info] Server now running at http://127.0.0.1:1880/
25 Mar 22:51:10 - [info] Creating new flows file : flows_noltop.json
25 Mar 22:51:10 - [info] Starting flows
25 Mar 22:51:10 - [info] Started flows

Чтобы открыть редактор Node-RED, введите в адресной строке браузера «http://localhost:1880».

По ссылкам ниже – руководства по запуску Node-RED на разных аппаратных платформах:

Что дальше

Теперь вы можете создать свой первый поток.

Использование командной строки

Пример использования:

node-red [-v] [-?] [--settings settings.js] [--userDir DIR] [flows.json]

Флаги:

  • -s, --settings FILE чтобы задать файл с настройками
  • -u, --userDir DIR чтобы задать пользовательскую директорию
  • -v чтобы включить расширенный вывод данных
  • -?, --help чтобы вызвать справку о команде

Локальный запуск (Linux и Mac OS X)

Если Node-RED расположена локально, то ее тоже можно запустить с помощью «node-red».

Если Node-RED была установлена с помощью npm, то скриптом для запуска будет «node_modules/node-red/bin/node-red» (путь зависит от папки, где вы запускали «npm install»). Если Node-RED была установлена из ZIP-файла, то скриптом для запуска будет «node-red-X.Y.Z/bin/node-red» (путь зависит от папки, куда вы распаковали ZIP-архив).

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

chmod +x <папка-установки-node-red>/bin/node-red

Затем запускаем Node-RED с помощью этого скрипта:

<папка-установки-node-red>/bin/node-red

Локальный запуск Node-RED (Windows)

На Windows запустите команду ниже из той же директории, где запускали «npm install» или где распаковали ZIP-архив с Node-RED:

node node_modules/node-red/red.js

Сохранение пользовательских данных

По умолчанию Node-RED сохраняет ваши данные в папку «$HOME/.node-red». Но если Node-RED обнаружит пользовательские данные в папке установки, то будет использовать именно их, а не те, что находятся в папке «$HOME/.node-red» (это сделано в целях обратной совместимости). О том, как переместить данные из папки установки Node-RED в другое место, см. в статье «Обновление».

Чтобы поменять используемую директорию, можно воспользоваться флагом «--userDir».

Передача аргументов базовому процессу Node.js

Бывают ситуации, когда базовому процессу Node.js нужно передать какие-то аргументы. К примеру, это может понадобиться при запуске Node-RED на устройствах вроде Raspberry Pi или BeagleBone Black, имеющих ограниченную память.

Для этого вместо «node-red» нужно воспользоваться скриптом «node-red-pi» (на Windows этот скрипт недоступен):

node-red-pi --max-old-space-size=128 --userDir /home/user/node-red-data/

Кроме того, Node-RED можно запустить при помощи команды «node», но в этом случае аргументы для базового процесса Node.js нужно задать перед «red.js» и аргументами, которые вы хотите передать самой Node-RED.

node --max-old-space-size=128 red.js --userDir /home/user/node-red-data/

Запуск Node-RED при загрузке

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

Если вы пользователь Debian-версии Linux (вроде Ubuntu, Mint, Debian и т.д.), рекомендую прочесть вот этот раздел из руководства по Raspberry Pi, но вам также нужно будет отредактировать загруженный файл «/lib/systemd/system/nodered.service», чтобы его данные соответствовали вашим ID пользователя и окружению.

На наш взгляд, для подавляющего большинства пользователей проще будет воспользоваться методом, описанным в разделе ниже – в нем задействован PM2. На Windows PM2 не автозапускает Node-RED как службу, и вам, возможно, лучше сделать это с помощью NSSM (ссылку на соответствующее руководство см. ниже, в разделе «Альтернативные способы»).

При помощи PM2

PM2 – это диспетчер процессов для Node.js. Он упрощает запуск и – если понадобится – перезапуск приложений при загрузке.

Примечание: PM2 распространяется по лицензии GNU-AGPL-3.0, поэтому перед использованием рекомендую ознакомиться с правилами этой лицензии.

Устанавливаем PM2

sudo npm install -g pm2

Примечание: Команда «sudo» нужна для запуска с помощью пользователя non-root на Linux и OS X. Если у вас Windows, команду выше нужно вызывать в командной оболочке от лица администратора, но без «sudo».

Примечание: Кроме того, если у вас Windows, в пути также должно быть указано «tail.exe».

Определяем локацию установки команды «node-red»

Если Node-RED была установлена как глобальный пакет, то на Linux и OS X командой будет, скорее всего, «/usr/bin/node-red» или «/usr/local/bin/node-red». Чтобы проверить локацию установки, можно воспользоваться командой «which node-red».

Если вы устанавливали Node-RED локально, то командой будет «node_modules/node-red/bin/node-red» (начало пути зависит от того, где вы запускали «npm install»).

Говорим PM2 запустить Node-RED

Команда ниже говорит PM2 запустить Node-RED («/usr/bin/node-red» – это место, где находится команда «node-red»).

Аргумент «--» должен стоять перед всеми аргументами, которые вы хотите передать Node-RED.

pm2 start /usr/bin/node-red -- -v

Примечание: Если вы работаете с устройством вроде Raspberry Pi или BeagleBone Black, имеющим ограниченную память, то вам нужно будет указать дополнительный аргумент:

pm2 start /usr/bin/node-red --node-args="--max-old-space-size=128" -- -v

Примечание: Если вы хотите запустить Node-RED от лица root-пользователя, вам также нужно указать флаг «--userDir», чтобы задать место, где Node-RED будет хранить ваши данные.

Команда выше запустит Node-RED в фоновом режиме. Чтобы просматривать информацию об этом процессе и его логи, воспользуйтесь командами ниже:

pm2 info node-red
pm2 logs node-red

Более подробно об управлении процессами с помощью PM2 читайте тут.

Говорим PM2 запустить Node-RED при загрузке

При помощи PM2 можно сгенерировать и настроить скрипт для запуска Node-RED на разных платформах.

Запустите команды ниже и следуйте инструкциям, которые появятся после этого:

pm2 save
pm2 startup

Если у вас более новая версия Linux, где используется systemd, воспользуйтесь вот этой командой:

pm2 startup systemd

Примечание (временное): На GitHub открыто обсуждение о проблеме PM2, из-за которой пользователям Linux нужно вручную редактировать сгенерированный файл «/etc/init.d/pm2-init.sh», а также заменить...

export PM2_HOME="/root/.pm2"

...на...

export PM2_HOME="/home/{youruser}/.pm2"

...чтобы задать правильную директорию.

Делаем перезагрузку

Наконец, перезагружаемся и проверяем, запускается ли Node-RED как нужно.

Альтернативные способы

Есть много других альтернативных способов запуска Node-RED. Ниже – несколько способов, созданных участниками сообщества:

См.также

Внешние ссылки

  1. nodered.org - Running