【零代码物联网】3分钟打造你的第一个智能温湿度传感器!ESP32+ESPHome手把手教程

【零代码物联网】3分钟打造你的第一个智能温湿度传感器!ESP32+ESPHome手把手教程

商城已上线,快去看看吧!

不需要写一行C++代码,不用烧录固件,连上WiFi就能用!本文带你用ESP32开发板+ESPHome,快速实现一个可远程监控的温湿度传感器。

20260316154502707-100

🛠️ 准备工作(5分钟搞定)

硬件清单

  • ESP32开发板(推荐:ESP32-WROOM-32,约¥15)
  • DHT22温湿度传感器(约¥8)
  • 杜邦线若干
  • USB数据线(用于供电和调试)

20260316154534709-101

软件环境

  • 安装Python 3.7+
  • 安装pip包管理器
  • 安装ESPHome CLI工具:
pip3 install esphome

🔧 第一步:硬件连接(2分钟)

ESP32开发板    DHT22传感器
GPIO4 (D4)   → DATA引脚
3.3V         → VCC引脚  
GND          → GND引脚

💡 小贴士:DHT22的DATA引脚连接到ESP32的任意GPIO引脚都可以,我们选择GPIO4(D4)作为示例。

📝 第二步:创建配置文件(3分钟)

创建一个名为 dht22_sensor.yaml 的文件,内容如下:

# dht22_sensor.yaml - 智能温湿度传感器配置
esphome:
name:dht22-sensor
platform:ESP32
board:esp32dev

# WiFi连接配置
wifi:
ssid:"YOUR_WIFI_SSID"
password:"YOUR_WIFI_PASSWORD"

# 如果需要静态IP(可选)
# manual_ip:
#   static_ip: 192.168.1.150
#   gateway: 192.168.1.1
#   subnet: 255.255.255.0

# API服务(用于Home Assistant等平台集成)
api:

# OTA升级(无线更新)
ota:

# 日志服务(调试用)
logger:

# DHT22传感器配置
sensor:
-platform:dht
model:DHT22
pin:GPIO4
temperature:
name:"DHT22 温度"
id:dht22_temperature
filters:
-sliding_window_moving_average:
window_size:10
send_every:5
humidity:
name:"DHT22 湿度"
id:dht22_humidity
filters:
-sliding_window_moving_average:
window_size:10
send_every:5
update_interval:10s

# LED状态指示(可选,显示设备运行状态)
light:
-platform:monochromatic
name:"DHT22 LED"
output:led_output

output:
-platform:ledc
pin:GPIO2
id:led_output

⚠️ 注意:请将 YOUR_WIFI_SSID 和 YOUR_WIFI_PASSWORD 替换为你的真实WiFi信息!

🚀 第三步:编译并上传固件(5分钟)

方法一:命令行方式

# 1. 检查配置文件语法
esphome dht22_sensor.yaml config

# 2. 编译固件
esphome dht22_sensor.yaml compile

# 3. 连接ESP32,上传固件
esphome dht22_sensor.yaml run

方法二:Web界面方式(更简单)

# 启动ESPHome Web界面
esphome dht22_sensor.yaml web_server

然后在浏览器中访问 http://localhost:6052,点击”Upload”按钮即可。

📱 第四步:设备使用与监控

1. 查看设备状态

  • 设备启动后,会自动连接WiFi
  • 在终端中可以看到实时日志输出
  • 访问 http://dht22-sensor.local 可以看到设备Web界面

2. 集成到Home Assistant(可选高级功能)

在Home Assistant的 configuration.yaml 中添加:

esphome:
-host:dht22-sensor.local

3. 远程监控

  • 设备支持MQTT协议,可以轻松接入各种IoT平台
  • 支持API接口,可以用手机APP或网页实时查看数据

🎨 第五步:进阶玩法(让设备更智能)

添加LED状态指示

# 在配置文件中添加以下内容
binary_sensor:
-platform:status
name:"DHT22 状态"

# 添加LED闪烁效果(当温度超过30℃时LED闪烁)
interval:
-interval:5s
then:
-if:
condition:
sensor.in_range:
id:dht22_temperature
above:30
then:
-light.turn_on:dht22_led
-delay:500ms
-light.turn_off:dht22_led

添加报警功能

# 当湿度低于30%时发送通知
automation:
-alias:"湿度过低报警"
trigger:
-platform:numeric_state
entity_id:sensor.dht22_humidity
below:30
action:
-logger.log:"⚠️ 湿度低于30%,请注意保湿!"
# 这里可以添加微信/钉钉通知等

🌈 成果展示

完成以上步骤后,你将拥有:

  • ✅ 一个实时监测环境温湿度的智能传感器
  • ✅ 支持WiFi远程监控和控制
  • ✅ OTA无线升级能力
  • ✅ 丰富的扩展接口(可添加更多传感器)
  • ✅ 完全本地化,数据隐私有保障

🎁 彩蛋:一键部署脚本

为了让你更快上手,我还准备了一个自动化部署脚本:

#!/bin/bash
# esphome-deploy.sh
echo"正在创建ESPHome温湿度传感器项目..."
mkdir -p ~/esphome-projects/dht22
cd ~/esphome-projects/dht22

cat > dht22_sensor.yaml << 'EOF'
esphome:
  name: dht22-sensor
  platform: ESP32
  board: esp32dev

wifi:
  ssid: "YOUR_WIFI_SSID"
  password: "YOUR_WIFI_PASSWORD"

api:
ota:
logger:

sensor:
  - platform: dht
    model: DHT22
    pin: GPIO4
    temperature:
      name: "DHT22 温度"
id: dht22_temperature
    humidity:
      name: "DHT22 湿度"
id: dht22_humidity
    update_interval: 10s
EOF

echo"✅ 项目创建完成!请编辑dht22_sensor.yaml文件,替换WiFi信息后运行:"
echo"esphome dht22_sensor.yaml run"
看完不过瘾,那就自己发一篇吧!
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
相关推荐
评论 抢沙发

请登录后发表评论

    暂无评论内容