ESP32 та Telegram bot: віддалений моніторинг
Сучасні IoT-системи все частіше використовують хмарні сервіси для контролю та керування. Але нерідко розробнику чи ентузіасту достатньо простого й безкоштовного рішення, яке дозволяє стежити за станом датчиків з будь-якої точки світу. ESP32 та Telegram-бот забезпечують зручний і надійний спосіб організувати віддалений моніторинг без складних серверів.
Необхідне обладнання
- Плата ESP32 DevKit (WROOM або WROVER)
- Датчик температури та вологості DHT22 (або аналогічний)
- USB-кабель для прошивки та живлення ESP32
- Wi-Fi мережа з доступом в інтернет
- Обліковий запис у Telegram і створений бот через @BotFather
Принцип роботи
ESP32 підключається до домашньої Wi-Fi мережі та періодично зчитує дані з датчика (наприклад, DHT22). Через бібліотеку UniversalTelegramBot контролер надсилає ці дані користувачу в Telegram. Користувач може запросити показники командою, а також отримувати автоматичні сповіщення, наприклад, при перевищенні температури.
Приклад коду
// Приклад: ESP32 + Telegram bot для моніторингу температури та вологості
// Бібліотеки: WiFi, WiFiClientSecure, UniversalTelegramBot, ArduinoJson, DHT
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <ArduinoJson.h>
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";
#define BOT_TOKEN "123456789:AA..." // токен від BotFather
#define CHAT_ID "987654321" // ваш chat_id
WiFiClientSecure secured_client;
UniversalTelegramBot bot(BOT_TOKEN, secured_client);
unsigned long lastCheck = 0;
const long interval = 60000; // 1 хвилина
void setup() {
Serial.begin(115200);
dht.begin();
WiFi.begin(ssid, password);
Serial.print("Підключення до WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi підключено");
secured_client.setInsecure(); // вимикаємо перевірку сертифіката
}
void loop() {
if (millis() - lastCheck > interval) {
lastCheck = millis();
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Помилка зчитування з датчика DHT22");
return;
}
String message = "Температура: " + String(t) + "°C\nВологість: " + String(h) + "%";
bot.sendMessage(CHAT_ID, message, "");
}
// обробка вхідних команд
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while (numNewMessages) {
for (int i = 0; i < numNewMessages; i++) {
String text = bot.messages[i].text;
String chat_id = bot.messages[i].chat_id;
if (chat_id == CHAT_ID && text == "/status") {
float h = dht.readHumidity();
float t = dht.readTemperature();
String reply = "Зараз: " + String(t) + "°C, " + String(h) + "%";
bot.sendMessage(chat_id, reply, "");
}
}
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
}
Застосування та розширення проєкту
- Віддалений моніторинг температури й вологості в теплиці, на складі або у серверній
- Надсилання сповіщень про перевищення критичних значень
- Підтримка кількох датчиків (наприклад, DHT22, BMP280, DS18B20)
- Додавання команд Telegram-бота для керування реле чи вентилятором
- Логування даних у Google Sheets або локальну базу даних
Висновок
Використання ESP32 та Telegram-бота для віддаленого моніторингу — це просте й надійне рішення для особистих і професійних завдань. Проєкт легко розширюється: можна додати додаткові датчики, автоматичні попередження та елементи керування. Такий підхід дозволяє зібрати функціональну систему віддаленого контролю без платних хмарних сервісів та складних серверних застосунків.
Кодовий замок з набору резисторів
Используя несколько сдвоенных компараторов можно сделать кодовый замок, ключ для которого будет сост..
Каніфоль 10г
Тверда каніфоль для пайкиЗастосовується як флюс при пайці свинцево-олов'яним припоєм..
41.95грн.
Пушка Гауса
Підключаємо до контролера Arduino, stm32, Raspberry PI пушку Гауса через електропускачіА якщо до цьо..
Watchdog і таймери ESP32
Watchdog і таймери ESP32 ESP32 має вбудований Watchdog Timer (WDT), який використовується для зах..
Ємнісний датчик вологості грунту аналоговий
Ємнісний датчик вологості ґрунту V1.2 — надійний та точний інструмент для вимірювання рівня вологост..
55.36грн.





