Node-RED 物联网实践系列(2):安装与环境准备(Windows 11 与 Docker)

在这里插入图片描述

目标

  • 在 Windows 11 上安装并运行 Node-RED(本地)
  • 通过 Docker 和 Compose 快速部署并持久化数据
  • 掌握常用启动参数、升级与常见问题处理
  • 了解其他平台的安装方法

前提

  • 安装 Node.js LTS(建议使用官方 MSI 安装包)
  • 确保具备 PowerShell(推荐)或 cmd 终端使用能力

安装 Node.js 与校验

  • 从官方主页下载并安装 Node.js LTS:https://nodejs.org/en/
  • 安装完成后在 PowerShell 验证版本:
node --version; npm --version

输出示例:

v18.15.0
9.5.0

使用 npm 安装 Node-RED(本地全局)

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

说明:

  • Windows 下无需 sudo
  • 全局安装将提供 node-red 命令

启动与首次验证

node-red

典型启动输出(节选):

Welcome to Node-RED
===================

27 Nov 12:01:47 - [info] Node-RED version: v4.1.1
27 Nov 12:01:47 - [info] Node.js  version: v22.14.0
27 Nov 12:01:47 - [info] Windows_NT 10.0.26200 x64 LE
27 Nov 12:01:48 - [info] Loading palette nodes
27 Nov 12:01:49 - [info] Settings file  : C:\Users\Administrator\.node-red\settings.js
27 Nov 12:01:49 - [info] Context store  : 'default' [module=memory]
27 Nov 12:01:49 - [info] User directory : \Users\Administrator\.node-red
27 Nov 12:01:49 - [warn] Projects disabled : editorTheme.projects.enabled=false
27 Nov 12:01:49 - [info] Flows file     : \Users\Administrator\.node-red\flows.json
27 Nov 12:01:49 - [warn]

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

27 Nov 12:01:49 - [warn] Encrypted credentials not found
27 Nov 12:01:49 - [info] Server now running at http://127.0.0.1:1880/
27 Nov 12:01:49 - [info] Starting flows
27 Nov 12:01:49 - [info] Started flows
  • 打开浏览器访问:http://localhost:1880
  • 首次运行会在 %HOMEPATH% 下创建用户目录:%HOMEPATH%\.node-red

常用启动参数

  • 变更端口与开启详细日志:
node-red -p 1881 -v
  • 安全模式启动(不运行现有 flows,便于排错):
node-red --safe
  • 指定用户目录(自定义配置与数据目录):
node-red --userDir "C:\NodeRED\userdir"

升级 Node-RED

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

进阶:为多用户共享全局 npm 目录(可选)

mkdir $env:ALLUSERSPROFILE\npmglobal
npm config set prefix $env:ALLUSERSPROFILE\npmglobal

mkdir $env:ALLUSERSPROFILE\npmglobal-cache
npm config set cache $env:ALLUSERSPROFILE\npmglobal-cache --global

随后在“系统环境变量”中将新前缀路径加入 PATH。

设置 Node-RED 自启动的几种方法

  • Windows 11(任务计划程序)

    • 打开“任务计划程序”,创建基本任务,触发器选择“登录时”,操作为“启动程序”。
    • 程序填写 node-red(或 node 并在参数中指定 C:\Users\<user>\AppData\Roaming\npm\node-red.cmd),起始目录设为 %HOMEPATH%\.node-red
    • 创建后在“属性”中设为“以最高权限运行”,确认后重新登录即可自启动。
  • Windows 11(PM2 管理)

npm install -g pm2
pm2 start node-red -- -p 1880
pm2 save
pm2 startup

使用 Docker 快速运行

  • 简单运行(使用命名卷持久化 /data):
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red:latest
  • Docker Compose(推荐)

docker-compose.yml

version: '3.8'
services:
  nodered:
    image: nodered/node-red:latest
    container_name: mynodered
    ports:
      - "1880:1880"
    volumes:
      - node_red_data:/data
    restart: unless-stopped
volumes:
  node_red_data:

启动:

docker compose up -d

验证:访问 http://localhost:1880

常见问题与排查

  • 端口占用:调整 -p 参数,如 node-red -p 1881
  • 无法访问:检查防火墙与杀软拦截规则
  • 模块编译失败:安装 windows-build-tools(仅当节点需要二进制编译)
