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

Как собрать умный датчик температуры и влажности с OLED и Home Assistant

8 min read Умный дом Обновлено 06 Jan 2026
Датчик температуры и влажности с OLED и Home Assistant
Датчик температуры и влажности с OLED и Home Assistant

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

Коротко: этот проект подходит для домашних мастеров и интеграторов умного дома. Он требует базовых навыков пайки, доступа к Home Assistant и базового понимания сетей Wi‑Fi.

Что вам понадобится

Ниже — комплект компонентов и краткие пояснения к каждому элементу.

  • Датчик AHT10 — цифровой датчик температуры и влажности высокой точности. Кратко: измеряет температуру и относительную влажность.
  • Wemos D1 Mini или NodeMCU — контроллер на ESP8266. NodeMCU совместим с тем же кодом, но может иметь другую раскладку выводов.
  • OLED дисплей SSD1306 128x64 — для локального отображения показаний.
  • Провода-перемычки (Dupont) — для соединений макетной платой или прямых разъёмов.
  • Корпус (3D‑печатный или покупной) — защитит электронику и улучшит внешний вид.
  • Паяльник и припой — для надёжного соединения проводов и контактов.
  • Сервер Home Assistant (рекомендуется на Raspberry Pi или совместимом x86/x64) — для компиляции прошивки ESPHome, интеграции и автоматизаций.

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

Шаг 1: Подготовьте прошивку (ESPHome в Home Assistant)

  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. Откройте Web UI ESPHome и нажмите +New Device.
  2. Дайте устройству имя, например climate‑sensor, и нажмите Next.
  3. Выберите Pick a specific board и укажите Wemos D1 Mini (для NodeMCU выберите ESP8266 при необходимости).
  4. Нажмите Next > Skip, затем Edit для редактирования YAML.

Добавьте ваши Wi‑Fi‑учётные данные в раздел wifi:

wifi:  
  ssid: "YourWiFiSSID"  
  password: "WiFiPassword"

Вставьте далее указанный ниже фрагмент сразу после строки captive_portal:

web_server:  
  port: 80  
  
i2c:  
  sda: D2  
  scl: D1  
  scan: True  
  
time:  
- platform: sntp  
  id: my_time  
sensor:  
  - platform: aht10  
    temperature:  
      name: "Living Room Temperature"  
      id: temp  
    humidity:  
      name: "Living Room Humidity"  
      id: hum  
    update_interval: 10s  
  - platform: uptime  
    name: "Station Bureau Uptime Sensor"  
  - platform: wifi_signal  
    name: "Station Bureau WiFi Signal"  
    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: |-  
      // Print "Ravi Smart Home" in top center.  
      it.printf(64, 0, id(font1), TextAlign::TOP_CENTER, "Ravi Smart Home");  
  
      // Print temperature (from AHT10 sensor)  
      if (id(temp).has_state()) {  
        it.printf(127, 23, id(font3), TextAlign::TOP_RIGHT , "Temperature: %.1f°", id(temp).state);  
      }  
  
      // Print Humidity (from AHT10 sensor)  
      if (id(hum).has_state()) {  
        it.printf(127, 60, id(font3), TextAlign::BASELINE_RIGHT , "Humidity: %.1f", id(hum).state);  
      }

Замените строку “Ravi Smart Home” на нужный заголовок. Затем Save и Install.

Выберите опцию Plug into this computer для локальной прошивки через USB и дождитесь компиляции — это займёт примерно 10–15 минут в зависимости от нагрузки сервера Home Assistant.

Когда компиляция завершится, нажмите Download project, чтобы сохранить файл climate‑sensor.bin на вашем компьютере.

Важно: не вводите в YAML неверные индентации — YAML чувствителен к пробелам.

Шаг 2: Запишите прошивку на Wemos D1 Mini или NodeMCU

Вы можете прошить устройство через веб‑интерфейс ESPHome (Open ESPHome Web) или с помощью утилиты ESPHome‑Flasher (Windows/Linux/Mac).

Процедура через веб‑интерфейс:

  1. Нажмите Open ESPHome web в компаньоне после загрузки bin-файла.
  2. Нажмите Connect, выберите COM‑порт и нажмите Connect. Если плата не определяется — установите драйвер CH340/CH341.
  3. Нажмите Install > Choose File и выберите файл climate‑sensor‑factory.bin (или соответствующий вашей сборке).
  4. Нажмите Install и дождитесь окончания процесса. Инструмент покажет прогресс и логи.

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

Шаг 3: Добавьте датчик в интерфейс Home Assistant

  1. В Home Assistant откройте Settings > Devices & Services.
  2. Должно автоматически появиться обнаруженное устройство climate‑sensor. Нажмите CONFIGURE и затем SUBMIT.
  3. Откройте карточку climate‑sensor в разделе ESPHome и нажмите на ссылку 1 device.
  4. Нажмите ADD TO DASHBOARD > View > ADD TO DASHBOARD и выберите комнату.

Теперь показания температуры и влажности будут доступны на панели и в историях Home Assistant.

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

Шаг 4: Подключите AHT10 и OLED к плате

Стандартные соединения I2C между AHT10, OLED и ESP следующие:

  • VIN AHT10 и OLED → 5V на Wemos D1 Mini или 3.3V на NodeMCU (проверьте совместимость платы и модулей).
  • GND AHT10 и OLED → G (GND) на плате.
  • SCL AHT10 и OLED → D1 (SCL) на NodeMCU/D1 Mini.
  • SDA AHT10 и OLED → D2 (SDA) на NodeMCU/D1 Mini.

Если модули рассчитаны только на 3.3 В, используйте 3.3 В; подача 5 В может повредить плату или датчик. При сомнениях проверьте документацию модулей.

Требуется пайка для надёжных и компактных соединений; можно сначала собрать на макетной плате для теста.

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

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

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

Ниже — простой пример автоматизации, которая выключает кондиционер (или релейный симулятор) при достижении заданной температуры и включает вентилятор при повышенной влажности. Этот YAML — пример; замените entity_id на ваши реальные сущности.

alias: "Автоматический контроль климата"
trigger:
  - platform: numeric_state
    entity_id: sensor.living_room_temperature
    above: 26.0
  - platform: numeric_state
    entity_id: sensor.living_room_humidity
    above: 65.0
condition: []
action:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: sensor.living_room_temperature
            above: 26.0
        sequence:
          - service: switch.turn_off
            target:
              entity_id: switch.hvac_power
      - conditions:
          - condition: numeric_state
            entity_id: sensor.living_room_humidity
            above: 65.0
        sequence:
          - service: switch.turn_on
            target:
              entity_id: switch.fan
    default: []
mode: single

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

  • Устройство подключается к Wi‑Fi и отображает состояние ONLINE в ESPHome.
  • OLED корректно показывает температуру и влажность.
  • Home Assistant получает показания и показывает графики истории.
  • Тестовый сценарий (дунуть/остудить) изменяет показания в реальном времени.

Роль‑ориентированные чек‑листы

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

  • Проверить совместимость питания модулей (3.3 В/5 В).
  • Спаять контакты аккуратно и пропаять землю и питание.
  • Убедиться в надёжном креплении в корпусе.

Для интегратора (software):

  • Добавить корректные Wi‑Fi данные в YAML.
  • Проверить адрес I2C (0x3C по умолчанию для SSD1306).
  • Настроить автоматизации и уведомления в Home Assistant.

Для пользователя/администратора (maintenance):

  • Настроить резервное копирование конфигурации ESPHome и Home Assistant.
  • Проверять обновления ESPHome и устанавливать по необходимости.

Проверка и тесты приёмки

  • Тест подключения: плата появляется в списке USB и успешно прошивается.
  • Тест отображения: OLED показывает текст и числа без артефактов.
  • Тест интеграции: Home Assistant показывает актуальные значения и историю.
  • Нагрузочный тест: оставить устройство онлайн 24 часа и контролировать утечки памяти — ESPHome обычно стабилен, но Watchdog полезен.

Типичные проблемы и способы их устранения

Проблема: Плата не определяется по USB

  • Проверьте драйвер CH340/CH341 и кабель (некоторые кабели только для зарядки).

Проблема: OLED не отображает текст

  • Проверьте адрес I2C (некоторые модули используют 0x3D вместо 0x3C).
  • Убедитесь, что SDA и SCL не перепутаны.

Проблема: Неверные значения температуры/влажности

  • Проверьте питание датчика (шумы на питании могут влиять на точность).
  • Подождите несколько секунд после включения — датчик может стабилизироваться.

