孙亮亮
返回 小企业智能化

小企业智能化

小微企业低成本环境监控实战:ESP32 + 温湿度/水浸传感器 + 微信告警

2026年9月2日

用ESP32接温湿度与水浸传感器,超阈值经企业微信机器人告警,百元级小微企业环境监控方案。

ESP32环境监控温湿度水浸传感器企业微信小企业智能化

小微企业低成本环境监控实战:ESP32 + 温湿度/水浸传感器 + 微信告警

摘要:机房、仓库、门店冷柜最怕温度异常或漏水烧设备。本文用一块二三十元的 ESP32 开发板,接 DHT22 温湿度与YL-38 水浸传感器,读数经 WiFi 上报,超阈值时通过企业微信机器人推送告警,整套物料成本不到百元,适合小微企业自装自维护。

场景与选型

典型需求:弱电间温度超过 35℃ 预警、仓库湿度过高防潮、门店空调漏水及时知道。商用动环系统动辄几千元,对几家门店的小微企业不划算。ESP32 自带 WiFi 和双核处理器,原生支持 Arduino 框架,配合现成传感器库,半天就能搭出可用方案。

物料清单(单价参考):

  • ESP32 开发板(ESP-WROOM-32):约 25 元
  • DHT22 温湿度模块(带上拉电阻的成品线):约 12 元
  • YL-38 水浸传感器(模拟/数字两用):约 6 元
  • 5V/2A 手机充电头 + Micro-USB 线供电
  • 可选:DS18B20 防水探头(测冷柜内部,约 8 元)

硬件接线

ESP32 的 GPIO 用 3.3V 逻辑,传感器大多兼容。接线如下:

  • DHT22:VCC→3V3,DATA→GPIO4(接 10k 上拉到 3V3),GND→GND
  • YL-38:VCC→3V3,GND→GND,DO(数字输出)→GPIO5;AO 悬空即可(数字模式够用)
  • DS18B20(可选):VCC→3V3,DQ→GPIO18(4.7k 上拉),GND→GND

水浸传感器放在地面易积水处,探头两片铜箔接触到水即输出低电平。注意别长期泡在水里,铜箔会氧化,建议只做「是否漏水」的开关量判断。

Arduino 读取传感器数据

用 Arduino IDE(或 PlatformIO)安装库 DHT sensor libraryAdafruit Unified SensorOneWireDallasTemperature。核心代码:

#include <WiFi.h>
#include <DHT.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define DHTPIN 4
#define DHTTYPE DHT22
#define WATER_PIN 5
#define ONEWIRE_PIN 18

DHT dht(DHTPIN, DHTTYPE);
OneWire oneWire(ONEWIRE_PIN);
DallasTemperature sensors(&oneWire);

const char* ssid = "你的WiFi";
const char* password = "密码";

void setup() {
  Serial.begin(115200);
  pinMode(WATER_PIN, INPUT);
  dht.begin();
  sensors.begin();
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) delay(500);
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  int water = digitalRead(WATER_PIN);   // 0=漏水
  sensors.requestTemperatures();
  float fridge = sensors.getTempCByIndex(0);

  Serial.printf("温度%.1fC 湿度%.0f%% 水浸:%s 冷柜%.1fC
",
                t, h, water ? "无" : "有", fridge);

  // 阈值判断 + 上报,见下文
  delay(30000); // 30 秒一轮
}

读数前务必用 isnan(t) 校验,DHT22 偶发返回 NaN,直接上报会污染历史数据。

数据上报与告警

上报有两种轻量方式:

  1. HTTP POST 到自建接口或物联网平台(如 ThingsBoard、EMQX)。适合要存历史曲线的小企业。
  2. 直接调企业微信/钉钉机器人 Webhook 发文本消息,只在异常时推送,零服务器成本。

异常触发示例(在 loop 内):

if (t > 35 || water == 0 || fridge > 8) {
  String msg = "【环境告警】温度:" + String(t) +
               "C 湿度:" + String(h) + "% 水浸:" +
               (water ? "无" : "有") + " 冷柜:" + String(fridge) + "C";
  sendWecom(msg);  // 调机器人 webhook
}

sendWecomHTTPClient POST JSON 到企业微信群机器人地址即可,markdown 类型消息在手机上排版更清晰。

部署与低功耗注意

  • 设备放弱电间要防尘通风,充电头选品牌货,避免半夜掉电。可加个 USB 电压电流表长期观察。
  • ESP32 持续 WiFi 连接功耗约 80–120mA,用充电宝能撑几小时,适合做短时断电兜底,但长期还是接市电。
  • 多个点位可都连同一台 MQTT Broker,后台用 Node-RED 统一画看板、做持续超阈电话提醒,比逐个机器人更省心。
  • 固件加 OTA(ArduinoOTA),后续改阈值不用爬梯子拔线;但 OTA 要设密码,防止别人刷进恶意固件。
  • 水浸探头每月抽查一次灵敏度,铜箔氧化会变钝。

小结

用 ESP32 搭环境监控,硬件不到百元、代码几十行,却能帮小微企业在设备烧坏、货品受潮前抢出响应时间。关键是把「读数→阈值→告警」三步走通,并接企业微信机器人做到人人手机可见。门店一多,就上 MQTT + Node-RED 集中管理,扩展性很好。

(字数约 1250 字,关键词:ESP32、环境监控、温湿度、水浸传感器、企业微信、小微企业智能化)

本模块其他文章

小微企业低成本环境监控实战:ESP32 + 温湿度/水浸传感器 + 微信告警 · 孙亮亮