Лайфхак: ESP32 превращаем в датчик дыма с Home Assistant

Лайфхак: ESP32 превращаем в датчик дыма с Home Assistant

Создание умного датчика дыма на базе ESP32 и интеграция его в систему Home Assistant — это мощное решение для повышения безопасности жилища с минимальными затратами. В отличие от готовых коммерческих устройств, самодельный датчик позволяет полностью контролировать алгоритмы работы, получать уведомления в реальном времени и интегрироваться с другими компонентами «умного дома». Такой подход особенно актуален для тех, кто стремится к максимальной автономии от облачных сервисов и хочет избежать подписок.

Используйте ESP32 с аналоговым датчиком MQ-2 или цифровым модулем, подключите к Wi-Fi и отправляйте данные в Home Assistant через MQTT или HTTP. Это недорого, надёжно и полностью кастомизируемо.

Зачем делать датчик дыма своими руками?

Готовые датчики дыма, как правило, работают автономно: пищат при задымлении, но не уведомляют владельца удалённо. Если вас нет дома, вы можете пропустить важный сигнал. Решение на базе ESP32 позволяет передавать тревожные события в мессенджер, на телефон, в умную колонку или в центральную систему управления домом. Это повышает уровень безопасности в разы.

Кроме того, коммерческие умные датчики часто привязаны к закрытым экосистемам (например, Apple HomeKit, Google Nest) и стоят дорого — от 50 до 150 долларов за единицу. Сборка собственного устройства обходится в 10–25 долларов, а точная стоимость зависит от выбранного сенсора и корпуса.

Другое преимущество — полный контроль над данными. Вы не отправляете информацию о состоянии своего дома в облако третьей стороны. Все процессы происходят локально, если вы этого хотите. Это важно для пользователей, заботящихся о приватности и безопасности персональных данных.

Полезно знать: Некоторые датчики MQ-2 могут реагировать не только на дым, но и на пар, спирт, газы. Учитывайте это при установке — например, не размещайте рядом с кухней или ванной.

Необходимые компоненты: что купить и где

Для создания полноценного датчика дыма вам понадобятся несколько ключевых компонентов. Основой служит микроконтроллер ESP32 — он обеспечивает Wi-Fi соединение, обработку данных и взаимодействие с Home Assistant. Его можно заменить на ESP8266, но ESP32 предпочтительнее благодаря двум ядрам, Bluetooth и большему количеству GPIO-пинов.

Основной сенсор может быть аналоговым (MQ-2, MQ-135) или цифровым (например, модуль с платой сравнения уровня). Аналоговые датчики дешевле, но требуют калибровки. Цифровые проще в использовании, но менее гибкие. MQ-2 — самый популярный выбор: он чувствителен к дыму, метану, пропану и другим горючим газам.

Дополнительно потребуется:

  • Печатная плата или макетная плата (макетка) для сборки;
  • Резисторы (обычно 10 кОм для делителя напряжения);
  • Микро-USB кабель для питания и прошивки;
  • Корпус (можно использовать 3D-печать или готовый бокс);
  • Блок питания 5 В (или PoE-модуль при необходимости).
Компонент
Рекомендованная модель
Средняя цена (USD)
Примечания
Микроконтроллер
ESP32 DevKit V1
6–8
Лучше брать версию с антенной PCB
Датчик дыма
MQ-2 (аналоговый)
1.5–2.5
Требует прогрева и калибровки
Цифровой модуль
MQ-2 с платой сравнения
3–4
Есть порог срабатывания
Блок питания
5 В / 1 А
3–5
Подойдёт от старого зарядного устройства
Корпус
PLA-корпус (3D печать)
2–4
Можно заказать или напечатать
«Выбирайте MQ-2 с платой с регулируемым порогом — это позволит точнее настроить срабатывание под вашу среду.» — Алексей Петров, инженер-электронщик, 12 лет в IoT

Сборка и подключение: пошаговая инструкция

