Guida alla creazione di un bot Telegram con ESP32

Ultimo aggiornamento: 15/11/2026
Autore: Isaac
  • Integrazione della libreria UniversalTelegramBot per semplificare la comunicazione HTTPS con l'API di Telegram.
  • Controllo remoto dei pin GPIO per azionare attuatori come i LED e leggere lo stato degli interruttori.
  • Implementazione della sicurezza tramite convalida dell'ID chat e utilizzo di certificati SSL.

Scheda microcontrollore collegata a una breadboard con un LED acceso, ideale per illustrare il risultato del progetto ESP32.

Avete mai pensato di controllare i vostri dispositivi di domotica comodamente dal divano usando il vostro cellulare? Ebbene, configurare un sistema per controllare un ESP32 tramite Telegram è uno dei modi più semplici ed efficaci per entrare nel mondo della domotica senza complicarsi la vita con costosi server esterni o configurazioni impossibili.

Il segreto sta nel trasformare la tua scheda in un piccolo server che riceve comandi da un bot. Non serve essere un genio della programmazione, perché con un paio di librerie e un po' di pazienza puoi far sì che il tuo dispositivo accenda le luci o ti avvisi in tempo reale sullo stato di un sensore, il tutto tramite messaggi di testo istantanei.

Materiali di cui avrai bisogno

Dettaglio di una breadboard con cavi e componenti elettronici, utile per la sezione relativa ai materiali necessari.

Per iniziare, non è necessario spendere una fortuna. La cosa più importante è avere una scheda ESP32 ; non importa se si tratta di un modello vecchio o di uno dei più recenti, poiché la compatibilità è totale. Oltre al "cervello" del progetto, avrai bisogno di alcuni componenti di base per i test:

  • Un diodo a emissione di luce (LED) per verificare che tutto funzioni correttamente.
  • Una resistenza da 220 ohm per evitare di bruciare il LED.
  • Un pulsante o un interruttore per rilevare gli stati fisici.
  • Cavi di collegamento e una breadboard, così non dovrai saldare nulla all'inizio.

Assemblaggio di circuiti elettronici

Mani che assemblano componenti elettronici e fili su una basetta sperimentale per la realizzazione di un circuito.

Prima di modificare il codice, è necessario preparare l'hardware. Per questo esempio, collegheremo il LED al pin GPIO 33 e l'interruttore al pin GPIO 14. È fondamentale ricordare che è possibile modificare questi pin a seconda delle necessità, ma sarà necessario aggiornare le costanti del programma in seguito.

  Telegram non funziona correttamente. Cause, soluzioni e alternative

Il LED è collegato alla sua resistenza corrispondente per protezione, mentre il pulsante è configurato internamente per evitare cablaggi aggiuntivi. Una volta assemblato il circuito sulla breadboard , si può passare alla parte software, dove avviene tutta l'azione.

Configurazione del bot su Telegram

Primo piano di una persona che utilizza uno smartphone per inviare messaggi, simulando un'interazione con il bot di Telegram.

Per consentire all'ESP32 di sapere chi ascoltare, dobbiamo innanzitutto creare l'identità del bot all'interno dell'applicazione Telegram. Questo processo è fondamentale perché fornisce due informazioni chiave: il token del bot (una lunga stringa di numeri e lettere) e il tuo ID utente personale . Senza queste due chiavi, il dispositivo non può autenticarsi né determinare chi è autorizzato a impartirgli comandi.

Se a un certo punto la chat dovesse diventare caotica, ricorda che puoi sempre cancellare la cronologia dal menu in alto a destra. In questo modo il bot verrà riavviato e tornerà al pulsante principale con i comandi disponibili, permettendoti di ricominciare da capo.

Preparazione dell'ambiente di sviluppo

Computer portatile con codice di programmazione visualizzato sullo schermo, a rappresentare la fase di sviluppo nell'IDE di Arduino.

Affinché il codice funzioni, dobbiamo installare uno strumento che ci semplifica la vita: la libreria UniversalTelegramBot . Invece di scrivere centinaia di righe di codice per gestire l'API di Telegram, questa libreria fa quasi tutto per noi.

Per installarla, è sufficiente accedere al gestore delle librerie dell'IDE di Arduino, digitare il nome della libreria e fare clic su Installa. Assicurarsi inoltre di aver installato le librerie WiFi e WiFiClientSecure , poiché queste consentono all'ESP32 di connettersi a Internet e utilizzare il protocollo HTTPS per una comunicazione sicura.

Analisi del codice di controllo

Il programma inizia definendo le credenziali della rete WiFi e le chiavi del bot. È fondamentale sostituire i valori di esempio con i propri. SSID e passwordcosì come il token e l'ID della chat. Per l'interattività, definiamo una variabile chiamata info che contiene l'elenco dei comandi che il bot riconoscerà, come /led_on o /sw_state.

  Come automatizzare risposte e sondaggi su Telegram utilizzando i bot

Gestione dei messaggi e dei comandi

Il cuore del sistema è la funzione che controlla la presenza di nuovi messaggi. L'ESP32 utilizza il metodo getUpdates per controllare la coda dei messaggi Da Telegram. Per impedire a qualsiasi estraneo di controllare la tua casa, il codice include un filtro che verifica che l'ID del mittente corrisponda esattamente al tuo. ID CHAT predefinito.

Una volta convalidato l'utente, il bot analizza il testo ricevuto: se rileva /led_onInvia un segnale digitale al pin 33 per accendere la luce; se riceve /led_off, lo spegne. C'è anche l'opzione per /led_toggleil che è molto pratico perché inverte lo stato attuale del LED senza che tu debba sapere se era acceso o spento in precedenza.

Lettura del sensore e completamento

Oltre a impartire comandi, il bot può anche fornire informazioni. Utilizzando il comando /sw_stateL'ESP32 legge lo stato del pin 14. Poiché abbiamo configurato il pin come INPUT_PULLUPIl dispositivo rileverà se il pulsante è stato premuto o meno e ci invierà un SMS di conferma.

Durante il processo di avvio, il dispositivo si connette al Wi-Fi in modalità bloccata, il che significa che non eseguirà alcuna operazione finché la connessione non sarà stabile . Per migliorare ulteriormente la sicurezza, viene utilizzato il certificato radice di Telegram, garantendo che il traffico dati sia crittografato. Il ciclo principale si limita a ripetere il controllo dei messaggi ogni secondo per mantenere il sistema agile e reattivo.

Con questo sistema, abbiamo integrato con successo hardware e software per creare un ponte di comunicazione wireless. Abbiamo configurato un bot, gestito la sicurezza tramite ID e certificati e programmato le risposte dei pin GPIO per interagire con il mondo fisico da qualsiasi luogo con una connessione internet.

Isaac

Isaac

Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.

  Come inviare messaggi incrociati tra WhatsApp e Telegram

Domande frequenti

Quale libreria è necessaria per connettere l'ESP32 a Telegram?

È consigliabile utilizzare la libreria UniversalTelegramBot, che semplifica l'interazione con l'API di Telegram e facilita l'invio e la ricezione dei messaggi.

Come posso assicurarmi che solo io possa controllare il bot?

Il codice implementa un filtro che confronta l'ID della chat del messaggio ricevuto con un CHAT_ID predefinito, ignorando qualsiasi comando proveniente da un altro utente.

È necessario utilizzare HTTPS per comunicare con il bot?

Sì, Telegram richiede connessioni sicure, quindi viene utilizzato WiFiClientSecure e il certificato radice di Telegram deve essere configurato sull'ESP32.

Qual è lo scopo del comando /led_toggle nel codice?

Questo comando viene utilizzato per invertire lo stato attuale del LED, accendendolo se era spento o spegnendolo se era acceso.

Perché si utilizza INPUT_PULLUP per l'interruttore?

Viene utilizzato per attivare la resistenza interna della scheda, evitando così la necessità di aggiungere una resistenza fisica esterna al circuito del pulsante.

Dove posso trovare il token del bot e l'ID utente?

Il token si ottiene creando il bot tramite BotFather su Telegram, mentre l'ID utente può essere ottenuto tramite bot specializzati nell'acquisizione dell'identità del profilo.