WEB Сервер на ESP-01 с DHT11, DHT22

17
WEB Сервер на ESP-01 с DHT11, DHT22

В этом примере создадим простой Web сервер на ESP-01 (ESP8266) с отображением температуры и влажности, данные считываем с датчика DHT11, можно воспользоватся и DHT22, код не изменится.

WEB Сервер на ESP-01 с DHT11, DHT12

Необходимые детали:
► Беспроводной Wi-Fi модуль ESP8266-01 (ESP-01) x 1 шт.
► Датчик температуры и влажности DHT11 x 1 шт.
► Комплект проводов DuPont 2.54 мм, 20 см  x 1 шт.
► Адаптер для ESP-01 (USB, CH340G, ESP8266) x 1 шт.
► Резистор 4.7 кОм x 1 шт

Прошивка ESP-01:
Прежде, чем собирать принципиально. схему, необходимо прошить модуль ESP-01 (ES8266), для этого берем USB адаптер на CH340G. Устанавливаем модуль ESP-01 в USB адаптер CH340G и подключаем его в USB разъем компьютера (в системе должен появится новый последовательный порт (COMx).
Программа написана в среде IDE Arduino, но для работы с чипами ESP8266, необходимо установить ESP плату, как это сделать можно посмотреть в этой статье. Так-же, необходимы две дополнительные библиотеки  «DHT» и  «Adafruit_Sensor» (скачиваем их можно в конце статьи). Теперь осталось загрузить скетч в программу IDE и загрузить в модуль ESP-01.

  Скачать скетч

Определение IP (ESP-01):
Теперь необходимо узнать IP модуля, для этого открываем «Мониторинг порта» с выставленной скоростью «115200», в моем случаи сеть выдала «192.168.1.148».

WEB Сервер на ESP-01 с DHT11, DHT22

Модуль прошит, можно приступать к сборке принципиальной схемы.

Подключение ESP-01 и DHT11
Собираем принципиальную схему, согласно рисунку ниже (для удобства рекомендую использовать готовые модули DHT11, с впаянным резистором и световой индикацией). Подключение датчик влажности осуществляется по однопроводной линии (не путать с интерфейсом DS12D20), который подключаемся к модулю ESP-01 (вывод GPIO2), так-же, для работы интерфейса необходим подтягивающий резистор на 4.7 кОм. В качестве источником питания, используем понижающий преобразователь LM2596, с выставленным выходным напряжением 3.3В.

WEB Сервер на ESP-01 с DHT11, DHT22

WEB Сервер на ESP-01 собран, открываем любой браузер (компьютер должен находиться в той же сети, что и ESP модуль), вводим IP-адрес (192.168.1.148) и нажимаем Enter.

WEB Сервер на ESP-01 с DHT11, DHT22

При желании, можно добавить реле, которое будет переключатся при определенном условии.

Ссылки
  Скачать библиотеку DHT
  Скачать библиотеку Adafruit_Sensor

Купить на Aliexpress
  Беспроводной Wi-Fi модуль ESP8266-01 (ESP-01)
 Адаптер USB для ESP-01 (Wi-Fi, CH340G)
  Адаптер USB для ESP-01 (Wi-Fi, CH340G) — с переключателем 
  Датчик температуры и влажности DHT11
  Модуль DHT11 для ESP-01
  Комплект проводов DuPont, 2,54 мм, 20 см

Купить в Самаре и области
  
Беспроводной Wi-Fi модуль ESP8266-01 (ESP-01)
  Адаптер USB для ESP-01 (Wi-Fi, CH340G)
  Датчик температуры и влажности DHT11
  Модуль датчика температуры и влажности DHT11

17 комментариев для “WEB Сервер на ESP-01 с DHT11, DHT22

  1. всё сделал по инструкции, к файфай подключается, получает IP. но по данном IP не удаётся получить доступ ни с какого устройства нии с какого браузера. Всё время пишет о том что время ожидания соединения истекло… Помогите пжл не знаю куда копать уже.

  2. в последних посылках от китайцев приехали модули с минимальной прошивкой — ви-фи есть, и более ничего, на АТ команды не отзываются. После заливки нормальной прошивки все норм

  3. Добрый день. В строке 55: if (c == ‘\n’ && blank_line) — не объявленная переменная amp. Что это такое?

  4. Уважаемый Сергей, можно ли такому модулю (ESP-01s) назначить постоянный айпишник при подключении к локальной сети? Если да, то как дополнится ваш скетч?

    1. Нашёл уже код установки постоянного айпи адреса модуля ESP-01S при подключении к локальной сети.

        1. Роутер устанавливает айпи для ограниченного количества устройств. (у меня всего шесть). Остальные железки должны требовать сами нужный айпи. Это действо имеет недостатки (например такое устройство плохо коннектится с серверами точного времени). Однако в арсенале нужно иметь все доступное.

  5. Здравствуйте! А зачем последовательный порт в коде нужен, если я хочу только в вэб-сервер данные выводить?

    1. Здравствуйте, последовательная связь необходима только для определения IP, с кода можно ее удалить.

  6. Здравствуйте, а можно ли добавить несколько датчиков, чтоб мониторить температуру по всему дому, допустим с 10 шт.
    Как это программно сделать?

  7. Не могу понять что я делаю не так, сеть не появляется, монитор порта одни точки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *