Во время процесса чтения сигнала любые прерывания повредят результат. В реализации Arduino Adafruit они отключают все прерывания во время процесса чтения. ESP8266 не может отключить все прерывания, поэтому, если прерывание действительно происходит, ожидайте плохой результат.
Нашел библиотеку без них.
Скачать
Статьи о применении его
Здесь
Проверил на Wemos D1 mini. Для датчиков DHT11, DHT21 (AM2301), DHT22 (A8M2302).
Gpio 0, 2, 4, 5, 12-15 работают. Если использовать пин 15, датчик, при загрузке программы, нужно отключить с этого контакта, а то ошибка.
Попробовал создать точку доступа и через веб браузер получать данные с DHT22. Все работает хорошо! Делал пример по видеоуроку ArduinoProm.
Вывел дополнительно выход параметра - температура точки росы.
t - температура, в С.
р - влажность в %.
d - температура точки росы.
time - время опроса в миллисекундах.
DHTPIN - пины ESP8266, куда подключаете.
DHTTYPE - тип датчика, DHT11, DHT21, AM2301, DHT22, AM2302.
Наш форумчанин проверил и на ESP32
здесь.
dizzyy испытал на ESP-01, его сообщение
ниже.
Еще один блок для работы с ESP8266
Библиотека DHTesp
здесь.
Блок для Ардуино
здесь.
Работа датчиков с библиотекой TickerScheduler
здесь.