npm install --global --production windows-build-tools

在 Linux 上安装与运行

  • 前提:已安装 Node.js LTS;建议使用发行版包管理器或按官方指引安装。验证版本:
node --version; npm --version
  • 安装 Node-RED(全局):
sudo npm install -g --unsafe-perm node-red
  • 启动与验证:
node-red

访问:http://localhost:1880。首次运行会在 ~/.node-red 创建用户目录。

  • 可选:以 systemd 管理为服务,创建 /etc/systemd/system/nodered.service
[Unit]
Description=Node-RED
After=network.target

[Service]
Type=simple
User=<your-user>
ExecStart=/usr/bin/env node-red
Restart=on-failure

[Install]
WantedBy=multi-user.target

启用与启动:

sudo systemctl daemon-reload
sudo systemctl enable nodered
sudo systemctl start nodered
sudo systemctl status nodered

在树莓派(Raspberry Pi OS)上安装

  • 使用官方脚本(自动安装 Node.js LTS 与 Node-RED 并配置服务):
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
  • 启动与管理:
node-red-start
node-red-stop
node-red-restart
node-red-log

或使用 systemd:

sudo systemctl enable nodered.service
sudo systemctl start nodered.service
  • 访问:http://<pi-ip>:1880,首次运行用户目录位于 /home/pi/.node-red

  • 升级:重新运行上述脚本。

在 Android(Termux)上安装

你可以将你的手机变成NodeRed 服务器,步骤与在Linux上安装有些类似,因为Android的内核就是Linux,以下是安装步骤

  • 安装 Termux(推荐从 F-Droid 获取新版),并执行:
pkg update && pkg upgrade
# 安装 Node.js LTS 22.21.1版本
pkg install nodejs-lts
# 安装 Node-RED
npm install -g --unsafe-perm node-red
termux-setup-storage
  • 启动:
node-red

默认监听 127.0.0.1:1880。如需同一局域网访问,编辑 ~/.node-red/settings.js,将 uiHost 设置为 "0.0.0.0" 后重启。

  • 数据目录:~/.node-red(位于 Termux 主目录)。

参考

  • 本地运行文档:https://nodered.org/docs/getting-started/local
  • Windows 安装指南:https://nodered.org/docs/getting-started/windows
  • Docker 指南:https://nodered.org/docs/getting-started/docker
  • Linux 安装指南:https://nodered.org/docs/getting-started/linux
  • Raspberry Pi 指南:https://nodered.org/docs/getting-started/raspberrypi
  • Android 指南:https://nodered.org/docs/getting-started/android
内容概要:本文介绍了一个基于MATLAB实现的无人机三维路径规划项目,采用蚁群算法(ACO)多层感知机(MLP)相结合的混合模型(ACO-MLP)。该模型通过三维环境离散化建模,利用ACO进行全局路径搜索,并引入MLP对环境特征进行自适应学习启发因子优化,实现路径的动态调整多目标优化。项目解决了高维空间建模、动态障碍规避、局部最优陷阱、算法实时性及多目标权衡等关键技术难题,结合并行计算参数自适应机制,提升了路径规划的智能性、安全性和工程适用性。文中提供了详细的模型架构、核心算法流程及MATLAB代码示例,涵盖空间建模、信息素更新、MLP训练融合优化等关键步骤。; 适合人群:具备一定MATLAB编程基础,熟悉智能优化算法神经网络的高校学生、科研人员及从事无人机路径规划相关工作的工程师;适合从事智能无人系统、自动驾驶、机器人导航等领域的研究人员; 使用场景及目标:①应用于复杂三维环境下的无人机路径规划,如城市物流、灾害救援、军事侦察等场景;②实现飞行安全、能耗优化、路径平滑实时避障等多目标协同优化;③为智能无人系统的自主决策环境适应能力提供算法支持; 阅读建议:此资源结合理论模型MATLAB实践,建议读者在理解ACOMLP基本原理的基础上,结合代码示例进行仿真调试,重点关注ACO-MLP融合机制、多目标优化函数设计及参数自适应策略的实现,以深入掌握混合智能算法在工程中的应用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全那些事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值