news 2025/12/24 5:05:30

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进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/15 14:38:22

AI助力编程新时代:程序员的核心能力现在是什么?

最近一个月,我做了一件从未做过的事:构建微调大模型的数据集。我从未学过 Python,却使用 AI 完成了所有代码,验证了我的构想。 工作流是这样的: 我负责架构:技术调研,拆解流程,明确…

作者头像 李华
网站建设 2025/12/15 14:38:16

原生 APP 外包开发公司

寻找优秀的原生 APP 外包开发公司是确保项目质量、性能和用户体验的关键。原生 APP(如 iOS 的 Swift/Objective-C,Android 的 Kotlin/Java)相比跨平台开发,通常能带来更流畅的体验和更强大的系统能力。在选择公司时,您…

作者头像 李华
网站建设 2025/12/15 14:37:17

大数据和物联网技术,推动智慧农业的智能化发展

伴随着物联网与大数据技术的深入发展,农业生产逐步从以经验为主要依据转向以数据为核心驱动力。烟台中盾信息科技有限公司紧随2025年中央一号文件提出的“发展农业新质生产力”政策方向,通过将人工智能算法与气象数据深度结合,建立起覆盖感知…

作者头像 李华
网站建设 2025/12/19 0:34:46

AI助力C++学习:从零开始编写你的第一个程序

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个C入门学习助手,能够根据用户输入的需求自动生成简单的C代码示例,例如打印Hello World、计算两个数的和等基础功能。要求代码包含详细注释&#xff0…

作者头像 李华
网站建设 2025/12/15 14:32:52

AI如何帮你自动生成专业配色方案?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个基于AI的配色方案生成器,能够根据用户输入的主题或情绪(如科技感、自然风等)自动生成5种协调的配色方案。每种方案需包含主色、辅色和强…

作者头像 李华