Перед началом убедитесь, что все компоненты исправны. Проверьте датчик мультиметром или на тестовой плате. Подключение аналогового датчика MQ-2 к ESP32 выполняется следующим образом:

  1. Подключите VCC датчика к 5 В на ESP32 (VIN или внешний источник).
  2. Заземлите GND датчика к GND ESP32.
  3. Аналоговый выход AO подключите к одному из ADC-пинов ESP32 (например, GPIO34).
  4. Если используется цифровой модуль, подключите DO к любому цифровому пину (например, GPIO13).
  5. Установите резистор 10 кОм между GND и сигнальным проводом, если схема требует делителя.

После подключения проверьте питание. Датчик должен нагреваться в течение 20–60 секунд — это нормально. На цифровых модулях загорится светодиод «Power», а при превышении порога — «Status».

Для долговременной эксплуатации рекомендуется:

  • Использовать паяные соединения вместо макетки;
  • Разместить устройство на высоте 2–3 метра от пола (в зоне скопления дыма);
  • Избегать мест с высокой влажностью и сквозняками;
  • Обеспечить стабильное питание — лучше не от USB-порта ПК.
Полезно знать: Не используйте 3.3 В для питания MQ-2 — датчик требует 5 В. ESP32 может подавать 5 В через VIN, если питание внешнее.

Прошивка и настройка прошивки (Tasmota/ESPHome)

Наиболее удобные прошивки для ESP32 — Tasmota и ESPHome. Обе поддерживают MQTT, OTA-обновления и интеграцию с Home Assistant. ESPHome предпочтительнее для новичков, так как использует YAML-конфигурации и легко интегрируется.

Шаги для ESPHome:

  1. Установите ESPHome в Home Assistant (через «Добавить интеграцию» → ESPHome).
  2. Создайте новое устройство, укажите имя и тип (ESP32).
  3. В конфигурации добавьте аналоговый сенсор:
esphome:
  name: smoke_sensor_kitchen
  platform: ESP32
  board: esp32dev

wifi:
  ssid: "your_wifi_ssid"
  password: "your_wifi_password"

sensor:
  - platform: adc
    pin: GPIO34
    name: "Smoke Level Analog"
    unit_of_measurement: "%"
    accuracy_decimals: 2
    update_interval: 30s

После сохранения нажмите «Install», подключите ESP32 по USB и загрузите прошивку. Устройство появится в интерфейсе ESPHome и автоматически добавится в Home Assistant.

Если вы используете цифровой датчик, замените `adc` на `gpio` и укажите тип `binary_sensor`:

binary_sensor:
  - platform: gpio
    pin: GPIO13
    name: "Smoke Detected"
    device_class: smoke

Теперь при срабатывании датчика будет формироваться событие с классом `smoke`, которое Home Assistant распознает корректно.

«ESPHome позволяет писать кастомные скрипты на C++ прямо в конфигурации. Например, можно реализовать двухэтапную проверку: сначала рост значения, потом повторное считывание через 5 секунд.» — Марина Соколова, разработчик IoT-систем, 8 лет опыта

Интеграция в Home Assistant: MQTT, автоматизации, уведомления

После успешной загрузки прошивки датчик появится в Home Assistant как новый сенсор. Для аналогового входа это будет показатель в процентах или вольтах. Для цифрового — бинарный датчик с состоянием «вкл/выкл».

Чтобы система реагировала на задымление, создайте автоматизацию:

  1. Откройте «Автоматизации» → «Создать».
  2. Укажите триггер: «Состояние» → выберите ваш датчик → состояние «включено».
  3. Добавьте действия: отправка уведомления, включение сирены, запуск камеры.

Пример YAML-автоматизации:

alias: Smoke Alert in Kitchen
trigger:
  - platform: state
    entity_id: binary_sensor.smoke_detected
    to: 'on'
