Guia per crear un bot de Telegram amb ESP32

Darrera actualització: 15/11/2026
Autor: Isaac
  • Integració de la llibreria UniversalTelegramBot per simplificar la comunicació HTTPS amb l'API de Telegram.
  • Control remot de pins GPIO per accionar actuadors com LEDs i llegir estats dinterruptors.
  • Implementació de seguretat mitjançant la validació del Xat ID i l'ús de certificats SSL.

Placa de microcontrolador connectada a una protoboard amb un LED encès, ideal per il·lustrar el resultat del projecte ESP32.

T'has plantejat mai manejar els trastos de casa teva des del sofà usant el mòbil? Doncs bé, muntar un sistema per controlar un ESP32 a través de Telegram és una de les formes més senzilles i potents de ficar-se al món de la domòtica sense complicar-se la vida amb servidors externs costosos o configuracions impossibles.

La màgia és convertir la teva placa en un petit servidor que escolta les ordres d'un bot. No cal que siguis una destral de la programació, ja que amb un parell de llibreries i una mica de paciència pots aconseguir que el teu dispositiu encengui llums o t'avisi sobre l'estat d'un sensor a temps real, tot mitjançant missatges de text instantanis.

Materials que necessitaràs

Detall d´una protoboard amb cables i components electrònics, útil per a la secció de materials necessaris.

Per posar-te fil a l'agulla, no cal que gastis una fortuna. El més important és disposar d'una placa ESP32 ; és igual si és un model antic o un dels més moderns, ja que la compatibilitat és total. A banda del cervell del projecte, necessitaràs alguns components bàsics per fer les proves:

  • Un díode emissor de llum (LED) per comprovar que tot funciona.
  • Una resistència de 220 ohms per no fondre el LED.
  • Un polsador o interruptor per llegir estats físics.
  • Cables de connexió i una protoboard per no haver de soldar res al principi.

Muntatge del circuit electrònic

Mans acoblant components electrònics i cables en una protoboard per al muntatge del circuit.

Abans de tocar el codi, cal deixar el maquinari llest. Per aquest exemple, connectarem el LED al pin GPIO 33 i l'interruptor al GPIO 14 . És fonamental que recordis que pots canviar aquests pins segons et convingui, però hauràs de reflectir aquest canvi més tard a les constants del programa.

  Telegram No Funciona correctament. Causes, Solucions i Alternatives

El LED es connecta amb la resistència corresponent per protegir-lo, mentre que el polsador es configurarà internament per evitar cables extra. Quan tinguis el muntatge a la protoboard , ja pots passar a la part del programari, que és on passa tota l'acció.

Configuració del Bot a Telegram

Primer pla duna persona utilitzant un telèfon intel·ligent per enviar missatges, simulant la interacció amb el bot de Telegram.

Perquè l'ESP32 sàpiga a qui fer cas, primer hem de crear la identitat del bot a la pròpia aplicació de Telegram. Aquest procés és fonamental perquè ens proporcionarà dues dades clau: el token del bot (una cadena llarga de números i lletres) i el vostre ID d'usuari personal. Sense aquestes dues claus, el dispositiu no es podrà autenticar ni saber qui té permís per donar-li ordres.

Si en algun moment sents que el xat ha tornat un caos, recorda que sempre pots esborrar l'historial des del menú superior dret. En fer-ho, el bot es reinicia i tornarà a mostrar el botó d'inici amb les ordres disponibles per començar de zero.

Preparació de lentorn de desenvolupament

Ordinador portàtil amb codi de programació en pantalla, representant la fase de desenvolupament a l'Arduino IDE.

Perquè el codi funcioni, necessitem instal·lar una eina que ens faciliti la vida: la llibreria UniversalTelegramBot . En lloc d'escriure centenars de línies de codi per gestionar l'API de Telegram, aquesta llibreria ho fa gairebé tot per nosaltres.

Per instal·lar-la, simplement aneu al gestor de llibreries de l'Arduino IDE, escriu el nom de la llibreria i prem instal·lar. Assegureu-vos també de tenir instal·lades les llibreries de WiFi i WiFiClientSecure , que són les que permeten que l'ESP32 es connecti a internet i utilitzi el protocol HTTPS perquè la comunicació sigui totalment segura.

