В прошлой статье мы показали код метеостанции на ESP32 в 50 строк и сказали: «Собирается за один вечер». В комментариях справедливо заметили: «Покажите весь процесс от начала до конца — от покупки деталей до момента, когда в Telegram приходит алерт». Показываем. Паяльник не нужен, опыт программирования — тоже. Нужны руки, Wi-Fi и три тысячи рублей.
Что получится в итоге
Устройство размером со спичечный коробок, которое стоит в теплице и каждые пять минут замеряет температуру и влажность воздуха. Если показатели вышли за пороги — вам мгновенно приходит сообщение в Telegram. Когда вернулись в норму — приходит второе: «Всё ок».
Зачем это фермеру? Три типичных сценария.
Весенние заморозки. Май, рассада томатов высажена в неотапливаемую теплицу. Ночью температура падает до -5°C. Без датчика вы узнаёте об этом утром — рассада уже подмёрзла. С датчиком алерт приходит в 3 часа ночи, и у вас есть время включить тепловую пушку или укрыть грядки агроволокном. Фермер из Тульской области в 2025 году рассказывал, что за один такой заморозок едва не потерял 40 тысяч саженцев. Алерт пришёл в 2:47 ночи — успел.
Летний перегрев. Июль, +42°C в теплице на солнце. Томаты сбрасывают цвет, перцы горят. Датчик предупредит, что пора открыть вентиляцию или включить затенение. Особенно критично, если вы не можете быть на участке каждый день.
Повышенная влажность. Осень, влажность в теплице 95%. Идеальные условия для фитофторы и серой гнили. Датчик предупредит — вы проветрите. За один сезон это может спасти урожай на десятки тысяч рублей.
Комплектующие: всё с маркетплейса, без специализированных магазинов
Всё покупается на Ozon, Wildberries или в любом магазине электроники. Никаких специализированных компонентов, никаких заказов из Китая с ожиданием месяц.
- ESP32 DevKit V1 — микроконтроллер со встроенным Wi-Fi и Bluetooth. Сердце всей конструкции. Ищите именно «ESP32 DevKit» или «ESP-WROOM-32». ~600 ₽
- Датчик DHT22 (AM2302) — измеряет температуру (от −40 до +80°C, точность ±0.5°C) и влажность (0–100%, точность ±2%). Важно: берите именно DHT22, а не DHT11 — последний менее точный и не работает при минусовых температурах. ~350 ₽
- Макетная плата (breadboard) — пластиковая плата с отверстиями, в которые втыкаются компоненты и провода. Никакой пайки. ~150 ₽
- Провода-перемычки «папа-папа» — цветные проводки для соединений. Берите набор из 10–20 штук. ~100 ₽
- Резистор 10 кОм — нужен для подтяжки сигнального провода. Часто идёт в комплекте с DHT22. ~10 ₽
- Кабель Micro-USB — для прошивки и питания. У большинства уже есть от старого телефона. ~200 ₽
- Блок питания USB 5V 1A — любая зарядка от телефона. ~300 ₽
- Герметичный бокс IP55/IP65 — распаячная коробка из строительного магазина. ~250 ₽
Итого: ~1 960 ₽. С запасом на доставку и мелочи — укладываемся в 3 000 рублей. Для сравнения: готовая коммерческая метеостанция с Telegram-алертами стоит от 8 000 до 40 000 рублей.
Три провода и один резистор: подключение датчика
У датчика DHT22 три рабочих контакта (у некоторых модулей четыре ножки, но третья не используется). Соединяем их с ESP32 проводами-перемычками:
- VCC (питание) → пин 3.3V на ESP32
- GND (земля) → пин GND на ESP32
- DATA (сигнал) → пин GPIO4 (он же D4) на ESP32
Между VCC и DATA нужно поставить резистор 10 кОм — это «подтяжка» (pull-up). Без неё датчик работает нестабильно и выдаёт ошибки чтения. Если у вас модуль DHT22 на маленькой печатной плате (а не голый датчик) — резистор уже впаян, ставить не нужно.
Воткните ESP32 в макетную плату, DHT22 рядом, соедините тремя проводами, вставьте резистор. Если вы когда-нибудь собирали конструктор Lego — справитесь. Это буквально пять минут.
Arduino IDE и библиотеки: подготовка за 10 минут
Arduino IDE — бесплатная программа, через которую мы загрузим код в ESP32. Скачивайте с arduino.cc — версия 2.x для Windows, macOS или Linux.
После установки добавляем поддержку ESP32: File → Preferences, в поле «Additional Board Manager URLs» вставляем https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json. Затем Tools → Board → Boards Manager, ищем «esp32», устанавливаем пакет esp32 by Espressif Systems. Выбираем плату ESP32 Dev Module.
Далее ставим библиотеку: Tools → Manage Libraries, ищем «DHT sensor library», устанавливаем DHT sensor library by Adafruit (она попросит доустановить Adafruit Unified Sensor — соглашайтесь).
Всё. Среда готова.
Telegram-бот: две минуты и три сообщения
Алерты будут приходить от вашего собственного Telegram-бота. Создаётся он за два действия.
Открываем Telegram, находим бота @BotFather, отправляем /newbot. Вводим имя (например, «Моя теплица»), затем username (например, my_teplica_bot — должен заканчиваться на «bot»). BotFather выдаст токен — строку вида 7123456789:AAF1234567890abcdefghijklm. Сохраняем.
Теперь узнаём Chat ID — чтобы бот знал, кому писать. Находим в Telegram бота @userinfobot, отправляем любое сообщение — он ответит числом вида 123456789. Это ваш Chat ID.
Если хотите получать алерты в группу (чтобы видел и бригадир), добавьте созданного бота в группу и используйте Chat ID группы — оно начинается с минуса, например -1001234567890.
Код: 100 строк — и всё работает
Подключаем ESP32 к компьютеру кабелем Micro-USB или USB-C (в зависимости от модели ESP32). В Arduino IDE выбираем порт: Tools → Port — появится COM3 (Windows) или /dev/ttyUSB0 (Linux). Если порт не видно — нужен драйвер CP2102 или CH340 (гуглится за минуту по названию чипа на вашей плате).
Создаём новый скетч. Вставляем код целиком, меняем четыре строки настроек — и прошиваем.
#include <WiFi.h>
#include <HTTPClient.h>
#include <DHT.h>
// === НАСТРОЙКИ — замените на свои === //
const char* WIFI_SSID = "Название_вашей_сети";
const char* WIFI_PASSWORD = "пароль_от_wifi";
const char* BOT_TOKEN = "7123456789:AAF-ваш-токен";
const char* CHAT_ID = "123456789";
// === ДАТЧИК === //
#define DHT_PIN 4
#define DHT_TYPE DHT22
// === ПОРОГИ === //
#define TEMP_MIN 5.0 // ниже — алерт "холодно"
#define TEMP_MAX 35.0 // выше — алерт "жарко"
#define HUM_MAX 90.0 // выше — алерт "влажно"
#define INTERVAL 300000 // замер каждые 5 минут (мс)
DHT dht(DHT_PIN, DHT_TYPE);
bool alertSent = false;
unsigned long lastReport = 0;
void sendTelegram(String message) {
if (WiFi.status() != WL_CONNECTED) return;
HTTPClient http;
String encoded = message;
encoded.replace(" ", "%20");
encoded.replace("\n", "%0A");
String url = "https://api.telegram.org/bot"
+ String(BOT_TOKEN) + "/sendMessage?chat_id="
+ String(CHAT_ID) + "&parse_mode=HTML&text=" + encoded;
http.begin(url);
http.GET();
http.end();
}
void setup() {
Serial.begin(115200);
dht.begin();
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
int attempts = 0;
while (WiFi.status() != WL_CONNECTED && attempts < 40) {
delay(500);
attempts++;
}
if (WiFi.status() == WL_CONNECTED) {
sendTelegram("🌡 Метеостанция запущена!");
}
}
void loop() {
float temp = dht.readTemperature();
float hum = dht.readHumidity();
if (isnan(temp) || isnan(hum)) {
delay(5000);
return;
}
bool outOfRange = (temp < TEMP_MIN || temp > TEMP_MAX
|| hum > HUM_MAX);
if (outOfRange && !alertSent) {
String msg = "⚠️ <b>ВНИМАНИЕ! Теплица!</b>\n\n";
msg += "🌡 Температура: " + String(temp, 1) + "°C\n";
msg += "💧 Влажность: " + String(hum, 1) + "%\n\n";
if (temp < TEMP_MIN)
msg += "❄️ Ниже минимума (" + String(TEMP_MIN, 1) + "°C)!\n";
if (temp > TEMP_MAX)
msg += "🔥 Выше максимума (" + String(TEMP_MAX, 1) + "°C)!\n";
if (hum > HUM_MAX)
msg += "💦 Влажность выше нормы (" + String(HUM_MAX, 1) + "%)!\n";
sendTelegram(msg);
alertSent = true;
}
if (!outOfRange && alertSent) {
sendTelegram("✅ Показатели в норме\n🌡 "
+ String(temp, 1) + "°C 💧 " + String(hum, 1) + "%");
alertSent = false;
}
if (millis() - lastReport > 3600000) {
sendTelegram("📊 Отчёт: " + String(temp, 1) + "°C, "
+ String(hum, 1) + "%");
lastReport = millis();
}
delay(INTERVAL);
}
Что менять: WIFI_SSID и WIFI_PASSWORD — название и пароль Wi-Fi сети, BOT_TOKEN — токен от BotFather, CHAT_ID — ваш Chat ID. Пороги TEMP_MIN, TEMP_MAX и HUM_MAX подстраиваете под свою культуру.
Нажимаем Upload (стрелка вправо). Прошивка занимает 30–60 секунд. Если всё правильно — в Telegram приходит сообщение: «🌡 Метеостанция запущена!» Готово.
Пороги: какая температура нужна вашим растениям
Универсальных порогов не бывает. Вот ориентиры для самых популярных тепличных культур:
- Томаты: +20…+26°C днём, +16…+18°C ночью. Критично ниже +10°C и выше +35°C. Влажность 60–70%
- Огурцы: +24…+28°C днём, +18…+22°C ночью. Критично ниже +14°C. Влажность 75–85%
- Перцы: +22…+28°C днём, +16…+20°C ночью. Критично ниже +12°C и выше +35°C. Влажность 60–70%
- Рассада (общее): критично ниже +5°C. Влажность до 80%
Менять значения — три строки в коде. После изменения перепрошиваем — 30 секунд. Опытные огородники настраивают два режима — дневной и ночной. ESP32 умеет получать текущее время через интернет (NTP-сервер), и мы покажем, как это сделать, в одной из следующих статей.
Корпус и установка: чтобы не умерло от полива
Электроника в теплице без корпуса проживёт до первого полива. Простейший вариант — распаячная коробка IP55 из строительного магазина. Стоит 150–250 рублей, размер 80×80×50 мм — хватит с запасом.
ESP32 и макетную плату крепим на дно термоклеем или двусторонним скотчем. В стенке — два отверстия: одно для USB-кабеля, второе для датчика. Важный момент: датчик DHT22 нужно вынести наружу. Если поставить внутрь — он будет измерять температуру в коробке, а не в теплице. ESP32 при работе нагревается на 3–5°C, и это искажает данные. Отверстия герметизируем силиконом.
Где повесить: на высоте 1–1.5 метра (на уровне растений), не на прямом солнце (иначе покажет завышенную температуру), не вплотную к стенке (там всегда микроклимат другой). Идеально — в центральной части, под небольшим козырьком примерно в метре над растениями.
Питание: розетка, пауэрбанк или солнце
Самый простой вариант — USB-зарядка от телефона и длинный кабель. Протянули от розетки в теплицу — работает годами. Так делают 80% самоделкиных, и это нормально.
Если розетки рядом нет — есть варианты. Powerbank на 10 000 мАч (~1 000 ₽) хватит на 5–7 дней непрерывной работы. Солнечная панель 5W с контроллером заряда (~1 500 ₽) — полностью автономное решение: ESP32 потребляет ~50 мА при работе, панели хватит с огромным запасом. Есть ещё режим deep sleep — ESP32 просыпается раз в 5 минут, делает замер, отправляет данные и засыпает. Потребление падает в тысячу раз. С аккумулятором 18650 (200 ₽) устройство проработает 2–3 месяца. Код для deep sleep — тема для отдельной статьи.
Для начала берите банальный USB-кабель. Всё остальное — оптимизация для тех, кто захочет ставить датчики в поле, далеко от построек.
Когда что-то не работает: разбираем типичные грабли
Мы собрали самые частые проблемы — чтобы вы не тратили вечер на поиск того, что уже нашли другие.
«Ошибка чтения DHT22!» в Serial Monitor. В 90% случаев — плохой контакт на макетной плате. Проверьте провода — они должны плотно сидеть в отверстиях. Убедитесь, что DATA подключён именно к GPIO4. Если датчик на голых ножках (не на модуле) — должен стоять резистор 10 кОм между VCC и DATA. Если ничего не помогает — попробуйте питание от пина 5V вместо 3.3V: некоторые клоны DHT22 стабильнее работают от пяти вольт.
Wi-Fi не подключается. ESP32 работает только с 2.4 ГГц — если у вас роутер на 5 ГГц, убедитесь, что 2.4 включен. Проверьте SSID и пароль — регистр букв важен. Дальность: 30–50 метров прямой видимости, через стену теплицы — 10–20 метров. Если не хватает — Wi-Fi-репитер за 800 рублей решит проблему.
Telegram-сообщения не приходят. Откройте чат с ботом в Telegram и отправьте ему любое сообщение — без этого бот не может писать первым. Проверьте, что токен правильный (начинается с цифр, потом двоеточие, потом буквы). Проверьте Chat ID — должен быть числовым.
Данные «прыгают» — то +25°C, то +80°C. Наводки от длинных проводов. Укоротите кабель между датчиком и платой до 20–30 см. Если провода на макетке — проверьте, что контакт плотный. Бракованные датчики тоже бывают — при цене 350 рублей за штуку проще попробовать второй.
Что дальше: датчик влажности почвы и автовентиляция
Метеостанция — это точка входа. Когда она заработает (а она заработает — схема проверена сотнями людей), вы поймёте принцип и сможете развивать систему дальше.
Ближайшие проекты серии «Клуб самоделкиных»:
- Датчик влажности почвы — ёмкостный датчик за 200 ₽ + ESP32. Поливаете по факту, а не по расписанию. Экономия воды до 30%
- Автоматическая вентиляция — сервопривод за 500 ₽ открывает форточку, когда температура выше порога. Полная автоматика без участия человека
- Веб-дашборд — графики температуры и влажности за неделю прямо на телефоне. ThingSpeak, Grafana или самописное решение
- Связь без Wi-Fi — GSM-модуль для удалённых теплиц и LoRa для дальних полей (до 15 км без сотовой связи)
Когда датчиков станет больше десяти и ручное управление перестанет справляться — имеет смысл посмотреть в сторону профессиональных платформ. Например, ТерраКвант позволяет объединить DIY-датчики, коммерческие станции и GPS-трекеры в единый контур с аналитикой, алертами и привязкой к полям. Когда хозяйство перерастёт точечный мониторинг — считайте, что вы к этому готовы, потому что уже понимаете, какие данные нужны и зачем.
Но начинать нужно с малого. Один датчик на теплицу, один алерт в Telegram — и вы уже не гадаете, что там происходит, а знаете. Стоимость: ~2 000 рублей за комплектующие. Время: 30 минут на сборку, 20 минут на софт. Одна спасённая от заморозка рассада окупит систему в 10–50 раз.
Весь код из статьи — рабочий. Копируйте, меняйте четыре строки настроек, прошивайте. Если что-то не получилось — пишите в комментариях, разберём каждый случай.