Проблема: Устройство теряет Wi‑Fi

  • Переместите роутер ближе или настройте статический IP/резерв в DHCP.
  • Проверьте обновления прошивки и Watchdog.

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

  • Поменяйте стандартные пароли Wi‑Fi и Home Assistant.
  • Закройте доступ к ESPHome UI извне (используйте VPN или защищённый прокси), если не хотите открывать порт 80 наружу.
  • Минимизируйте сбор персональных данных: сам датчик не собирает персональную информацию, но интеграция в Home Assistant может сохранять истории — управляйте retention и доступом.
  • GDPR: если вы делитесь телеметрией с третьими сервисами, уведомите пользователей дома и настройте удаление данных по запросу.

Совместимость и миграция

  • Контроллеры: плата ESP8266 (Wemos/NodeMCU) — совместима с ESPHome; ESP32 также поддерживается, но пины I2C и флеш-процесс отличаются.
  • Датчики: AHT10 — типичный I2C‑датчик; если у вас DHT22/DHT11, потребуется другой платформенный драйвер и другая схемотехника (не I2C).
  • OLED: SSD1306 128x64 часто использует адрес 0x3C; другие OLED-модули могут иметь другой адрес или использовать SPI.

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

  • Готовые IoT‑модули: покупные Wi‑Fi датчики с поддержкой MQTT/HTTP позволят избежать пайки.
  • Использовать ESP32: даёт больше памяти, Bluetooth и дополнительные пины для расширения.
  • MQTT вместо ESPHome: если ваша архитектура основана на MQTT, можно прошить ESP с прошивкой, публикующей в MQTT‑брокер.

Когда этот подход не подходит

  • Если вам нужны промышленные допуски (пыле/влагозащита, сертификация) — домашнее устройство не подойдёт.
  • Если требуется длительная автономная работа от батарей — ESP8266 и OLED потребляют слишком много энергии без глубокой оптимизации.

Факт‑бокс: ключевые параметры

  • Частота обновления датчика: обычно 10 с (в примере).
  • I2C‑адрес OLED: 0x3C по умолчанию.
  • Питание: 3.3 В или 5 В в зависимости от модулей (проверьте модуль).
  • Платформа прошивки: ESPHome с ESP8266/ESP32.

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

  • I2C: простая двужильная шина данных для датчиков и дисплеев.
  • ESPHome: фреймворк для создания прошивок для ESP‑устройств с интеграцией в Home Assistant.
  • OLED SSD1306: популярный небольшой дисплей для вывода текста и графики.

Шаблон действий по инцидентам (если устройство упало)

  1. Проверьте питание и индикаторы платы.
  2. Подключитесь через USB и посмотрите логи в ESPHome Web.
  3. Если устройство не отвечает, перепрошите последнюю рабочую версию .bin.
  4. Если проблема повторяется, замените плату или проверьте помехи в питании.

Социальный превью и короткое объявление

OG title: Датчик температуры и влажности с OLED и Home Assistant OG description: Соберите Wi‑Fi датчик на AHT10 и ESP, интегрируйте его в Home Assistant для автоматизации климата.

Короткое объявление (100–200 слов): Соберите собственный умный датчик температуры и влажности на базе AHT10 и контроллера ESP (Wemos D1 Mini или NodeMCU). Подключите OLED‑дисплей для локального отображения и используйте ESPHome в Home Assistant для простой прошивки и интеграции. Такое устройство позволяет отслеживать условия в комнате в реальном времени и автоматически управлять климатическими устройствами — кондиционером, вентилятором или увлажнителем. В руководстве описаны список компонентов, подготовка прошивки, процесс прошивки, схемы подключения, примеры автоматизаций, чек‑листы и рекомендации по безопасности. Подойдёт как для новичков, так и для опытных энтузиастов умного дома.

Итог

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

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

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

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

Как управлять ПК с телефона Android
Руководство

Как управлять ПК с телефона Android

Исправление DNS_PROBE_FINISHED_NXDOMAIN
Сеть

Исправление DNS_PROBE_FINISHED_NXDOMAIN

Субтитры на Apple TV+: включение и настройка
Руководство

Субтитры на Apple TV+: включение и настройка

Сканер не работает в Windows 11 — как исправить
Техподдержка

Сканер не работает в Windows 11 — как исправить

Профильная фотография с TinyWow
Инструменты

Профильная фотография с TinyWow

Проверить Windows Experience Index в Windows 10
Windows

Проверить Windows Experience Index в Windows 10