Bot de Telegram con ESP8266: Control IoT fácil desde el móvil
Componentes y materiales
| Componente | Cantidad | Notas |
|---|---|---|
| Módulo ESP8266 ESP-01 | 1 | También sirve NodeMCU o ESP8266 genérico. |
| Arduino UNO | 1 | Usado como programador USB-Serie para el ESP-01. |
| Cables jumper | 7 | |
| Dispositivo Android | 1 | Para la app de Telegram. |
Aplicaciones y servicios
- Telegram Bot API (crear bot con @BotFather).
- Arduino IDE con librería
TelegramBot.
Sobre el proyecto
Este tutorial muestra cómo controlar un ESP8266 mediante un bot de Telegram, permitiendo encender/apagar un LED (o cualquier actuador) enviando comandos on / off desde el chat. Ideal para iniciarse en IoT sin necesidad de servidores complejos.
Pasos principales
- Instalar librería TelegramBot en Arduino IDE (desde GitHub o gestor de librerías).
- Crear bot en Telegram: habla con @BotFather, usa
/newboty guarda el token. - Cablear ESP-01 con Arduino UNO: GPIO0 a GND, RST a RST, TX/RX cruzados, alimentación 3.3V (¡no 5V!).
- Configurar código: inserta SSID, contraseña WiFi y token del bot.
- Subir sketch y probar enviando
on/offal bot.
Código (sketch para ESP8266)
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <TelegramBot.h>
#define LED 1 // GPIO1 (TX) en ESP-01, cambiar según módulo
const char* ssid = "TU_SSID";
const char* password = "TU_PASS";
const char BotToken[] = "TU_TOKEN_BOT";
WiFiClientSecure net_ssl;
TelegramBot bot(BotToken, net_ssl);
void setup() {
Serial.begin(115200);
delay(3000);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) { delay(500); }
bot.begin();
pinMode(LED, OUTPUT);
}
void loop() {
message m = bot.getUpdates();
if (m.text.equals("on")) {
digitalWrite(LED, HIGH);
bot.sendMessage(m.chat_id, "LED ENCENDIDO");
} else if (m.text.equals("off")) {
digitalWrite(LED, LOW);
bot.sendMessage(m.chat_id, "LED APAGADO");
}
}
Esquemático
Conexiones: ESP-01 VCC → 3.3V (Arduino), GND → GND, TX → RX (Arduino pin 0), RX → TX (Arduino pin 1) mediante divisor de tensión, CH_PD → 3.3V, GPIO0 → GND (modo flash). El Arduino actúa solo como puente USB-Serie; su ATmega328 debe estar en reset (RST a GND) para no interferir.
Proceso de manufactura
- Sensor K30 CO₂: Monitorización en tiempo real de la calidad del aire interior
- Facilitar la comunicación sordo‑ciego usando 1Sheeld y Arduino
- Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
- Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
- Integración del sensor de huella capacitivo DFRobot (ID809) con Arduino o ESP8266
- Proyecto HMI Interactivo con Nextion, Arduino Mega y Múltiples Sensores
- Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
- Medición Precisa de Radiación Solar con Arduino UNO y Shield Ethernet
- Sistema Radar Compacto con Arduino Nano, Sensor HC-SR04 y Pantalla 1.8"
- Genera Tonos Musicales con Arduino: Guía Paso a Paso
- Detección de Tos con TinyML en Arduino Nano para Detección Temprana de Gripe