Гид по технологиям

Датчик температуры и влажности с OLED и интеграция в Home Assistant

7 min read DIY умный дом Обновлено 10 Dec 2025
Датчик температуры и влажности с OLED и Home Assistant
Датчик температуры и влажности с OLED и Home Assistant

OLED экран показывает показания температуры и влажности

Необходимо

Короткий список компонентов и инструментов. Если вы уже умеете паять и работали с ESP8266 — пропустите раздел инженеру.

  • Датчик AHT10 — цифровой датчик температуры и влажности (высокая точность).
  • Плата Wemos D1 Mini или NodeMCU (ESP8266).
  • OLED‑дисплей SSD1306 128×64 (I2C).
  • Проводки «Dupont» (мама‑папа или мама‑мама в зависимости от разъёма).
  • Корпус (3D‑печать или готовый корпус).
  • Паяльник и припой.
  • Сервер Home Assistant (например, Raspberry Pi) с установленным аддоном ESPHome.

Примечание: NodeMCU работает на 3.3 В. На Wemos D1 Mini VIN можно подключать к 5 В, но при использовании модулей I2C обычно лучше питать их от 3.3 В, чтобы избежать уровней, несовместимых с ESP8266.

Шаг 1 — Подготовка прошивки (ESPHome)

  1. В Home Assistant откройте Settings → Add‑ons → Add‑on store.
  2. Найдите ESPHome (не берите dev или beta) и установите его.
  3. После установки нажмите Start и включите опции Start on boot, Watchdog и Show on sidebar.

установка esphome в Home Assistant

  1. Откройте «Open Web UI» ESPHome и нажмите + New Device.
  2. Дайте имя устройству, например climate-sensor, и выберите конкретную плату Wemos D1 Mini (или ESP8266 при использовании NodeMCU).
  3. Выберите Skip при предложении автоматической конфигурации и откройте редактор YAML (Edit).

Добавьте в YAML ваши Wi‑Fi данные и конфигурацию. Пример корректного блока (уберите обратные кавычки если они сохранились):

wifi:
  ssid: "Ваш_SSID"
  password: "Ваш_Пароль"

web_server:
  port: 80

i2c:
  sda: D2
  scl: D1
  scan: True

time:
  - platform: sntp
    id: my_time

sensor:
  - platform: aht10
    temperature:
      name: "Температура в комнате"
      id: temp
    humidity:
      name: "Влажность в комнате"
      id: hum
    update_interval: 10s
  - platform: uptime
    name: "Время работы устройства"
  - platform: wifi_signal
    name: "Уровень WiFi"
    update_interval: 30s

font:
  - file: 'slkscr.ttf'
    id: font1
    size: 12
  - file: 'BebasNeue-Regular.ttf'
    id: font2
    size: 15
  - file: 'arial.ttf'
    id: font3
    size: 15

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    reset_pin: D0
    address: 0x3C
    rotation: 180°
    lambda: |-
      it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "Мой Дом");
      if (id(temp).has_state()) {
        it.printf(127, 23, id(font3), TextAlign::TOP_RIGHT , "Темп: %.1f°C", id(temp).state);
      }
      if (id(hum).has_state()) {
        it.printf(127, 60, id(font3), TextAlign::BASELINE_RIGHT , "Влажн.: %.1f%%", id(hum).state);
      }

Советы:

  • Переведённые имена сенсоров помогут в Home Assistant. При желании оставьте английские строки.
  • rotation: 180° использует реальный символ градуса для удобства.
  • Для SSD1306 адрес чаще 0x3C; при проблемах проверьте скан I2C.

После редактирования нажмите Save и Install → Plug into this computer чтобы запустить компиляцию. Сборка может занять 10–15 минут. Скачайте скомпилированный бинарный файл climate-sensor.bin.

Шаг 2 — Заливка прошивки на плату

Можно использовать встроенный веб‑установщик ESPHome (Open ESPHome web) либо отдельный ESPHome‑Flasher.

  1. Подключите плату к компьютеру.
  2. В ESPHome Web нажмите Connect, выберите COM‑порт и подключитесь. При проблемах установите драйвер CH340/CH341 (если требуется).
  3. Нажмите Install → Choose File и выберите climate-sensor‑factory.bin.
  4. Нажмите Install и дождитесь завершения прошивки.

После успешной прошивки в панели ESPHome устройство должно появиться как ONLINE.

Шаг 3 — Добавление устройства в Home Assistant

  1. В Home Assistant откройте Settings → Devices & Services.
  2. Должно обнаружиться устройство climate-sensor (ESPHome). Нажмите CONFIGURE и SUBMIT.
  3. Откройте устройство в списке ESPHome и нажмите ADD TO DASHBOARD → выберите комнату и подтвердите.

показания температуры и влажности в панели home assistant

Показания обновляются в реальном времени. Для быстрой проверки подуйте на датчик — значение влажности и температура должны кратковременно измениться.

Шаг 4 — Подключение датчика и OLED

Схема подключения (I2C): SDA → D2, SCL → D1, GND → G, VCC → 3.3V (или VIN на Wemos, если используете USB‑питание через 5V и модуль допускает такое питание). Рекомендации:

  • Подключайте оба устройства (AHT10 и OLED) к одной шине I2C.
  • Обязательно общая земля (GND) между платой и сенсорами.
  • Если OLED и модуль AHT10 имеют разные рабочие напряжения, используйте уровень‑преобразователь.

Пошагово:

  1. Соедините VIN AHT10 и VIN OLED с 3.3V (или 5V при Wemos D1 Mini, но лучше 3.3V).
  2. Соедините GND всех устройств с GND платы.
  3. Подключите SCL датчика и дисплея к D1.
  4. Подключите SDA датчика и дисплея к D2.

