Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT

Open-Home-Automation

比赛/竞技, ESP32 已发布
SamZorSec 995 Stars MIT BOM 完整度: 3/5 教程完整度: 0/5

项目简介

用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)为智能开关的实践项目
搭建一套完全本地化、不依赖云服务的家庭自动化系统