news 2026/9/14 2:05:21

ESPHome 完整上手指南:30 分钟用 ESP8266 从 0 到 1 做出温湿度采集节点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ESPHome 完整上手指南:30 分钟用 ESP8266 从 0 到 1 做出温湿度采集节点

ESPHome 完整上手指南:30 分钟用 ESP8266 从 0 到 1 做出温湿度采集节点

【免费下载链接】esphomeESPHome is a system to control your ESP32, ESP8266, BK72xx, RP2040 by simple yet powerful configuration files and control them remotely through Home Automation systems.项目地址: https://gitcode.com/GitHub_Trending/es/esphome

ESPHome 是一套把 YAML 配置文件直接编译成固件并烧进开发板的系统。对第一次碰 ESP8266 的人来说,它省掉的是最烦的三件事:装工具链、写底层驱动、手动管理构建脚本。设备行为全部用配置文件描述,C++ 代码由它自动生成。这篇文章按「先看结果、再装环境、写配置、烧固件、加传感器、远程监控、本地自动化」的顺序,带你完整走一遍。

成品效果:这个节点最终能干什么

动手之前,先把目标摆出来。跟着做完全文,你手里会有一块能跑这三件事的 ESP8266:

  • 每 60 秒把 DHT22 的温度、湿度读数推送到 Home Assistant;
  • 温度超过 30°C 时,D1 引脚上的蜂鸣器本地鸣响 5 秒,断网也能触发;
  • 之后升级固件走 WiFi 的 OTA 通道,不再插 USB 线。

准备工作:安装 ESPHome 并确认环境

ESPHome 本身是命令行工具,官方推荐的用法是从源码环境里跑。

从源码安装

获取代码并初始化环境,只需要三条命令:

git clone https://gitcode.com/GitHub_Trending/es/esphome cd esphome ./script/setup

⚙️ 初始化脚本 script/setup 会替你完成:创建 Python 虚拟环境、装依赖、配置 pre-commit 钩子、拉取 PlatformIO 编译工具链。

确认安装成功

source venv/bin/activate esphome version

输出里出现版本号,说明环境就绪,可以开始写设备。

写第一份配置:YAML 字段逐项拆解

用向导生成骨架

esphome wizard my_esp8266.yaml

向导按顺序提问:设备名称、芯片平台、开发板型号、WiFi 凭据、访问密码,最后替你落盘一份能直接编译的文件。

更想手写的话

整个文件的骨架只有几个小节。平台与网络部分:

esphome: name: my_esp8266 esp8266: board: nodemcuv2 logger: wifi: ssid: "你的网络名" password: "你的WiFi密码" ap: ssid: "备用热点名" password: "备用热点密码"

再加上两个受密码保护的服务和一个兜底页面:

api: password: "API访问密码" ota: password: "OTA升级密码" captive_portal:
小节承担的职责细节提醒
esphome设备身份,name即设备域名friendly_name是可选的昵称
esp8266声明平台与开发板nodemcuv2对应常见 NodeMCU 开发板
logger打开串口日志留空即可,无需参数
wifiWiFi 凭据ap是连不上网时自动开的备用热点
api / otaHome Assistant 接入与远程升级两处密码各自独立
captive_portal备用热点的捕获页面手机连上热点后方便拿到 SSID

编译与烧录的完整命令

先只编译、不烧录

esphome compile my_esp8266.yaml

这条命令按顺序做三件事:校验 YAML、生成 C++ 源码、产出固件文件。报错基本都出在配置层面,先在这里把它消掉。

编译、烧录一次到位

用 USB 线把开发板接上电脑,然后执行:

esphome run my_esp8266.yaml

run 会先编译,随后自动发现接在电脑上的板子,让你确认串口,再写入固件并回报结果。之后每次改动配置再烧录,它只重建有变化的部分,明显快于第一次。

接入 DHT22:接线对照与配置片段

DHT22 接线对照表

传感器引脚ESP8266 引脚作用
VCC3.3V供电
GNDGND共地
DATAD4(即 GPIO2)单总线数据

配置里加传感器

给温度通道一个稳定的id,后面的自动化才能引用它:

sensor: - platform: dht pin: D4 temperature: name: "室内温度" id: indoor_temp humidity: name: "室内湿度" update_interval: 60s

dht平台默认覆盖 DHT22 这一类传感器,DHT11 也可通过model字段指定。保存后重新执行 run 命令烧录,Home Assistant 里就能看到温湿度两个实体。

远程监控与排查问题

