news 2026/2/10 6:12:54

node-red

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
node-red

node-red

安装

1、安装nodejs和npm
1.1 更新本地包
  • 先更新本地包,以免系统包错误

sudo apt update

1.2 安装nodejs和npm

安装nodejs

sudo apt update

安装npm

sudo apt-get install npm

安装完成后查看nodejs和npm版本:

Node-RED需要Node.js 12.x 或更高版本。

node -v
npm -v

1.3 【可选但是建议】切换npm源到淘宝

切换npm源(淘宝):

npm config set registry https://registry.npmmirror.com

查看源地址:

npm config get registry

1.4【可选但是建议】升级nodejs到最新的版本

清除npm缓存:

npm cache clean --force

全局安装n(n是node包管理工具):

sudo npm install -g n

升级nodejs到最新稳定版:

sudo n stable

  • 升级完成后,查看nodejs和npm版本是否已更新,一般情况下npm版本会和nodejs一起更新。
  • 如果npm未更新到新版本,可以使用下面的命令单独更新:

npm install -g npm@latest

npm install -g npm@latest

2、安装node-red
  1. 运行node-red安装命令

sudo npm install -g --unsafe-perm node-red

注意:

  • 由于网络的原因,安装结果可能会很漫长,如果失败就多运行几次这个安装命令。
  • 中途不要断网、断电、异常终端,否则会出现各种异常,常见的有ENOTEMPTY(需要sudo nautilus进入文件系统,手动清空文件重新安装)、ETIMEOUT(重新执行上面命令)。

返回上图表示安装成功,如果失败会有错误提示。

3、运行node-red
  • 如果已经安装防火墙,需要在防火墙上打开一个1880端口(Node-RED 默认使用端口 1880)。

sudo ufw allow 1880

启动 Node-RED 本身。

node-red

看到“Welcome to Node-RED”消息即为启动成功。在web中打开 http://localhost:1880即可访问,远程也可以通过http://服务器ip:1880进行访问。

安装教程链接来源。

卸载

# 1.1 卸载 Node-RED 本身
sudo npm uninstall -g node-red

# 1.2 卸载相关的全局包
sudo npm uninstall -g node-red-admin

作用和原理

1. 基础架构

Node-RED 运行在一个 Node.js 环境中,使用 Node.js 的事件驱动非阻塞I/O模型。它基于以下几个核心组件:

  • 节点(Nodes)‌:这是构成流程的基本单元。节点可以执行各种功能,如输入、输出、函数处理等。
  • 流程(Flows)‌:由多个节点通过线(连线)连接起来,形成一个数据流。
  • 工作区(Workspace)‌:用户通过浏览器界面编辑和部署流程的地方。

2. 工作原理

节点

  • 输入节点‌:如 HTTP 输入、TCP 输入、文件输入等,用于接收数据。
  • 函数节点‌:允许用户编写 JavaScript 代码来处理数据。
  • 输出节点‌:如 HTTP 输出、TCP 输出、调试输出等,用于发送数据。
  • 服务节点‌:如邮件服务、数据库服务等,用于执行特定任务。

一个节点就如同一个具有特定功能的插件。

流程

流程定义了数据如何从输入节点流向输出节点。每个节点可以处理数据并将其传递给下一个节点。例如,一个 HTTP 请求可以触发一个流程,该流程读取数据,进行一些处理,然后输出结果到另一个服务。

部署和运行

  • 部署‌:用户完成流程的编辑后,可以通过 Node-RED 界面部署流程到服务器(node-red程序所在设备)上。
  • 执行‌:部署后,流程在Node.js 的事件循环中运行。每当输入节点接收到数据时,流程就会被触发执行。

什么是node.js事件循环:

事件循环本质上就是一个"循环监测事件并触发回调的单线程"

简化模型:
┌───────────────────────────┐
│ 事件循环持续运行 │
│ ↓ │
│ 检查事件队列 │
│ ↓ │
│ 取出事件处理 │
│ ↓ │
│ 执行回调函数 │
│ ↓ │
│ 等待新事件 │
└───────────────────────────┘

使用案例

在前端界面中进行变成之后,想要变更的功能发挥作用,一定要先“部署”。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 0:19:47

10、嵌入式 Linux 开发:BSP 层、内核模块与调试技巧

嵌入式 Linux 开发:BSP 层、内核模块与调试技巧 1. 内核镜像启动与补丁生成 在启动 uImage Linux 内核镜像时,可使用 bootm 命令,格式如下: bootm <kernel_addr> - <dtb_addr>若使用 initramdisk ,则将其作为第二个参数传入;若未使用,则用 - 替代…

作者头像 李华
网站建设 2026/2/5 13:30:14

12、嵌入式系统开发:设备树与软件层定制指南

嵌入式系统开发:设备树与软件层定制指南 1. 设备树基础与操作 在嵌入式系统中,设备树起着至关重要的作用。任何 soc 的子节点都需要使用 reg 属性来定义其内存寻址,该属性包含一个用于地址的单元和一个用于大小的单元。例如,aips - bus 节点使用以下属性进行定义: reg…

作者头像 李华
网站建设 2026/2/6 8:15:13

19、Yocto项目应用开发指南

Yocto项目应用开发指南 1. 额外目录介绍 在Yocto开发环境中,存在一些额外的目录,它们各自承担着重要的功能: - buildtools :这是Yocto构建系统使用的一组与发行版无关的工具集合。其主要作用是消除对主机发行版的依赖,确保构建过程的独立性。 - cache :用于存储本…

作者头像 李华
网站建设 2026/2/7 10:16:13

25、嵌入式系统中的Docker应用开发与调试指南

嵌入式系统中的Docker应用开发与调试指南 1. Docker应用开发 在Wandboard上运行Docker,需要确保Linux内核具备特定的支持。Wandboard的v4.1内核能够运行Docker,但默认配置需要进行调整,例如启用OverlayFS支持等。可以使用脚本(https://raw.githubusercontent.com/moby/mo…

作者头像 李华