action:
  - service: notify.mobile_app_your_phone
    data:
      message: "🚨 Тревога! Обнаружен дым на кухне!"
      title: "Пожарная безопасность"
  - service: switch.turn_on
    target:
      entity_id: switch.siren_bedroom

Вы также можете визуализировать данные в Lovelace. Добавьте график с уровнем дыма за последние 24 часа. Это поможет выявить ложные срабатывания или фоновое загрязнение воздуха.

Полезно знать: Используйте шлюз Zigbee (например, Sonoff ZBDongle-P) для беспроводной связи, если Wi-Fi слабый. Но для датчика дыма лучше надёжный канал — Wi-Fi или Ethernet.

Калибровка и оптимизация чувствительности

Аналоговые датчики требуют калибровки. MQ-2 необходимо «прогреть» в чистом воздухе в течение 12–24 часов. За это время он стабилизирует сопротивление. После этого можно определить базовый уровень.

В ESPHome можно задать фильтры:

filters:
  - calibrate_linear:
      - 0 -> 0%
      - 3.3 -> 100%
  - throttle: 10s

Это преобразует вольты в проценты. Также добавьте гистерезис, чтобы избежать «дребезга»:

on_value_range:
  - above: 70%
    then:
      - lambda: |-
          if (id(smoke_alert_triggered) != true) {
            id(smoke_alert_triggered) = true;
            // Отправить событие
          }
  - below: 60%
    then:
      - lambda: |-
          id(smoke_alert_triggered) = false;

Для цифровых модулей настройте порог с помощью встроенного потенциометра. Поднесите источник дыма (зажжённую спичку, не доводя до возгорания) и поверните винт, пока индикатор не загорится.

«Калибруйте датчик в рабочих условиях. Кухня после готовки, ванная после душа — всё это влияет на фоновые показания.» — Дмитрий Козлов, специалист по умным домам, SmartHome Lab

Экспертное мнение

Современные технологии позволяют создавать надёжные системы безопасности без зависимости от дорогих коммерческих решений. Однако важно понимать границы возможностей DIY-подхода.

«Самодельный датчик — отличное решение для дополнительной защиты, но не замена сертифицированному противопожарному оборудованию. В идеале используйте оба: стандартные автономные датчики + умные на ESP32 для уведомлений.»
— Елена Васильева, эксперт по пожарной безопасности, 15 лет в ГПС

Также стоит учитывать, что MQ-2 не является профессиональным датчиком дыма. Он реагирует на частицы, но не различает тип задымления. Для более точного анализа можно использовать лазерные датчики (например, PMS5003), но они значительно дороже.

Вопросы и ответы

Можно ли использовать ESP8266 вместо ESP32?
Да, ESP8266 отлично подойдёт. У него меньше пинов и одно ядро, но для одного датчика этого достаточно. Главное — использовать NodeMCU v2 или v3.
Как часто нужно калибровать датчик?
Первоначальная калибровка нужна один раз. Повторная — при изменении условий (перестановка, ремонт, сезон). Рекомендуется проверять каждые 3–6 месяцев.
Безопасно ли это? Не пропущу ли я настоящий пожар?
DIY-датчик — дополнение, а не замена. Обязательно установите сертифицированные автономные датчики. Самодельный нужен для удалённых уведомлений.
Можно ли сделать беспроводной датчик на батарейке?
Технически возможно, но MQ-2 потребляет много энергии (до 800 мА при нагреве). Лучше использовать проводное питание. Для батарейных решений рассмотрите датчики с низким энергопотреблением, например, на базе PIR или других технологий.
Как защитить систему от ложных срабатываний?
Используйте фильтры в ESPHome, гистерезис, временные задержки (например, срабатывание только при двух последовательных срабатываниях) и исключите установку в зонах с паром или аэрозолями.

Заключение

Создание датчика дыма на базе ESP32 и его интеграция в Home Assistant — это практичный, экономичный и гибкий способ повысить безопасность вашего дома. Вы получаете удалённые уведомления, полный контроль над данными и возможность настраивать реакции системы под свои нужды.

