ESP8266 Telegram-бот: простое управление IoT-устройствами
Компоненты и материалы
| ESP8266 ESP-01 (Espressif) | 1 | |
| Arduino UNO | 1 | Для прошивки ESP-01 |
| Перемычки | 7 | |
| Android-устройство | 1 | Для Telegram |
Приложения и сервисы
- Telegram Bot API
- Arduino IDE
О проекте
Мой первый проект на Hackster: управление ESP8266 через Telegram-бота — отличный вход в мир IoT.
1. Установка библиотеки Telegram Bot
Скачайте библиотеку TelegramBot и добавьте в Arduino IDE через Скетч → Подключить библиотеку → Добавить .ZIP библиотеку….
2. Настройка бота в Telegram
- Установите Telegram, найдите @BotFather.
- Отправьте
/newbot, следуйте инструкциям. - Скопируйте выданный токен (например,
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11).
3. Подключение «железа»
Соедините ESP-01 с Arduino UNO для прошивки:
- ESP VCC → 3.3V (НЕ 5V!), CH_PD → 3.3V
- ESP GND → GND
- ESP TX → Arduino TX (D1), ESP RX → Arduino RX (D0) через делитель напряжения
- GPIO0 → GND (режим прошивки), RST → RST Arduino
После прошивки GPIO0 отключите от GND для нормального запуска.
4. Код скетча
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <TelegramBot.h>
#define LED_PIN 1 // GPIO1 (TX) на ESP-01 — можно использовать как выход
const char* ssid = "ВАШ_SSID";
const char* password = "ВАШ_ПАРОЛЬ";
const char BotToken[] = "ВАШ_ТОКЕН_ОТ_BOTFATHER";
WiFiClientSecure net_ssl;
TelegramBot bot(BotToken, net_ssl);
void setup() {
Serial.begin(115200);
while (!Serial) {}
delay(3000);
Serial.print("Connecting to "); Serial.println(ssid);
while (WiFi.begin(ssid, password) != WL_CONNECTED) {
Serial.print("."); delay(500);
}
Serial.println("\nWiFi connected");
bot.begin();
pinMode(LED_PIN, OUTPUT);
}
void loop() {
message m = bot.getUpdates(); // читаем новые сообщения
if (m.text.equals("on")) {
digitalWrite(LED_PIN, HIGH);
bot.sendMessage(m.chat_id, "LED включён");
} else if (m.text.equals("off")) {
digitalWrite(LED_PIN, LOW);
bot.sendMessage(m.chat_id, "LED выключен");
}
}
Вставьте свои Wi-Fi данные и токен бота, загрузите в ESP-01.
5. Проверка работы
Откройте чат с вашим ботом в Telegram, отправьте on — LED загорится, off — погаснет. Бот ответит подтверждением.
Ссылки
- Библиотека и примеры: GitHub
- Схема подключения (фото в разделе Schematics)
Производственный процесс
- Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
- Устройство для общения глухосліпых людей с помощью 1Sheeld и Arduino
- Умная копилка: управление монетоприёмником на Arduino Nano
- Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
- Интеграция ёмкостного сканера отпечатков DFRobot с Arduino или ESP8266
- Интерактивный HMI-проект на Nextion с Arduino Mega и датчиками
- Роботизированная рука 6 степеней свободы на Arduino Mega с управлением через Nunchuk
- Измерение солнечной радиации на Arduino UNO с Ethernet Shield
- Компактный радар на Arduino Nano с HC-SR04 и дисплеем 1.8"
- Генерация музыкальных тонов на Arduino: полный спектр 88 клавиш пианино