↩️ Назад

Категории

Метеостанция для подвала на ESP32

13.08.2025 | Статья из категории: 2040

Метеостанция для подвала на ESP32: контроль воздуха как в лаборатории

Как отслеживать пыль, формальдегид, CO, NO₂ и плесень — и не потратить на это зарплату

1. Зачем это нужно? Подвал — не склад, а среда обитания

В подвале под гаражом или домом может накапливаться:

  • Угарный газ (CO) — от авто, печи
  • Формальдегид (HCHO) — из ДСП, лаков, утеплителя
  • Озон (O₃) — от ионизаторов, сварки
  • Оксиды азота (NO₂) — от выхлопов
  • SO₂ — редко, но бывает
  • Пыль (PM2.5/PM10) — от грунта, стройматериалов
  • Влажность и температура — ключ к борьбе с плесенью

Цель: построить недорогую метеостанцию на ESP32, которая:

  • Сканирует воздух
  • Отправляет данные через MQTT
  • Интегрируется в Home Assistant
  • Шлёт алерты при опасных концентрациях

2. Какие датчики использовать: правда vs маркетинг с AliExpress

✅ Работают нормально (можно брать с Ali):

ДатчикЧто измеряетРеальность
DHT22 / AM2302 Температура, влажность Точный, дешёвый, проверен годами
SDS011 / PMS5003 / PMS7003 PM2.5, PM10 (пыль) Хорошо работает, калибруется, но хрупкий
BME280 / BME680 Температура, влажность, давление, газ (VOC) BME680 — даёт индекс IAQ (качество воздуха), но не HCHO напрямую
MH-Z19B CO₂ (не путать с CO!) Надёжный, UART, калибруется

⚠️ С осторожностью (маркетинг > реальность):

ДатчикПроблема
MQ-135, MQ-2, MQ-136 и т.п. Аналоговый, неселективный, дрейфует, калибровка "на глаз"
"Формальдегид-детектор" за $8 Часто это просто MQ-135 с наклейкой. Не измеряет HCHO, а реагирует на всё подряд
Датчики SO₂, NO₂, O₃ за $10 Точность сомнительна, нужна калибровка эталоном (которого у тебя нет)

📌 Вывод:

Формальдегид, NO₂, O₃, SO₂ — дешёвыми датчиками не измерить точно.
Но можно использовать:

  • BME680 — как индикатор общего загрязнения (VOC)
  • SDS011 + DHT22 + MH-Z19B — основа метеостанции
  • MQ-135 — как "сигнализация общего загрязнения", но не для точных данных

3. Схема метеостанции для подвала

[ESP32]
   ├── DHT22 → температура, влажность
   ├── SDS011 → PM2.5, PM10
   ├── MH-Z19B → CO₂
   ├── BME680 → VOC, давление, T, RH
   └── (опционально) MQ-135 → "общий газ" (с дымом, пылью, HCHO и т.п.)
  

Почему ESP32?

  • Wi-Fi + Bluetooth
  • Много GPIO
  • Поддержка MQTT, HTTP, OTA
  • Работает от 3.3 В

4. Как соединить с Home Assistant через MQTT

Шаг 1: Установи MQTT-брокер

  • В Home Assistant: Добавки → Mosquitto broker
  • Или на Raspberry Pi: sudo apt install mosquitto

Шаг 2: Прошивка ESP32 (пример на Arduino IDE / PlatformIO)


#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>
#include <Wire.h>
#include <Adafruit_BME680.h>

// Настройки WiFi
const char* ssid = "Твой WiFi";
const char* password = "Пароль";

// Настройки MQTT
const char* mqtt_server = "192.168.1.100"; // IP брокера
WiFiClient espClient;
PubSubClient client(espClient);

void reconnect() {
  while (!client.connected()) {
    if (client.connect("meteo-podval")) {
      client.publish("podval/status", "online");
    }
  }
  client.loop();
}

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) delay(500);
  client.setServer(mqtt_server, 1883);
}

void loop() {
  if (!client.connected()) reconnect();

  // Пример: отправка температуры
  float t = dht.readTemperature();
  client.publish("podval/temperature", String(t).c_str());

  // Аналогично: humidity, pm25, co2, voc и т.д.
  delay(30000); // раз в 30 сек
}
  

Шаг 3: В Home Assistant


sensor:
  - platform: mqtt
    name: "Температура в подвале"
    state_topic: "podval/temperature"
    unit_of_measurement: "°C"

  - platform: mqtt
    name: "Влажность в подвале"
    state_topic: "podval/humidity"
    unit_of_measurement: "%"

  - platform: mqtt
    name: "PM2.5"
    state_topic: "podval/pm25"
    unit_of_measurement: "µg/m³"
  

Шаг 4: Алерты (автоматизация)

automation:
  - alias: "Высокая влажность в подвале"
    trigger:
      platform: numeric_state
      entity_id: sensor.podval_vlazhnost
      above: 75
    action:
      service: notify.telegram
      data:
        message: "⚠️ Влажность в подвале > 75%! Проверь вентиляцию."
  

5. Корпус и размещение

  • Корпус: гермобокс с вентиляционными отверстиями (не герметичный!)
  • Размещение: на высоте 1.2–1.5 м, не у стены, не над источником тепла
  • Питание: 5 В USB → блок питания в розетке
  • Кабель: если далеко от роутера — можно PoE с конвертером

6. Что делать с данными?

  • Графики в HA — смотри динамику
  • Экспорт в InfluxDB + Grafana — для продвинутого анализа
  • Telegram-бот — алерты по CO, пыли, влажности
  • Автоматика: включи вентилятор, если CO₂ > 1000 ppm

7. Заключение: мониторинг vs маркетинг

Да, можно построить метеостанцию за $30–50.
Но:

  • Температура, влажность, пыль, CO₂ — измеряются точно.
  • Формальдегид, NO₂, O₃ — дешёвые датчики не дадут точных данных.
  • BME680 и MQ-датчики — хороши как индикаторы, но не как лаборатория.

Идеальный комплект для подвала:
→ DHT22 + SDS011 + MH-Z19B + BME680 + ESP32 + MQTT + HA

Это не медицинский анализатор, но хватит, чтобы вовремя заметить проблему.


Приложение: список компонентов

  • ESP32 (DevKit или NodeMCU)
  • DHT22 или AM2302
  • SDS011 (или PMS5003)
  • MH-Z19B (CO₂)
  • BME680 (через I2C)
  • Провода, макетная плата, блок питания 5 В
  • Гермобокс с отверстиями
  • Home Assistant + Mosquitto



Категории:

Категории

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Посетителей сегодня: 0
о блоге | карта блога

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA