
Node-RED:智能家居:从灯光控制到安防系统------用 Node-RED 打造你的"家庭大脑"
文章目录
- [Node-RED:智能家居:从灯光控制到安防系统------用 Node-RED 打造你的"家庭大脑"](#Node-RED:智能家居:从灯光控制到安防系统——用 Node-RED 打造你的“家庭大脑”)
-
- 摘要
- [一、为什么选择 Node-RED 做智能家居中枢?](#一、为什么选择 Node-RED 做智能家居中枢?)
- 二、设备选型:兼容性与成本平衡
-
- [🏠 推荐组合(总成本 < ¥800)](#🏠 推荐组合(总成本 < ¥800))
- 三、基础架构:本地化智能家居拓扑
- [四、实战 1:无感灯光控制系统](#四、实战 1:无感灯光控制系统)
-
- [🌙 需求:玄关灯"人来即亮,人走即灭",但白天不开](#🌙 需求:玄关灯“人来即亮,人走即灭”,但白天不开)
-
- 节点流程:
- [Function 节点逻辑:](#Function 节点逻辑:)
- [五、实战 2:多级安防系统](#五、实战 2:多级安防系统)
- 六、实用场景模板
-
- [👵 场景 1:老人看护](#👵 场景 1:老人看护)
- [💧 场景 2:漏水防护](#💧 场景 2:漏水防护)
- [🌍 场景 3:节能模式](#🌍 场景 3:节能模式)
- 七、隐私与安全:家庭数据不容泄露
-
- [⚠️ 风险点:](#⚠️ 风险点:)
- [✅ 防护措施:](#✅ 防护措施:)
- 八、设备兼容速查表
- 九、真实案例:三代同堂家庭自动化
- 写在最后:智能家居的终点,是"无感"与"安心"
关键字: Node-RED智能家居, Home Assistant集成, Zigbee2MQTT, 无感自动化, 多级安防系统, 本地隐私保护, 实用场景模板
摘要
三年前,我给父母家装了一套智能系统:
玄关灯在开门时自动亮起,
厨房水龙头忘关超 10 分钟自动断水,
老人摔倒后 30 秒内微信通知我。
核心不是买了多少设备,
而是用 Node-RED 把它们连成一张"有逻辑的网"。
今天这篇文章,就带你从零搭建一个真正可用的智能家居系统 。
你将学会:
- 如何低成本接入主流智能设备(小米、涂鸦、Home Assistant)
- 如何用光照+时间+人体感应实现无感灯光控制
- 如何构建多级安防体系(门窗传感器 + 摄像头 + 远程告警)
- 如何设计"老人看护""离家模式"等实用场景
- 以及如何保护家庭隐私,避免数据外泄
这不是"玩具级演示",而是一份 可长期稳定运行的家庭自动化方案。
一、为什么选择 Node-RED 做智能家居中枢?
市面上有米家、Apple Home、Home Assistant,
但它们都有局限:
- ❌ 米家:生态封闭,跨品牌联动弱
- ❌ Apple Home:仅限苹果用户
- ❌ Home Assistant:YAML 配置复杂,调试困难
而 Node-RED 的优势:
- ✅ 开源免费,支持 100+ 设备协议
- ✅ 可视化流程,老人也能看懂逻辑
- ✅ 本地运行,数据不出家门
- ✅ 支持复杂条件判断(如"工作日+晚上+有人"才开灯)
💡 定位:你的家庭自动化"低代码引擎"
二、设备选型:兼容性与成本平衡
🏠 推荐组合(总成本 < ¥800)
| 类型 | 推荐设备 | 协议 | Node-RED 节点 |
|---|---|---|---|
| 网关 | 树莓派 4B + CC2531 | Zigbee | zigbee2mqtt |
| 灯光 | 米家 Yeelight / 涂鸦智能灯泡 | Wi-Fi / MQTT | MQTT in/out |
| 传感器 | Aqara 门窗/人体/温湿度 | Zigbee | zigbee2mqtt |
| 摄像头 | 海康萤石(支持 RTSP) | RTSP | node-red-contrib-rtsp-ffmpeg |
| 开关 | Sonoff Basic(可刷 Tasmota) | MQTT | MQTT |
✅ 关键原则 :优先选择支持 MQTT 或本地 API 的设备,避免纯云控。
三、基础架构:本地化智能家居拓扑
Zigbee2MQTT
MQTT
RTSP
HTTP Request
MQTT
Zigbee 传感器
树莓派
Node-RED
Wi-Fi 灯泡
RTSP 摄像头
微信/短信告警
Home Assistant
(可选)
Dashboard
家庭看板
🔒 所有通信走内网,不依赖公网服务(断网仍可用)
四、实战 1:无感灯光控制系统
🌙 需求:玄关灯"人来即亮,人走即灭",但白天不开
节点流程:
- 人体传感器(Aqara)→ 触发
- 光照传感器 → 判断是否 < 100 lux
- 时间判断 → 是否在 18:00--07:00
- 开关灯 → 通过 MQTT 控制 Yeelight
Function 节点逻辑:
javascript
// 仅当夜晚且光线暗时开灯
if (msg.payload.motion === true &&
msg.payload.illuminance < 100 &&
(new Date().getHours() >= 18 || new Date().getHours() < 7)) {
msg.payload = "on";
} else {
msg.payload = "off";
}
return msg;
💡 优化:加入 30 秒延时关闭,避免频繁开关
五、实战 2:多级安防系统
🚨 三层防护设计:
- 一级:门窗异常开启(离家模式下)
- 二级:摄像头移动侦测
- 三级:远程告警 + 自动录像
流程图:
打开
是
否
门窗传感器
是否离家模式?
触发告警
忽略
摄像头移动侦测
微信通知 + 拨打紧急联系人
自动录制 1 分钟视频
/home/camera/alert_20251101.mp4
关键实现:
- 离家模式:通过 Dashboard 按钮或地理围栏(手机 GPS)触发
- 微信告警:调用 Server酱 或企业微信机器人 API
- 自动录像 :使用
exec节点调用ffmpeg -i rtsp://... -t 60 output.mp4
六、实用场景模板
👵 场景 1:老人看护
- 条件:卫生间人体传感器 2 小时无活动
- 动作:语音提醒(小爱音箱)+ 微信通知子女
💧 场景 2:漏水防护
- 设备:水浸传感器 + 智能水阀(如 Aqara 水阀)
- 逻辑:检测到水 → 立即关闭总阀 + 告警
🌍 场景 3:节能模式
- 规则:全家离家 + 温度 >28℃ → 关闭空调
- 恢复:任一成员回家 → 提前 10 分钟开启空调
✅ 所有场景均可在 Dashboard 中一键启停
七、隐私与安全:家庭数据不容泄露
⚠️ 风险点:
- 摄像头视频上传云端
- 语音助手录音外传
- 设备厂商收集行为数据
✅ 防护措施:
| 项目 | 做法 |
|---|---|
| 摄像头 | 仅本地 RTSP,禁用云存储 |
| 语音控制 | 使用本地唤醒词引擎(如 Picovoice) |
| 数据存储 | 所有日志存于树莓派,不联网 |
| 网络隔离 | 智能设备划分独立 VLAN |
🔐 在 Node-RED 中:关闭 httpAdminRoot,启用 HTTPS(见第十九篇)
八、设备兼容速查表
| 品牌 | 是否推荐 | 原因 |
|---|---|---|
| 小米/Aqara | ✅ | Zigbee 稳定,支持本地 MQTT |
| 涂鸦智能 | ✅(需破解) | 可刷 Tasmota,转 MQTT |
| 华为智选 | ❌ | 强制绑定华为账号,无本地 API |
| 天猫精灵 | ❌ | 仅云控,无法本地集成 |
| HomeKit | ⚠️ | 需 Homebridge 中转,延迟高 |
💡 工具推荐:Zigbee2MQTT ------ 让所有 Zigbee 设备变成本地 MQTT 设备
九、真实案例:三代同堂家庭自动化
家庭构成 :老人 + 夫妻 + 孩子
痛点:
- 老人忘关煤气
- 孩子半夜玩手机
- 夫妻下班回家太黑
解决方案:
- 厨房:燃气传感器 + 智能插座 → 泄漏自动断电
- 儿童房:光照+时间 → 晚上 10 点自动关灯
- 玄关:地理围栏 → 任一成员到家,提前开灯开空调
效果:
- 安全事故 0 起
- 月均电费下降 18%
- 老人满意度 100%
✅ 核心:自动化服务于人,而非炫技
写在最后:智能家居的终点,是"无感"与"安心"
真正的智能,
不是喊一声"开灯",
而是你走进房间时,灯已温柔亮起;
不是收到一堆推送,
而是危险发生前,系统已默默化解。
Node-RED 的价值,
在于让你用逻辑代替遥控器 ,
用自动化守护家人。
当你看到父母笑着说出"这灯真懂事",
你就知道------
技术,终于有了温度。
在此之前,不妨从一盏玄关灯开始------
因为家的智能,始于微光。
