Crea un Bot de Telegram en Arduino MKR WiFi 1010: Guía Inicio IoT
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino MKR WiFi 1010 | 1 |
Sobre el proyecto
Este proyecto demuestra cómo interconectar Arduino con la API de Telegram Bot. Usa la nueva placa MKR WiFi 1010 equipada con módulo ESP32 de U-BLOX.
Es una prueba de concepto para mostrar posibilidades: solo necesitas la placa Arduino.
¿Qué es un Bot de Telegram?
Cuentas operadas por software (no personas), a menudo con IA. Pueden enseñar, jugar, buscar, emitir, recordar, conectar, integrar servicios o pasar comandos a IoT (créditos: Telegram).
En nuestro caso, enviaremos comandos a Arduino construyendo un dispositivo IoT simple: responde a comandos básicos y enciende/apaga el LED integrado. ¡Tu imaginación pone el límite! (Imagina conectar relés a pines I/O y encender calefacción/AC desde el móvil).
Paso 1: Qué necesitas
- Arduino MKR WiFi 1010 (tienda oficial)
- Arduino IDE 1.8.5+ (descarga)
- Cable micro-USB
- Conexión a Internet (SSID y contraseña; mejor router propio sin bloqueos)
- App Telegram en smartphone (también versiones PC/Web)
Paso 2: Instalar IDE y placas
- Descarga Arduino IDE 1.8.5 (zip o exe).
- Inicia IDE → Herramientas > Placa > Gestor de placas.
- Busca "Arduino SAMD Boards" (incluye MKR WiFi 1010), instala última versión (incluye drivers).
- Sketch > Incluir librería > Gestionar librerías → busca WiFiNINA e instala.
- Conecta placa, espera drivers. En Herramientas > Placa elige MKR WiFi 1010.
- Librería especial: ESP8266TelegramBot de Giancarlo Bacchio (ligeramente modificada para MKR1010, incluida en carpeta del sketch).
- Elige puerto COM correcto y prueba con Obtener info de placa.
Paso 3: Crear el Bot en Telegram
- Abre Telegram, busca @BotFather, inicia chat.
- Comando
/start→ muestra ayuda. /newbot→ escribe nombre (visible en contactos).- Escribe username (5-32 chars, latín, números, guión bajo, debe terminar en 'bot', ej.
mi_botoMiBot). - Recibirás un TOKEN (larga cadena). ¡Guárdalo! Es tu clave para comunicar con servidores Telegram. Si pierdes,
/tokengenera otro. - Opcional:
/setuserpic(avatar),/setabouttext(texto "Acerca de"),/setdescription(descripción "¿Qué puede hacer este bot?").
Documentación oficial: core.telegram.org/bots
Paso 4: Modificar, subir y probar el sketch
- Descarga sketch adjunto (
MKR1010Bot_V1_02.zip), descomprime sin renombrar. - Abre en IDE, ve a pestaña arduino_secrets.h:
- Introduce SSID y contraseña WiFi.
- Introduce nombre, username y token del bot (de BotFather).
- Verifica placa (MKR WiFi 1010) y puerto, compila y sube.
- ¡IMPORTANTE! El sketch envía logs al Monitor Serie. El MKR1010 tiene USB nativo (como Leonardo): al encender, espera a que abras el Monitor Serie. Abre monitor → Arduino conecta a Internet → empieza polling a servidores Telegram.
- En Telegram, busca el nombre de tu bot (no el username), abre chat.
- Envía
/start→ respuesta de bienvenida. - Escribe
help(sin barra) → lista comandos soportados. Pruébalos todos.
Solución de problemas: Certificados SSL
Si error "Bot not connected":
- Herramientas > WiFi101/WiFiNINA Firmware Updater.
- Verifica que tu placa aparece en puertos del updater.
- Sube sketch del updater a la placa.
- Elige firmware más reciente y Update Firmware.
- En sección SSL Certificates, Add domain: escribe
telegram.org:443→ OK. - Upload certificates to wifi module.
- Vuelve a subir el sketch del bot.
Paso 5: Mejoras
- Nuevos comandos: fácil añadir subrutinas por comando que devuelvan estado al usuario.
- Limitar usuarios: cualquier usuario de Telegram podría conectar. Cada usuario tiene User ID único (visible en logs). Filtrar en código: solo ejecutar comandos de IDs autorizados.
- Hardware: muchos sensores/relés en pines I/O. ¡OJO! MKR1010 es 3.3V tolerante. Usa conversor de nivel donde haga falta. Más info: Guía oficial MKR WiFi 1010.
Código
El sketch completo está en el archivo adjunto MKR1010Bot_V1_02.zip (C/C++). No hay vista previa; descarga para ver el código.
Proceso de manufactura
- Extensión de GoPiGo v2 en Windows 10 IoT Core para Raspberry Pi 3
- Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
- Detector de frecuencia de audio con Arduino – Mide los picos de sonido más intensos
- Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
- Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón
- Construye un voltímetro DIY con Arduino y pantalla Nokia 5110 – Guía paso a paso
- Construye un Temporizador Regresivo Fiable con Arduino y Pantalla de 7 Segmentos SparkFun
- Electrodomésticos activados por voz: Control Bluetooth con Google Assistant
- Construye la App Fridgeye con una Pantalla Nextion: Guía Paso a Paso
- Construye tu Propio Coche RC Porsche con Arduino: Guía Paso a Paso
- Medición Precisa de Radiación Solar con Arduino UNO y Shield Ethernet