使用Arduino + ESP-01的监控系统构建一个带网页仪表盘的WiFi温度监测器
该项目是一个基于Arduino Uno和ESP-01(ESP8266)的WiFi连接温度监测器。它可读取温度和湿度,当温度超过25°C时会发出间歇性蜂鸣报警,并提供一个实时网页仪表盘,您可以通过网络中的任意浏览器访问该页面,同时还包含远程静音报警按钮。
关键的设计选择是:不再在ESP8266上运行Web服务器,而是使用Arduino Uno作为主控单元,通过WiFiEsp库驱动ESP-01作为WiFi调制解调器。所有逻辑处理——包括传感器读取、报警处理、HTTP请求解析——均由Arduino完成。
它是如何运作的
•DHT11传感器将温度和湿度数据传送给Arduino
•Arduino 将读数与 25°C 的阈值进行比较,并通过非阻塞的蜂鸣模式驱动蜂鸣器(使用 millis(),以确保 Web 服务器保持响应)。
•Arduino 通过 ESP-01 提供一个小型的 JSON 端点
•浏览器仪表盘会轮询该端点并实时更新;在告警状态下会以红色闪烁。
•“静音”按钮会通过Wi-Fi发送一个请求,使蜂鸣器静音。
唯一让人搞砸的事情
ESP8266 使用 3.3V 逻辑电平,但 Arduino Uno 的 TX 引脚输出 5V。将 TX 直接连接到 ESP 的 RX 可能会随着时间推移损坏模块。在 ESP 的 RX 线路上使用一个简单的双电阻分压器(1kΩ / 2kΩ),可将信号降至安全的约 3.3V。而在 ESP-01 上,VCC、CH_PD、RST 和 GPIO0 均为 3.3V供电——启动时保持 RST 和 GPIO0 高电平,即可直接进入运行模式。
CORS 注释
Arduino 的响应包含一个 Access-Control-Allow-Origin 头部,这使得仪表板即使以本地 HTML 文件形式打开时也能获取数据。如果没有这个头部,浏览器会阻止请求——这是许多构建版本所忽略的一个细节。
本文编译自hackster.io