Anàlisi del codi de control

El programa comença definint les credencials de la xarxa WiFi i les claus del bot. És vital que substitueixis els valors d'exemple pel teu propi SSID i contrasenya, així com el token i l'ID de xat. Per a la interactivitat, definim una variable anomenada info que conté la llista d'ordres que el bot reconeixerà, com ara /led_on o /sw_state.

  Com automatitzar respostes i enquestes a Telegram mitjançant bots

Gestió de missatges i ordres

El cor del sistema és la funció que revisa si hi ha missatges nous. L'ESP32 utilitza el mètode getUpdates per consultar la cua de missatges de Telegram. Per evitar que qualsevol desconegut controli casa teva, el codi inclou un filtre que verifica que l'ID del remitent coincideixi exactament amb el teu CHAT_ID predefinit.

Un cop validat l'usuari, el bot analitza el text rebut: si detecta /led_on, envia un senyal digital al pin 33 per encendre la llum; si rep /led_off, l'apaga. També hi ha l'opció de /led_toggle, que és molt pràctica perquè inverteix l'estat actual del LED sense que hagis de saber si estava encès o apagat prèviament.

Lectura de sensors i finalització

A més d'enviar ordres, el bot ens pot informar. Usant l'ordre /sw_state, l'ESP32 llegeix l'estat del pin 14. Com hem configurat el pin com INPUT_PULLUP, el dispositiu detectarà si el botó està pressionat o no i ens enviarà una resposta textual confirmant-ho.

En el procés d'arrencada, el dispositiu es connecta al WiFi de forma bloquejant, cosa que significa que no farà res fins que la connexió sigui estable . Per tancar el cercle de seguretat, s'utilitza el certificat arrel de Telegram i garanteix que el trànsit de dades estigui xifrat. El bucle principal simplement repeteix la comprovació de missatges cada segon per mantenir el sistema àgil i reactiu.

Amb aquest sistema hem aconseguit integrar maquinari i programari per crear un pont de comunicació sense fil. Hem configurat un bot, gestionat la seguretat mitjançant IDs i certificats, i hem programat la resposta de pins GPIO per interactuar amb el món físic des de qualsevol lloc amb connexió a internet.

Isaac

Isaac

Redactor apassionat del món dels bytes i la tecnologia en general. M'encanta compartir els meus coneixements a través de l'escriptura, i això és el que faré en aquest bloc, mostrar tot el més interessant sobre gadgets, programari, maquinari, tendències tecnològiques, i més. El meu objectiu és ajudar-te a navegar pel món digital de forma senzilla i entretinguda.

  Com fer missatges creuats entre WhatsApp i Telegram

Preguntes freqüents

Quina llibreria és necessària per connectar l'ESP32 amb Telegram?

S'ha d'utilitzar la llibreria UniversalTelegramBot, la qual simplifica la interacció amb l'API de Telegram i facilita l'enviament i la recepció de missatges.

Com s'assegura que només jo pugui controlar el bot?

El codi implementa un filtre que compara l'ID del xat del missatge rebut amb un CHAT_ID predefinit, ignorant qualsevol ordre que vingui d'un altre usuari.

És necessari utilitzar HTTPS per comunicar-se amb el bot?

Sí, Telegram requereix connexions segures, per la qual cosa s'utilitza WiFiClientSecure i cal configurar el certificat arrel de Telegram a l'ESP32.

Per què serveix l'ordre /led_toggle al codi?

Aquesta ordre serveix per invertir l'estat actual del LED, encenent-lo si estava apagat o apagant-lo si estava encès.

Per què utilitzeu INPUT_PULLUP per a l'interruptor?

Es fa servir per activar la resistència interna de la placa, evitant així la necessitat d'afegir una resistència física externa al circuit del polsador.

On puc aconseguir el token del bot i l'ID d'usuari?

El token s'obté en crear el bot mitjançant BotFather a Telegram, i l'ID d'usuari es pot aconseguir mitjançant bots especialitzats en obtenir la identitat del perfil.