基于树莓派的家庭自动化系统 home-automation

智能家居 ⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
deepsyx 972 Stars 未知 BOM 完整度: /5 教程完整度: /5

项目简介

Raspberry Pi 3 based home automation with NodeJS and React Native.


这是一个基于树莓派和JavaScript构建的智能家居自动化开源项目,由开发者deepsyx利用业余时间打造。项目核心解决的是如何用低成本硬件和现代Web技术,实现家庭设备的集中控制与自动化。技术栈上,前端采用React Native开发手机App,后端使用Node.js,两者通过WebSocket实现实时双向通信。数据层引入了ImmutableJS的Record来保证数据结构的一致性和性能,客户端与服务器之间通过JSON交换数据,并共享了名为home-records和home-config的本地npm包。硬件方面,树莓派3作为控制中枢,通过pi-blaster和wiringPi库操控GPIO引脚,连接了多种设备:高功率LED灯带由外部12V 5A电源供电并与树莓派共地;空调通过950nm红外LED控制;供暖系统则通过继电器和舵机分别控制开关与恒温器;白色和RGB LED灯带通过IRLZ34N逻辑晶体管连接;还配备了红外接收器用于录制遥控信号,以及DS18B20温度传感器监测室温。项目还利用DuckDNS的定时任务解决公网IP变化问题,实现远程访问。适用场景包括希望低成本入门智能家居的爱好者、想用JavaScript全栈开发物联网应用的开发者,以及需要灵活定制家庭自动化方案的用户。项目代码结构清晰,分为phone-app和server两个主要目录,并欢迎社区贡献新模块创意。

标签

项目特点

使用React Native开发跨平台手机App,通过WebSocket与服务器实时通信
支持控制多种设备:LED灯带(白色和RGB)、空调、暖气系统
使用ImmutableJS Records保证数据一致性,提升应用性能
前后端共享模块分离为独立npm包(home-records和home-config)
通过pi-blaster和wiringPi库控制GPIO引脚
支持红外遥控学习功能(通过lirc录制空调编码)
集成DuckDNS动态域名解析,适应IP变化
服务器实时广播状态变化给所有连接用户

技术规格

控制单元
后端框架
移动端框架
通信协议
数据格式
GPIO控制
红外控制
温度传感器
动态DNS
电源

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Raspberry Pi 3 1 控制单元
12V 5A电源适配器 1 为高功率设备供电
白色LED灯带 1 通过IRLZ34N逻辑晶体管控制
RGB LED灯带 1 通过IRLZ34N逻辑晶体管控制
950nm红外LED 1 控制空调
红外接收器 1 录制红外信号
继电器模块 1 控制暖气开关
舵机 1 控制暖气恒温器
DS18B20温度传感器 1 测量室温
IRLZ34N逻辑电平MOSFET 2 驱动LED灯带

所需工具

工具用途是否必需
焊台 焊接电子元件和连接线 ✅ 是
螺丝刀套装 安装和固定硬件 ✅ 是
万用表 测试电路连接和电压 ✅ 是
面包板 原型测试电路 ▢ 推荐
杜邦线 连接各模块 ✅ 是

能力画像

记忆与知识检索
2/5
逻辑推演
3/5
表达与交流
1/5
感知与观察
2/5
数理与计算
2/5
动手与操作
4/5
狂热与坚持
3/5
创造与创新
3/5

视频

wh0OoLUTeM8

所需技能

🔧 **动手能力**:需要焊接电子元件、连接电路、安装硬件设备,熟悉面包板原型测试 💻 **编程能力**:需要掌握NodeJS后端开发、React Native移动端开发、WebSocket通信、npm包管理 ⚡ **电子电路**:需要理解GPIO控制、MOSFET晶体管驱动、红外信号录制与发射、继电器控制、温度传感器接口

适用场景

智能家居DIY爱好者,希望用JavaScript技术栈构建家庭自动化系统
希望学习Raspberry Pi与NodeJS/React Native结合开发物联网应用
需要远程控制家中灯光、空调、暖气等设备的用户
对红外遥控信号录制和学习感兴趣的技术爱好者