Если вы не уверены в пайке, потренируйтесь на макетной плате.

самодельный датчик температуры и влажности в 3D-корпусе

Пример автоматизации в Home Assistant

Автоматизация для включения вентилятора при высокой влажности:

alias: Включать вентилятор при влажности > 60%
description: Включает вентиляцию, если влажность в комнате превысила 60%.
trigger:
  - platform: numeric_state
    entity_id: sensor.vlazhnost_v_komnate
    above: 60
condition: []
action:
  - service: switch.turn_on
    target:
      entity_id: switch.fan_power
mode: single

Замените entity_id на реальные идентификаторы ваших устройств.

Отладка и частые проблемы

  • Устройство не подключается к Wi‑Fi: проверьте SSID/пароль в YAML и диапазон частоты (ESP8266 не поддерживает 5 GHz).
  • OLED не отображает: проверьте адрес I2C (0x3C/0x3D) и правильность SDA/SCL. Выполните i2c scan в ESPHome (scan: True) и проверьте обнаружение устройств.
  • Показания датчика нестабильны: разместите датчик вне прямого действия вентиляционных отверстий и избегайте резких температурных перепадов.
  • Плата не определяется компилятором: установите драйвер CH340/CH341 или попробуйте другой USB‑кабель (многие кабели только для зарядки).

Важно: если устройство подключается к интернету и видимо из внешней сети, ограничьте доступ и используйте авторизацию Home Assistant.

Критерии приёмки

  • Дисплей показывает температуру и влажность без ошибок.
  • Данные в Home Assistant обновляются не реже чем раз в 10 секунд (по конфигурации).
  • Устройство остаётся в состоянии ONLINE в ESPHome после перезагрузки.
  • Автоматизация корректно срабатывает при достижении порога.

Тестовые случаи

  1. Проверка I2C: при включении устройство сообщает адреса I2C в логе.
  2. Проверка Wi‑Fi: устройство подключается к сети и получает IP.
  3. Проверка датчика: изменение влажности (подувание) отражается в показаниях.
  4. Проверка дисплея: все шрифты и строки читаемы при нормальном положении экрана.

Чек‑листы по ролям

Для сборщика (maker):

  • Проверить полярность питания.
  • Убедиться, что все провода заизолированы.
  • Зафиксировать плату в корпусе, чтобы не было механического натяжения проводов.

Для администратора Home Assistant:

  • Проверить наличие ESPHome в аддонах.
  • Настроить резервную копию конфигурации.
  • Проверить права доступа и безопасный удалённый доступ.

Для тестировщика автоматизации:

  • Создать тестовую автоматизацию и имитировать событие для проверки срабатывания.
  • Записать логи при срабатывании.

Альтернативные подходы и совместимость

  • Если вы предпочитаете более точные датчики, рассмотрите SHT3x или BME280 (BME280 даёт ещё и давление).
  • Для меньшего потребления энергии используйте ESP32‑S2 или модули с энергосбережением и питание от батареи; тогда потребуется оптимизация таймеров и режим глубокого сна.
  • SSD1306 имеет несколько реализаций; если у вас SPI‑версия — конфигурация в ESPHome отличается.

Совместимость:

  • NodeMCU / Wemos D1 Mini = ESP8266 (3.3V логика).
  • ESP32 требует изменения платформы в ESPHome (platform: esp32) и пинов I2C.

Безопасность и приватность

  • Не публикуйте прошивку с открытым доступом к домашней сети.
  • Ограничьте внешний доступ к Home Assistant через VPN или прокси с авторизацией.
  • Храните пароли Wi‑Fi и ключи от облачных интеграций в защищённом хранилище.

Руководство по откату (rollback)

Если новая прошивка некорректна:

  1. Подключите плату к компьютеру.
  2. В ESPHome Web выберите ранее скомпилированный стабильный бинарный файл и установите его.
  3. Если устройство не отвечает, используйте режим флэшера и установите factory‑bin, полученный ранее.

Небольшая методология проекта (микро‑SOP)

  1. Подготовьте список компонентов и проверьте совместимость напряжений.
  2. Настройте ESPHome и соберите базовую конфигурацию без дисплея.
  3. Проверьте работу датчика в логах ESPHome.
  4. Добавьте дисплей и отладьте вывод на экран.
  5. Установите в корпус и подключите к Home Assistant.
  6. Добавьте автоматизации и мониторинг состояния.

Часто задаваемые вопросы

Какой напряжение лучше использовать — 3.3V или 5V?

Для ESP8266 и AHT10 лучше использовать 3.3V. Некоторые Wemos D1 Mini допускают VIN=5V при наличии встроенного регулятора, но уровни логики остаются 3.3V.

Можно ли подключить несколько OLED и AHT10 к одной шине I2C?

Да, если у устройств уникальные I2C‑адреса. AHT10 обычно один адрес; дополнительные сенсоры потребуют мультиплексора I2C.

Как сократить потребление энергии для батарейного питания?

Переведите ESP8266 в глубокий сон (deep_sleep) и делайте периодические замеры. Учтите, OLED в этом режиме отключён.

Что делать, если дисплей показывает «мусор»?

Проверьте уровень питания, скорость I2C и адрес. Попробуйте другие шрифты и уменьшите частоту обновления.

Короткое резюме

Ваш Wi‑Fi датчик готов. Вы знаете, как прошить устройство через ESPHome, подключить AHT10 и SSD1306, добавить устройство в Home Assistant и создать базовую автоматизацию. Следуйте чек‑листам и тестовым случаям, чтобы обеспечить стабильную работу и безопасность.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство