在树莓派上运行

前提条件

如果您正在使用树莓派操作系统,目前支持的版本是 Bullseye。

安装和升级 Node-RED

我们提供一个脚本来安装 Node.js、npm 和 Node-RED 到树莓派上。该脚本也可以在新版本发布时用于升级现有安装。

运行以下命令将下载并运行该脚本。如果您想先查看脚本的内容,可以在 Github 上查看它。

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

您可以向脚本传递额外的参数。在上述命令的末尾添加 --help 来查看它们。

该脚本将在任何 基于 Debian 的操作系统上运行,包括 UbuntuDiet-Pi。您可能需要先运行 sudo apt install build-essential git curl 确保 npm 能够获取并构建所需的任何二进制模块。

该脚本将:

  • 删除现有的 Node-RED 版本(如果存在)。
  • 如果检测到 Node.js 已安装,确保其版本至少为 v14。如果低于 v14,将停止并让用户决定是保留 Node-RED 版本 1 还是升级 Node.js 到更高版本的 LTS 版本。如果未找到任何内容,则将安装 Node.js 16 LTS 版本,使用 NodeSource 软件包。
  • 使用 npm 安装最新版本的 Node-RED。
  • 可选地安装一组有用的树莓派专用节点。
  • 设置 Node-RED 作为服务运行,并提供一组与服务交互的命令。
Node-RED 也已打包到树莓派操作系统的仓库中,并出现在他们的“推荐软件”列表中。这允许通过 apt-get install nodered 来安装,并包含树莓派操作系统打包的 Node.js 版本,但 不包含 npm

注意: 此时,树莓派操作系统 Bullseye 中包含的默认 Node.js 仍为 v12。这意味着可以安装的最新 Node-RED 版本是 2.x 分支。虽然最初使用这些软件包很方便,但我们 强烈建议 使用上述安装脚本。

本地运行

在本地运行 Node-RED 一样,您可以使用 node-red 命令在终端中运行 Node-RED。然后,可以通过按 Ctrl-C 或关闭终端窗口来停止它。

由于树莓派的内存有限,您需要使用额外的参数启动 Node-RED,以告知底层 Node.js 进程更早地释放未使用的内存。

为此,您应该使用替代的 node-red-pi 命令,并传入 max-old-space-size 参数。

node-red-pi --max-old-space-size=256

作为服务运行

树莓派的安装脚本还将其设置为以服务形式运行。这意味着它可以在后台运行,并允许在启动时自动开始。

提供以下命令以与服务交互:

  • node-red-start - 启动 Node-RED 服务并显示其日志输出。按 Ctrl-C 或关闭窗口不会停止服务;它会继续在后台运行。
  • node-red-stop - 停止 Node-RED 服务。
  • node-red-restart - 停止并重启 Node-RED 服务。
  • node-red-log - 显示服务的日志输出。

您还可以通过选择树莓派操作系统桌面上的 菜单 -> 编程 -> Node-RED 菜单选项来启动 Node-RED 服务。

启动时自动运行

如果您希望 Node-RED 在树莓派开机或重启时运行,可以通过运行命令启用服务自动启动:

sudo systemctl enable nodered.service

要禁用该服务,请运行命令:

sudo systemctl disable nodered.service

打开编辑器

一旦 Node-RED 正在运行,您可以在浏览器中访问编辑器。

如果您在树莓派桌面上使用浏览器,可以打开地址:http://localhost:1880

我们建议使用树莓派以外的浏览器,并指向运行在树莓派上的 Node-RED。不过,您可以使用内置浏览器,如果是这样,我们推荐 Chromium 或 Firefox-ESR,而 不是 Epiphany。

从另一台机器进行浏览时,您应使用树莓派的主机名或 IP 地址:http://<hostname>:1880。您可以通过在树莓派上运行 hostname -I 来找到 IP 地址。

下一步