Инструменты пользователя

Инструменты сайта


raspberry_pi:pi_4_model_b:raspberry_pi_os:node-red

Установка Node.js и Node-RED на Raspberry Pi OS

Это просто конспект и ничего более… т.к. ничего такого интересного в этом действии нет, все просто.

Node.js

Краткая инструкция, основанная на официальной документации:

  1. sudo -s
  2. apt update && apt install ca-certificates curl gnupg
  3. curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/nodesource.gpg
  4. echo "deb [signed-by=/etc/apt/trusted.gpg.d/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
  5. apt update && apt install nodejs

Node-RED

С Node-RED нынче еще все проще! Инструкция, опять же, составлена на основании официальной документации.

Установка

  1. sudo -s
  2. apt update && apt install build-essential git curl && exit
  3. bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

Третьим пунктом идет полноценный скрипт установки, который может, помимо самого Node-RED, установить и все зависимости, вместе с Node.js, но последний я решил поставить все же отдельно, чтобы проще было обновлять и вообще следить.

Настройка

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

node-red admin init

Безопасность

В конце, скрипт настройки предлагает повысить безопасность установки выполнив два действия:

  1. включить отключённый по умолчанию запрос пароля суперпользователя, удалив соответствующий файл

    sudo rm -f /etc/sudoers.d/010_pi-nopasswd

    …если хочется восстановить, как было, то надо создать пустой файл и добавить в него строчку «pi ALL=(ALL) NOPASSWD: ALL», заменив «pi» на имя вашего пользователя

    echo "pi ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/010_pi-nopasswd > /dev/null && sudo chmod 444 /etc/sudoers.d/010_pi-nopasswd
  2. поменять владельца файла с настройками

    sudo chown root:root ~/.node-red/settings.js

Автозапуск

Ну и в завершение нужно включить автозапуск и запустить службу:

sudo systemctl enable nodered.service && sudo systemctl start nodered.service

Изменение порта

Если необходимо, чтобы Node-RED висел на 80-м порту, нужно:

  1. разрешить использование привилегированных портов обычным пользователям

    sudo setcap 'cap_net_bind_service=+ep' $(eval readlink -f `which node`)
  2. открыть конфиг

    sudo nano ~/.node-red/settings.js

    и изменить в нем

    uiPort: process.env.PORT || 80,

    там же можно поменять местами административную панель и панель приборов плагина «Dashboard»

    httpAdminRoot: '/admin',
    ui: { path: "/" },
  3. в финале нужно перезапустить Node-RED

    sudo systemctl restart nodered

Дисклеймер

  • Использование материалов данной базы знаний разрешено на условиях лицензии, указанной внизу каждой страницы! При использовании материалов активная гиперссылка на соответствующую страницу данной базы знаний обязательна!
  • Автор не несет и не может нести какую либо ответственность за последствия использования материалов, размещенных в данной базе знаний. Все материалы предоставляются по принципу «как есть». Используйте их исключительно на свой страх и риск.
  • Все высказывания, мысли или идеи автора, размещенные в материалах данной базе знаний, являются исключительно его личным субъективным мнением и могут не совпадать с мнением читателей!
  • При размещении ссылок в данной базе знаний на интернет-страницы третьих лиц автор не несет ответственности за их техническую функциональность (особенно отсутствие вирусов) и содержание! При обнаружении таких ссылок, можно и желательно сообщить о них в комментариях к соответствующей статье.

Обсуждение

Ваш комментарий:
E V​ R L P F P L I Q B U U J​ S D
 
Последнее изменение: 2023/11/10 18:10 — Николай Солошин