为什么选择 ESP32 + ESPHome
市面上的智能设备价格昂贵,而且功能固定。ESP32 + ESPHome 组合让你可以:
- 低成本 – ESP32 开发板仅需 20-50 元
- 完全可控 – 本地运行,不依赖云端
- 高度定制 – 根据需求自己设计功能
- 无限扩展 – 传感器、执行器任意搭配
需要的材料
基础设备
- ESP32 开发板(ESP32 DevKit v1)- 约 30 元
- USB 数据线
- 电脑(Windows/Mac/Linux)
可选传感器
- DHT22 温湿度传感器 – 约 10 元
- BMP280 气压传感器 – 约 8 元
- BH1750 光照传感器 – 约 5 元
- HC-SR501 人体红外传感器 – 约 5 元
- 水位传感器 – 约 3 元
安装 ESPHome
# 通过 pip 安装 pip install esphome # 或使用 Home Assistant 的 ESPHome 集成 # 在 HACS 中安装 ESPHome
创建第一个项目
# 创建配置目录 mkdir my_sensor && cd my_sensor # 创建配置文件 esphome wizard sensor.yaml # 按照提示填写信息 # - 设备名称 # - WiFi 信息 # - 选择平台(ESP32)
配置文件示例
基础配置
esphome:
name: my-sensor
friendly_name: 我的传感器
esp32:
board: esp32dev
framework:
type: arduino
wifi:
ssid: "你的WiFi名称"
password: "你的WiFi密码"
api:
ota:
logger:
添加传感器
# DHT22 温湿度传感器
sensor:
- platform: dht
pin: GPIO4
temperature:
name: "室内温度"
humidity:
name: "室内湿度"
update_interval: 60s
添加开关(控制 LED)
switch:
- platform: gpio
name: "LED 灯"
pin: GPIO2
完整示例:多功能传感器
esphome:
name: multi-sensor
friendly_name: 多功能传感器
esp32:
board: esp32dev
framework:
type: arduino
wifi:
ssid: "WiFi名称"
password: "WiFi密码"
ap:
ssid: "MultiSensor Fallback"
password: "12345678"
api:
ota:
# 传感器配置
sensor:
- platform: dht
pin: GPIO4
temperature:
name: "温度"
humidity:
name: "湿度"
update_interval: 30s
- platform: bh1750
pin: GPIO21
address: 0x23
name: "光照强度"
update_interval: 60s
# 开关
switch:
- platform: gpio
name: "内置 LED"
pin: GPIO2
编译和上传
# 编译固件 esphome compile sensor.yaml # 首次上传(需要 USB 连接) esphome upload sensor.yaml # 后续可以通过 OTA 更新 esphome upload sensor.yaml --host 192.168.1.100
在 Home Assistant 中使用
- 安装 ESPHome 集成
- 点击「添加设备」
- 输入 ESP32 的 IP 地址
- Home Assistant 会自动发现所有实体
实用项目
1. 智能门铃
ESP32 + 按键 + 蜂鸣器 + Home Assistant 通知
2. 植物浇水提醒器
ESP32 + 土壤湿度传感器 + 定时提醒
3. 智能开关
ESP32 + 继电器模块 + 控制灯光
4. 空气质量监测
ESP32 + MQ-135 气体传感器 + 实时监测
总结
ESP32 + ESPHome 是 DIY 智能家居的完美组合。低成本、完全可控、无限可能。推荐从简单的温度传感器开始,逐步添加更多功能,打造专属的智能家居系统。