接入 Home Assistant

  1. 在 Home Assistant 中进入「设置 > 设备与服务 > 集成」;
  2. 添加 ESPHome 集成,填入my_esp8266.local之类的域名;
  3. 用配置里 api 小节的密码完成配对,设备卡片和传感器实体随即出现在列表中。

打开内置 Web 服务器(可选)

不想依赖 Home Assistant 时,给配置追加两行:

web_server: port: 80

烧录后用浏览器打开板子 IP,同样能查看状态。

查看设备实时日志

esphome logs my_esp8266.yaml

🔍 启动过程、读数刷新、报错信息都在这里。出了问题先看日志,再动手改配置。

常见故障排查表

现象排查方向
连不上网核对 SSID 与密码;确认网络处于 2.4 GHz 频段,这颗芯片连不了 5 GHz;必要时在wifi小节调整reboot_timeout的等待时长
OTA 升级失败两端是否同一网络、密码是否正确;闪存吃紧时精简配置减小固件体积
读数异常核对接线、传感器型号与平台是否匹配;把采样间隔拉长,降低干扰

进阶玩法:本地自动化与更多组件

温度过高时本地触发蜂鸣器

自动化逻辑跑在设备内部,不依赖任何外部系统:

binary_sensor: - platform: template name: "高温警报" id: high_temp_alert state: |- return id(indoor_temp).state > 30; switch: - platform: gpio name: "警报蜂鸣器" pin: D1 id: alarm_buzzer automation: - trigger: platform: state entity_id: binary_sensor.high_temp_alert to: "on" action: - switch.turn_on: alarm_buzzer - delay: 5s - switch.turn_off: alarm_buzzer

整条链路是闭环的:模板传感器持续比对温度值,超过 30°C 时状态翻成 on,自动化随即打开蜂鸣器,等 5 秒后关闭,然后回到常态监控。

继续往下走的方向

  • 支持哪些芯片,看组件目录 esphome/components/,每个目录对应一类硬件;
  • 自动化可用的触发器与动作关键字,查 esphome/automation.py;
  • 想换 ESP32 开发板,YAML 里只改平台小节,其余流程不变。

去 Home Assistant 确认温湿度卡片在按间隔刷新,这个从 0 到 1 的 ESP8266 节点就算真正跑起来了。

【免费下载链接】esphomeESPHome is a system to control your ESP32, ESP8266, BK72xx, RP2040 by simple yet powerful configuration files and control them remotely through Home Automation systems.项目地址: https://gitcode.com/GitHub_Trending/es/esphome

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 2:04:59

LSB隐写从原理到实战:LSB替换、位平面分析与Python实现

简介:面向信息安全初学者与图像隐写研究者的MATLAB实现资源,聚焦LSB替换隐写:通过修改图像像素最低有效位完成秘密信息嵌入,并可从载体图中逆向提取。压缩包为zip格式,共5个文件,含LSBmain.m主程序、LSB_en…

作者头像 李华
网站建设 2026/9/14 2:04:56

昆虫目标计数系统:HSV增强+注意力CNN+DBSCAN聚类

简介:这是一套面向计算机相关专业本科生的毕业设计级昆虫识别与计数系统,聚焦图像分类与目标计数在农业病虫害监测等实际场景中的落地应用,适合具备Python基础与机器学习入门知识的学习者开展课程设计或科研实践。资源共197个文件&#xff0c…

作者头像 李华
网站建设 2026/9/14 2:03:47

垃圾目标检测数据集构建实战:从类别体系到YOLOv8训练

简介:这是一套面向计算机视觉与人工智能领域的目标检测数据集,聚焦电池、纸团、一次性杯子、塑料瓶和积木五类常见垃圾目标,采用COCO格式进行标注,每张图像均包含边界框信息,可直接服务于YOLO、SSD、Faster R-CNN等主流…

作者头像 李华
网站建设 2026/9/14 2:03:03

VxWorks逆向实战:工控安全中的固件分析四层穿透法

1. 这不是教你怎么“黑”设备,而是带你真正看懂工控系统的心跳 VxWorks——这三个字母在工控安全圈里,几乎等同于“高危但沉默的动脉”。它不像Windows那样天天弹窗、打补丁、被勒索软件盯上;它常年运行在电厂DCS控制柜里、地铁信号继电器背后…

作者头像 李华
网站建设 2026/9/14 2:00:00

超外差接收机本振泄露原理与SDR探测定位实战指南

做无线电监测和软件定义无线电(SDR)这么多年,我一直觉得有一个现象特别有意思:一台明明只负责“收”信号的设备,居然也能被外面的人发现,甚至被定位。很多人天然的认知是,只要我不发射、不主动“…

作者头像 李华