WARAN 家庭自动化套件:树莓派 + Arduino + nRF24L01+ 模块化设计
组件与物料
| 组件 | 数量 |
|---|---|
| Raspberry Pi 2 Model B | 1 |
| Arduino UNO | 1 |
| DHT11 温湿度传感器 (4针) | 2 |
| 土壤湿度传感器 | 1 |
| Arduino Pro Mini 5V | 2 |
| 9V 电池 | 3 |
| 水泵 | 1 (可选) |
| nRF24L01+ 模块 | 3 |
| nRF24L01+ 座子 | 1 (可选) |
| NPN 三极管、3.3V 稳压 IC、10k/10μF/47μF 电阻电容、万用板 | 若干 |
所需工具
- 焊台、剥线钳、剪线钳、杜邦线
软件平台
- Windows 10 IoT Core (运行于树莓派)
- Microsoft Azure (云后端)
- PubNub 发布/订阅 API (实时消息)
系统架构
WARAN = Windows IoT + Azure + Raspberry Pi + Arduino + NRF24L01+。采用星型拓扑:单一 Hub + 多个无线模块。模块由 MCU + 传感器组成,通过 2.4GHz nRF24L01+ 向 Hub 上报数据、接收控制指令。Hub 在树莓派运行 UWP 应用(控制中心),配合大屏显示、键鼠操作,并同步数据至 Azure + PubNub,手机端可远程监控与控制。
Hub 硬件
RPi2 + Arduino UNO + nRF24L01+。Arduino 通过 I2C 与 RPi2 通信,充当无线网关。电路图见 WARAN.Hub.fzz。
通信流程
- 定时轮询各模块
- 用户通过控制中心交互
- 云端 (PubNub) 下发触发指令
控制中心将模块地址与指令经 I2C 发给 Arduino,Arduino 经 nRF24L01+ 转发,模块执行后回传,经 Arduino → I2C → RPi2 → 显示/上云。
两大演示模块
1. 植物浇水器
- Arduino Pro Mini + DHT11 + 土壤湿度传感器 + nRF24L01+
- 9V 电池经 RAW 引脚供电,板载稳压输出 5V 给 DHT11,外接 3.3V 稳压给 nRF24L01+
- 土壤湿度读 A3,温湿度读 D6,D5 控制三极管驱动水泵
- 低水位报警推送手机,可远程/自动启泵
- 已从面包板迁移至万用板,结构紧凑
2. 温度监测器
- Arduino Pro Mini + DHT11 + nRF24L01+
- 供电方案同浇水器,D5 读温湿度,D6 控制继电器/三极管驱动空调或加热设备(演示用 LED)
已知问题与改进方向
- 续航:9V 电池仅维持数小时,计划改用 ATtiny 低功耗 MCU
- I2C 并发:RPi2 并发请求会导致丢包,需加重试机制
- 单向通信:目前仅 Hub 轮询,计划支持模块主动上报
- 距离:穿墙可用,远距离可换装 PA+LNA 增强版 nRF24L01+
- 安全:暂无认证,可接入 Azure Identity 做 OAuth
未来规划
- 可燃气体检测、入侵报警、咖啡机/灯光控制器、车库门开启器
- 可穿戴模块、无硬件互联网服务(天气、股票、Azure Logic Apps)
- 超出 Hub 覆盖范围的模块(车辆追踪、宠物定位、计步器)走互联网直连云端
- 语音控制、开放模块开发规范,欢迎社区贡献
源码与文档
完整源码、部署文档、原理图(WARAN.Hub.fzz、PlantWaterer.fzz、TemperatureMonitor.fzz)托管于 Bitbucket。
制造工艺
- 树莓派打造家庭自动化系统:手机远程控制灯风扇大门
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
- 实体智能家居交互界面:基于 Arduino Yun 与 MQTT 的物理模型房屋
- Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
- Arduino Nano 驱动的智能家居植物自动浇水系统
- Arduino 简易排斥式磁悬浮:电路与 DIY 指南
- Alexa 语音控制 Arduino 智能家居中枢:基于 Yun + PubNub + AWS Lambda 全栈实现
- Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
- DIY LED 轮盘赌游戏机 —— Arduino Nano 打造单人桌面街机
- 基于 Arduino Mega 与物联网传感器的高级家庭监控系统
- 智能家居技术如何重塑日常生活