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

🛠️ 准备工作(5分钟搞定)
硬件清单
-
ESP32开发板(推荐:ESP32-WROOM-32,约¥15) -
DHT22温湿度传感器(约¥8) -
杜邦线若干 -
USB数据线(用于供电和调试)

软件环境
-
安装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















![表情[chi]-寻找资源网](http://www.seekresource.com/wp-content/themes/zibll/img/smilies/chi.gif)



暂无评论内容