• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Подключение датчика температуры и влажности DHT22(AM2302) в ESPHome и Home Assistant.

22 августа, 2021

DHT22: http://alii.pub/5yjvv7

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

Этот датчик DHT22 температуры и влажности был очень популярный раньше. Самое первое что люди начинали изучать в ардуино это подключение этого датчика к нему.

Тогда еще  не было таких крутых датчиков как BME280 и других. Позже появился bmp080, но он скорее был дополнением, так как он не показывал влажность, но показывал давление.

Технические характеристики датчика DHT22:

  • Питание – от 3 до 5 Вольт;
  • Максимальный ток при преобразовании – 2,5 мА;
  • Способен измерять влажность в интервале от 0% до 100%. Точность измерений колеблется от 2% до 5%;
  • Минимальная измеряемая температура – минус 40, максимальная – 125 градусов по Цельсию (точность измерений – 0,5);
  • Устройство способно совершать одно измерение за 2 секунд. Частота – до 0,5 ГЦ;
  • Габаритные размеры: 15,1 мм длина; 25 мм широта; 5,5 мм высота;
  • Присутствует 4 коннектора. Расстояние между соседними – 0,1 ‘;

Теперь давайте поговорим про подключение его к ESP8266 или ESP32 чтоб работать с ним в ESPHome.

Если DHT22 в оболочке “модуля” то у него всего 3 пина, таких как VCC,GND и Pin data.

Для ESPHome существует интеграция DHT https://esphome.io/components/sensor/dht.html. С ней собственно и работают датчики DHT22 и DHT11.

У меня код в итоге выглядит вот так:


sensor:
  - platform: dht
    pin: GPIO26
    temperature:
      name: "DHT22 Temperature"
    humidity:
      name: "DHT22 Humidity"
    update_interval: 60s
GPIO26 - это пин к которому собственно и подключен pin data датчика DHT22.

А так выглядит вывод показаний Температуры и влажности на дисплей M5STack:


spi:
  clk_pin: 18
  mosi_pin: 23
  miso_pin: 19

sensor:
  - platform: dht
    pin: GPIO26
    temperature:
      name: "DHT22 Temperature"
      id: temperature
    humidity:
      name: "DHT22 Humidity"
      id: humidity
    update_interval: 3s
    
font:
  - file: "fonts/Roboto-Medium.ttf"
    id: font_roboto_medium22
    size: 22
color:
  - id: RED
    red: 100%
    green: 0%
    blue: 0%
  - id: BLUE
    red: 0%
    green: 0%
    blue: 100%
  - id: WHITE
    red: 100%
    green: 100%
    blue: 100%
      
display:
  - platform: ili9341
    id: m5stack_display
    model: M5Stack
    cs_pin: 14
    dc_pin: 27
    led_pin: 32
    reset_pin: 33
    rotation: 0
    lambda: |-
      it.rectangle(0,  0, it.get_width(), it.get_height(), WHITE);
      it.rectangle(0, 22, it.get_width(), it.get_height(), WHITE);   // header bar
      it.print(it.get_width() / 2, 11, id(font_roboto_medium22), WHITE, TextAlign::CENTER, "DHT22");
      it.print(11,  33, id(font_roboto_medium22), WHITE, TextAlign::LEFT, "Temperature");
      it.print(11,  55, id(font_roboto_medium22), WHITE, TextAlign::LEFT, "Humidity");
      it.printf(it.get_width() - 11,  33, id(font_roboto_medium22), WHITE, TextAlign::RIGHT, "%.1f ", id(temperature).state);
      it.printf(it.get_width() - 11,  55, id(font_roboto_medium22), WHITE, TextAlign::RIGHT, "%.1f ", id(humidity).state);

Ну а как добавить этот датчик подключенный таким способом к ESPHome в Home Assistant. Тут все как обычно.

Заходим в Настройки->Интеграции-> Добавляем новую интеграцию ESPHome и введя ip адрес нашей ESPшки к которой подключен DHT22. И все интеграция добавится.

В системе Home Assistant это все будет видеться какDHT22 Temperature и DHT22 Humidity соответственно. И выглядит это так:

Ну и при добавлении в карточку:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·