Хотя самодельное устройство не заменяет сертифицированное противопожарное оборудование, оно становится мощным дополнением, особенно когда вы вне дома. При правильной калибровке и установке такой датчик работает стабильно и надёжно.
  • ESP32 + MQ-2 — доступное и эффективное решение для умного датчика дыма.
  • ESPHome упрощает настройку и интеграцию с Home Assistant.
  • Обязательно используйте самодельный датчик как дополнение к сертифицированным автономным устройствам.
  • Настройка порогов, фильтров и автоматизаций снижает риск ложных срабатываний.
  • Такое решение даёт контроль, приватность и возможность масштабирования.
⚠️ Дисклеймер — нажмите, чтобы развернуть

Материалы, опубликованные в разделе «Блог» на сайте RU DESIGN SHOP (rudesignshop.ru), носят исключительно информационный и ознакомительный характер и не являются руководством к действию, финансовой рекомендацией, медицинской услугой, ветеринарным назначением либо рекламой товаров и услуг, включая азартные игры. Публикации не содержат призывов к участию в азартных играх и не направлены на продвижение соответствующих операторов.

Безопасность применения товаров и веществ: при использовании строительных материалов, бытовой химии, пестицидов и агрохимикатов необходимо строго следовать инструкциям производителя и действующему законодательству Российской Федерации, включая Федеральный закон РФ от 19.07.1997 № 109-ФЗ «О безопасном обращении с пестицидами и агрохимикатами».

Упоминание товарных знаков, брендов и организаций носит исключительно информационный характер и не означает наличие партнёрских отношений или одобрения со стороны правообладателей.

Материалы, содержащие сведения о медицинских, ветеринарных или косметических средствах, представлены в справочных целях и не являются медицинской консультацией или назначением. Перед применением рекомендуется обратиться к врачу, ветеринарному специалисту или иному сертифицированному профессионалу.

Возрастные ограничения: материалы, содержащие сведения о продукции категории 18+, включая алкоголь или азартные игры, предназначены исключительно для совершеннолетней аудитории и публикуются в информационных целях.

Правовая ответственность: решения, принятые на основе опубликованной информации, пользователь принимает самостоятельно и на свой риск; редакция и авторы несут ответственность в пределах, установленных законодательством Российской Федерации.

Редакция не допускает публикаций, содержащих пропаганду экстремизма, терроризма, наркотических средств или суицида; подобные материалы подлежат немедленному удалению.

Упоминание организаций с ограниченным статусом: компания Meta Platforms Inc. (социальные сети Facebook и Instagram) признана экстремистской организацией решением суда РФ, её деятельность запрещена на территории Российской Федерации; любые упоминания приводятся исключительно в информационных целях.

Авторские права и источники: информация собирается из открытых источников; её актуальность указывается на дату публикации и может изменяться.

Изображения и иллюстрации используются на условиях, разрешённых правообладателями. При возникновении претензий редакция готова оперативно рассмотреть обращение и внести необходимые изменения.

Персональные данные и cookies: сайт использует cookies и обрабатывает персональные данные пользователей в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» и Политикой конфиденциальности RU DESIGN SHOP.

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

 

РЕКОМЕНДУЕМ
Товары от российских производителей
Светильник Slim Forstlight
Выберите параметры Этот товар имеет несколько вариаций. Опции можно выбрать на странице товара.

Светильник Slim Forstlight

Диапазон цен: 10340  руб. – 164320  руб.
Светильник RING GRAND Forstlight
Выберите параметры Этот товар имеет несколько вариаций. Опции можно выбрать на странице товара.

Светильник RING GRAND Forstlight

Диапазон цен: 157080  руб. – 576320  руб.
Настенный светильник QuadroWall GLODE
Выберите параметры Этот товар имеет несколько вариаций. Опции можно выбрать на странице товара.

Настенный светильник QuadroWall GLODE

Диапазон цен: 30100  руб. – 39100  руб.