Ir al contenido

Episodio 1 — Alertas de fallo al móvil por Telegram con un ESP32 PLC

El prompt completo para que Claude Code te escriba el firmware: avisos en segundos, sin SCADA ni servidor
21 de julio de 2026 por
Technical Team

De Prompt a Planta es la serie donde compartimos, en abierto y completos, los prompts que permiten programar un PLC de Industrial Shields con Claude Code. La IA escribe el código; tú lo validas en banco de pruebas.

⚡ ¿Quieres los prompts de TU aplicación? Abrir el Generador de Prompts PLC →

El problema

Una bomba o una máquina falla y nadie se entera hasta que alguien pasa por delante — o hasta que el producto ya lleva horas parado. La solución clásica pasa por un SCADA o un servidor intermedio. Aquí no: el propio PLC habla directamente con la API de Telegram y el aviso llega al móvil de mantenimiento en segundos.

El hardware

An Industrial Shields ESP32 PLC 14, con la entrada digital I0_0 conectada al contacto libre de tensión del relé térmico de la bomba (o a la señal de 24V de un presostato). Nada más.

El prompt (cópialo entero)

Pégalo tal cual en Claude Code. Si tu modelo es otro de la familia ESP32 PLC, cámbialo en la primera línea: el mapeo de entradas/salidas cambia entre modelos.

Quiero programar un ESP32 PLC 14 de Industrial Shields para que avise por
Telegram cuando falle una bomba.

Hardware: ESP32 PLC 14 de Industrial Shields (si tu modelo es otro de la
familia ESP32 PLC — 19R, 21, 38R, 42, 57R o 58 — escribe aquí el tuyo: el
mapeo de entradas/salidas cambia entre modelos). La entrada digital I0_0
recibe la señal de fallo: un contacto libre de tensión del relé térmico de la
bomba (o, si en tu caso es una señal de 24V de un presostato, indícalo en el
código con un comentario para poder adaptarlo).

Importante: dime también qué placa debo seleccionar en Arduino IDE (paquete de
placas de Industrial Shields) para que I0_0 corresponda al pin físico correcto
de mi modelo, y si esa entrada admite otro nombre en mi placa, indícalo.

Comportamiento que necesito:
1. Conexión WiFi con reconexión no bloqueante: si se pierde la red, el ESP32
   debe seguir leyendo la entrada y controlando con normalidad, e intentar
   reconectar en segundo plano sin usar delay() ni bloquear el loop.
2. Cuando I0_0 pase de OK a fallo, enviar un mensaje a Telegram con la hora y
   la máquina afectada.
3. Cuando el fallo desaparezca (I0_0 vuelve a OK), enviar otro mensaje
   confirmando que se ha resuelto.
4. Si el fallo persiste, enviar un recordatorio cada 30 minutos, no más seguido.
5. En ningún caso enviar un mensaje por cada vuelta del loop: solo en cambios
   de estado y en los recordatorios de 30 min.
6. Usar la librería HTTPClient sobre HTTPS contra la API de Telegram Bot
   (api.telegram.org, método sendMessage), con BOT_TOKEN y CHAT_ID como
   constantes al principio del código, claramente marcadas como placeholder.

Al final del código, explícame:
- Cómo se cablea físicamente la entrada I0_0 (con qué polaridad y qué pasa si
  el contacto es NA o NC).
- Cómo consigo el BOT_TOKEN hablando con @BotFather en Telegram.
- Cómo consigo el CHAT_ID de mi chat o grupo.

Antes de nada, dime cómo validar el sistema en un banco de pruebas simulando el
fallo con un interruptor manual en I0_0, antes de conectarlo a la máquina real.

Qué obtienes

Claude Code entrega el sketch completo, listo para subir con Arduino IDE: la lógica de estados (fallo aparece / fallo resuelto / recordatorio cada 30 minutos, sin spam), la reconexión WiFi no bloqueante y las llamadas HTTPS a Telegram. Y además te explica el cableado de I0_0 (contacto NA o NC), cómo crear el bot con @BotFather y cómo obtener tu CHAT_ID.

Antes de conectarlo a la máquina real

Regla de la casa: la IA escribe el código, el técnico lo valida. Monta primero un banco de pruebas con un interruptor manual en I0_0 simulando el fallo, comprueba los tres mensajes (fallo, resuelto, recordatorio) y la reconexión WiFi, y solo entonces cablea el contacto real.

Time

Antes: entre medio día y un día de programación. Con esto: prompt, código y validación en banco en menos de una hora.

Variante

Si en tu planta ya tienes Node-RED corriendo, el nodo node-red-contrib-telegrambot hace lo mismo desde el servidor, sin tocar firmware, y además acepta comandos entrantes desde Telegram hacia la máquina.

⚡ ¿Y para tu aplicación?

Este prompt resuelve un caso concreto. Responde cinco preguntas sobre tu proyecto — tus entradas/salidas, tu protocolo, tu lógica de control — y obtén la secuencia completa de prompts, con la misma metodología de esta serie. Gratis.

Abrir el Generador de Prompts PLC →

Cada semana, un prompt real y verificado. Próximo episodio: publicar las variables de tu máquina por MQTT en JSON — la puerta de entrada a la Industria 4.0. Y si quieres el archivo completo de prompts en tu correo, apúntate a la newsletter De Prompt a Planta.

Buscar en nuestro blog

Technical Team 21 de julio de 2026
Compartir esta publicación
Etiquetas

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.

Comparativa de PLCs