Home automation firmware for ESP8266-based devices

espurna

比赛/竞技 ⭐⭐☆☆☆ (2/5) 已发布
xoseperez 3048 Stars GPL-3.0 BOM 完整度: /5 教程完整度: /5

项目简介

ESP8266设备家庭自动化固件。


ESPurna(加泰罗尼亚语中意为“火花”)是一款专为ESP8285和ESP8266芯片设计的开源固件,主要面向智能开关、灯具和传感器设备。该项目基于Arduino Core for ESP8266框架,并集成了大量第三方库,为物联网硬件提供了强大而灵活的固件解决方案。

标签

项目特点

支持超过 100 种 ESP8266/ESP32 设备,包括 Sonoff、Shelly、NodeMCU 等常见硬件
内置 Web 界面、MQTT、HTTP API、WebSocket、Alexa、HomeKit 等多种控制方式
集成温度、湿度、光照、运动、门磁等多种传感器驱动
支持 OTA 无线升级,无需拆机即可更新固件
提供强大的规则引擎,可自定义自动化逻辑
低功耗设计,支持深度睡眠模式,适合电池供电场景

技术规格

支持芯片 ESP8266、ESP32
固件大小 约 1MB(ESP8266)/ 2MB(ESP32)
通信协议 MQTT、HTTP、WebSocket、CoAP、SNMP
智能家居集成 Alexa、Google Home、HomeKit、Home Assistant
传感器支持 DHT22、BME280、DS18B20、PIR、BH1750 等 30+ 种
无线升级 OTA(Web / HTTP / MQTT)
配置方式 Web 界面、串口、MQTT 命令
最大设备数 取决于硬件,通常支持 8~16 路继电器/传感器
电源要求 3.3V DC(典型 200mA~500mA)
工作温度 -20°C ~ 85°C(取决于硬件)

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP8266 或 ESP32 开发板 1 如 NodeMCU、Wemos D1 mini
5V 继电器模块 1~8 根据控制路数选择
3.3V/5V 电源适配器 1 建议 1A 以上
DHT22 温湿度传感器 1 可选,用于环境监测
PIR 运动传感器 1 可选,用于人体检测
BH1750 光照传感器 1 可选,用于亮度检测
杜邦线 若干 用于连接各模块
3D 打印外壳或塑料盒 1 可选,用于保护电路

所需工具

工具用途是否必需
PlatformIO 编译和上传固件 ✅ 是
Visual Studio Code 代码编辑和开发环境 ▢ 推荐
Git 克隆和更新代码仓库 ✅ 是
Python 3 运行 PlatformIO 依赖 ✅ 是
串口调试工具(如 PuTTY) 查看串口日志和调试 ▢ 推荐
浏览器 访问 Web 管理界面 ✅ 是
3D 打印机 打印外壳 ▢ 推荐

能力画像

**记忆与知识检索**:3/5 — 需要查阅官方文档和社区论坛来了解设备兼容性和配置方法
**动手与操作**:4/5 — 需要焊接、接线、刷写固件等硬件操作,适合有一定动手能力的爱好者
**编程与算法**:3/5 — 基本使用无需编程,但自定义规则和修改固件需要 C++ 基础
**设计与建模**:2/5 — 外壳设计需要 3D 建模能力,但非必需
**实验与调试**:4/5 — 需要反复刷写固件、测试传感器和继电器逻辑,调试过程较多
**协作与分享**:3/5 — 可通过论坛和 GitHub 提交问题或贡献代码,社区活跃
**学习与研究**:4/5 — 涉及物联网协议、嵌入式开发、传感器原理,学习价值高
**系统集成**:4/5 — 可无缝接入 Home Assistant、OpenHAB 等智能家居平台

所需技能

基础电子知识(电压、电流、接线) 使用 Arduino IDE 或 PlatformIO 刷写固件 了解 MQTT、HTTP 等网络协议 简单的 C++ 编程能力(可选,用于自定义功能) 使用串口工具进行调试 阅读英文技术文档

适用场景

将普通墙壁开关改造为智能 WiFi 开关
搭建低成本的家庭环境监测系统(温湿度、光照、运动检测)
控制花园灌溉、鱼缸灯光等自动化设备
替代 Sonoff、Shelly 等商业智能开关的原厂固件
作为智能家居中控的传感器节点或执行器
教育和学习嵌入式物联网开发