你买了一堆智能灯、温湿度计、空调伴侣,结果 App 装了七八个,通知永远关不完,想让“人进门灯亮”还得翻说明书找联动设置——Node-RED 就是来收拾这个烂摊子的。
它不卖硬件,不收月费,也不需要你写代码。你只要把各种设备、服务像拼乐高一样连起来,它就自动帮你跑通整个流程。
不是程序员也能用,但比手机 App 的预设联动灵活得多。比如:下雨前自动关窗、下班路上提前开空调、凌晨三点冰箱门没关好发微信提醒你。
它的底层是基于 Node.js 的运行时,所有逻辑都封装成可复用的图形化节点。每个节点代表一个动作:接收消息、调用 API、处理数据、发送指令。
节点之间用连线表示数据流向,输入输出端口有明确类型标识,比如字符串、JSON 对象、二进制图像流。连错类型会直接报错,不用猜哪里出问题。
替代了哪些付费软件
它不直接对标某一个收费 App,而是替代了「智能家居厂商私有云+付费高级联动」这套组合拳。比如米家 Pro 会员、Home Assistant 云同步服务、IFTTT 高级自动化套餐——这些加起来每年要花 60 到 180 元不等。
你不需要把设备全换成同一个品牌,也能让它们听你一句话。
很多用户装完 Node-RED 后,直接卸载了三四款厂商 App。因为原来得靠厂商服务器中转的联动,现在全在你自己的树莓派或旧电脑上本地跑。
价格直接砍到零。
所有触发条件、执行顺序、失败重试机制都由你完全掌控。没有后台偷偷上传数据,也没有突然停服的风险。
核心功能
- 把微信、钉钉、飞书的消息变成触发器:别人发“开灯”,你家灯就亮,不用再点开 App 手动操作。官方文档里明确支持 Webhook 和消息机器人接入,配置界面全是可视化节点。微信需先在公众号平台配置服务器地址和 Token,钉钉则填入群机器人 Webhook 地址即可。
- 读取本地 USB 温湿度传感器、串口继电器、GPIO 引脚信号,再通过 MQTT 或 HTTP 推给 Home Assistant 或飞利浦 Hue 网关。不用买专用网关,一块二手树莓派就能当中枢。具体操作是在「serial in」节点里选对 /dev/ttyUSB0 设备,再用「function」节点解析 Modbus 协议返回的原始字节。
- 定时抓取网页上的天气预报、股票收盘价、快递物流状态,自动整理成表格发到你的邮箱或企业微信。不需要 Python 环境,所有请求和解析都用图形化节点完成。用「http request」节点填入目标 URL,接一个「html」节点提取特定 class 内容,最后用「email」节点发出去。
- 把摄像头拍到的画面传进 AI 模型(比如本地部署的 YOLO),识别出“有人”“有猫”“有包裹”,再决定是否推通知、存录像或开灯。模型部分得自己搭,但数据流转完全图形化。图像帧从「ffmpeg」节点采集,经「base64」编码后送入「exec」节点调用本地 Python 脚本,识别结果用 JSON 格式返回。
- 把不同平台的数据打通:比如把飞书日程里的会议开始时间,同步到小米闹钟;把微信运动步数,写进 Excel 表格自动生成周报。每个平台都对应一个现成的节点,不用写一行 API 调用代码。飞书用「feishu-oauth2」节点授权,小米闹钟则走「miio」节点直连局域网设备。
- 自动备份你 NAS 上的监控录像:检测到移动画面就启动录制,满 7 天自动删旧文件,全程不经过公网,录像只存在你自己的硬盘里。用「motion detection」节点分析 RTSP 流,触发后调用「exec」节点运行 ffmpeg 命令录制成 MP4,再用「cron」节点每天凌晨清理 /mnt/nas/recordings 下超过 7 天的文件。
三步上手
- 去官网 nodered.org 找「Install」按钮,点进去选「Docker 方式」,这是对新手最友好的安装法,复制一行命令粘贴进终端回车就行,不用管 npm 或权限问题。典型命令是
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red,其中-v参数确保流程配置不会随容器删除而丢失。 - 安装完打开浏览器访问 http://localhost:1880,你会看到一个蓝白相间的画布界面,左边是各种功能模块(叫“节点”),右边是工作区,拖拽连接就能搭流程。首次进入时,左侧菜单默认折叠,点击顶部「Menu」→「Palette」可展开全部节点分类。
- 先试一个最简单的:从「inject」节点(模拟手动触发)拉线连到「debug」节点(打印结果),点左上角「Deploy」,再点 inject 节点右边的小三角,右下角就会出现“hello world”。这一步确认环境跑通了。注意 Deploy 按钮必须每次修改后点击,否则改动不会生效。
项目信息
Low-code programming for event-driven applications



