news 2026/5/5 20:16:42

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/4/25 7:54:48

体系认证和验厂客户的区别

体系认证体系认证是指不同体系制定方授权委托中立的第三方机构对申请通过某种标准的企业是否能达到所规定的标准进行审查的活动。体系审核主要有社会责任审核、质量体系审核、环境体系审核、反恐体系审核等这类标准主要有BSCI、BEPI、SEDEX/SMETA、WRAP、ICTI、WCA、SQP、GMP、…

作者头像 李华
网站建设 2026/4/29 14:49:09

14、Yocto 软件层开发指南

Yocto 软件层开发指南 1. 基础编译示例 1.1 代码示例 以下是一个简单的 C 语言程序编译示例,包含了 helloworld.c 文件和对应的编译、安装脚本: SRC_URI = "file://helloworld.c" S = "${WORKDIR}" do_compile() {${CC} ${LDFLAGS} helloworld.c -…

作者头像 李华
网站建设 2026/5/3 13:42:26

AI 应用外包开发公司

寻找一家优秀的 AI 应用开发公司,其评估标准不同于通用软件外包,更侧重于其数据科学能力、算法工程化、行业定制经验以及快速原型验证能力。以下是从五个关键维度来评估和选择 AI 应用开发公司的专业方法:一、 数据与模型科学能力AI 应用的核…

作者头像 李华
网站建设 2026/4/18 11:05:53

18、Yocto项目应用开发:SDK获取、构建与使用全解析

Yocto项目应用开发:SDK获取、构建与使用全解析 1. GNU工具链与交叉编译工具链概述 GNU工具链是开发中的重要基础,它包含以下组件: - 汇编器(GNU as) :属于binutils包的一部分。 - 链接器(GNU ld) :同样是binutils包的一部分。 - 编译器(GNU gcc) :最新版…

作者头像 李华
网站建设 2026/5/2 9:27:56

20、嵌入式应用开发:GTK+与Qt应用构建指南

嵌入式应用开发:GTK+与Qt应用构建指南 在嵌入式系统的开发过程中,应用程序的开发是至关重要的一环。本文将详细介绍如何使用Eclipse IDE构建、运行和调试图形化的GTK+应用程序,以及如何使用Qt Creator IDE进行Qt应用程序的开发。 远程调试配置 在对远程目标进行调试之前,…

作者头像 李华
网站建设 2026/5/6 7:55:03

21、应用开发全解析:从工作流到构建系统

应用开发全解析:从工作流到构建系统 在应用开发的领域中,有多种工作流和构建系统可供选择。本文将详细介绍应用开发的不同工作流,以及如何使用各种构建系统进行开发,同时还会讲解如何与库进行协作。 应用开发工作流 在使用 Yocto Project 进行应用开发时,推荐使用标准或…

作者头像 李华