Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT
Open-Home-Automation
比赛/竞技, ESP32
已发布
项目简介
用Home Assistant、ESP8266/ESP32和MQTT实现开源家庭自动化。
这是一个名为「Open-Home-Automation」的开源项目,它曾是一个专注于智能家居领域的综合性资源库,核心目标是帮助开发者利用 **Home Assistant**、**ESP8266/ESP32** 模块以及 **MQTT** 协议,快速搭建属于自己的物联网设备。项目现已停止维护,官方推荐转向更成熟的替代方案 **ESPHome**。
标签
项目特点
基于 Home Assistant 作为核心控制平台,支持丰富的第三方集成和自动化规则
使用 ESP8266/ESP32 作为低成本、低功耗的硬件节点,支持 WiFi 和 BLE 通信
采用 MQTT 协议实现设备与服务器之间的轻量级消息传递,稳定可靠
提供完整的 NFC 门锁、Sonoff 开关、温湿度传感器等真实案例的配置与代码
所有代码和配置均开源,MIT 许可证,可自由修改和商用
支持通过 Home Assistant Config 进行可视化或 YAML 方式的自动化编排
技术规格
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32 开发板 (如 NodeMCU-32S) | 1 | — | 用于主节点或门锁控制 |
| ESP8266 开发板 (如 NodeMCU v3) | 1~3 | — | 用于传感器节点 |
| DHT22 温湿度传感器 | 1 | — | 测量环境温湿度 |
| HC-SR501 人体红外传感器 | 1 | — | 检测人体移动 |
| NFC 模块 (PN532) | 1 | — | 用于门禁识别 |
| Sonoff Basic 智能开关 | 1 | — | 控制灯光或电器 |
| 5V 电磁锁 | 1 | — | 配合 NFC 实现门锁 |
| 继电器模块 (1路) | 1 | — | 控制高电压设备 |
| USB 转 TTL 串口模块 | 1 | — | 固件烧录用 |
| 5V/2A USB 电源适配器 | 2~3 | — | 为开发板供电 |
| 杜邦线、面包板、电阻 | 若干 | — | 电路连接与调试 |
所需工具
传感器模块
电池/电源
能力画像
**记忆与知识检索**:3/5 — 需要查阅 Home Assistant 配置文档、MQTT 协议细节以及 ESP 库函数手册,但整体信息组织良好,有示例可参考。
**动手与操作**:4/5 — 涉及面包板接线、焊接、模块固定和实际安装,需要一定的动手能力和细心。
**编程与算法**:3/5 — 需要编写 Arduino C++ 代码实现传感器读取、MQTT 发布/订阅逻辑,以及 YAML 自动化配置,但复杂度不高。
**设计与建模**:2/5 — 不需要复杂的 3D 建模或 PCB 设计,但需要规划设备布局和电路连接图。
**实验与调试**:4/5 — 需要反复烧录固件、查看串口日志、调试 MQTT 消息是否正常到达,以及排查 WiFi 连接问题。
**协作与分享**:2/5 — 项目以个人 DIY 为主,但可以通过 GitHub Issue 或社区论坛交流经验。
**学习与研究**:4/5 — 适合学习物联网协议栈(MQTT/WiFi/BLE)、嵌入式开发以及智能家居系统架构。
**系统集成**:4/5 — 需要将多个 ESP 节点、传感器、执行器与 Home Assistant 平台整合成一套可工作的自动化系统。
项目图库
所需技能
基础的电子电路知识(面包板、杜邦线、继电器接线)
基本的 C/C++ 编程能力(Arduino 框架)
了解 MQTT 协议的基本概念(主题、发布/订阅)
熟悉 Home Assistant 的安装与 YAML 配置
能够使用串口工具进行固件烧录和调试
有耐心排查 WiFi 连接和网络通信问题
适用场景
想要低成本入门智能家居的 DIY 爱好者
需要定制化门禁系统(NFC 门锁)的家庭或办公室
希望用 ESP8266/ESP32 实现远程传感器数据采集的物联网项目
学习 MQTT 协议和 Home Assistant 集成的教学案例
改造现有普通开关(如 Sonoff)为智能开关的实践项目
搭建一套完全本地化、不依赖云服务的家庭自动化系统