ESP8266 и DHT: создаем умный домашний контроль климата

Недавно потребовалось вести мониторинг температуры и влажности в одном из помещений. Покупать какие то Zigbee устройства и связывать из через хаб — задачей не стояло.
Так и родился весь проект и код на микроконтроллере ESP8266 NODEMCU совместно с датчиком температуры и влажности — DHT11.

Используя дешевый микроконтроллер ESP8266 NODEMCU (~150 рублей), датчик DHT11 и Telegram Bot, я создал свою систему мониторинга.

Данный скетч (код) позволяет отслеживать данные через веб-страницу используя auth-авторизацию по логину и паролю, и получения уведомлений в Telegram.

Подключите Ваш ESP8266 к компьютеру, установите нужные библиотеки в ArduinoIDE: (ESPAsyncTCP), (ESPAsyncWebServer), (FastBot), (DHT sensor library) и скомпилируйте код – ваш умный мониторинг готов к работе.

Ниже схема для подключения датчика к самому микроконтроллеру:


Во время запуска ESP в консоли также выводится вся нужная информация

Перед тем как загрузить скетч, необходимо внести несколько изменений в переменные с учетом ваших сетевых данных, чтобы ESP8266 мог установить соединение с существующей сетью:

const char* ssid; // SSID Wi-Fi сети
const char* password; // Пароль Wi-Fi сети

Также вставляем свой токен Telegram-бота:

// Инициализируем Telegram BOT
#define BOT_TOKEN "token"  // токен Telegram-бота
FastBot bot(BOT_TOKEN);

Ставим свой логин и пароль для авторизации на Web-странице:

// Установите логин и пароль при открытии WEB-адреса.
const char* www_username = "username";
const char* www_password = "password";

Также в блоке setup замените ID тех пользователей кто имеет право запускать бота:

bot.setChatID("1111111,2222222");  // ID-пользователей которые вправе запускать бота.

Ссылки:

Автор

vladios13

IT-шник, интернетчик.