Bot per Telegram con ESPertino

La scheda ESPertino ha tra i suoi punti di forza la connettività, resa possibile dalla presenza sia di un’interfaccia WiFi che di una Bluetooth a bassa energia (BLE). Scopriamo in questo articolo come sfruttare questa funzionalità per creare e configurare un Bot Telegram, utilizzabile per controllare da remoto la board e ricevere notifiche sullo stato dei suoi I/O e dei sensori ad essa collegati

Introduzione

Telegram è sicuramente una delle applicazioni maggiormente utilizzate per la chat e la messaggistica istantanea, nata da un progetto open source e oggi disponibile su numerose piattaforme hardware. Telegram rende inoltre disponibili agli utenti e agli sviluppatori un set di API con cui, seguendo pochi passaggi, è possibile realizzare un Bot, cioè un programma in grado di eseguire automaticamente molte delle operazioni normalmente compiute da un utente reale. Attraverso questo articolo avremo la possibilità di scoprire e sfruttare le potenzialità messe a disposizione sia da Telegram che da ESPertino, creando un’applicazione per il controllo remoto basata sull’utilizzo della connessione WiFi e di un comune smartphone. Sappiamo che lo smartphone rappresenta una sorta di porta aperta verso il mondo, non solo per le proprietà di connettività globale (funzioni di telefonia mobile, internet, social network, chat, messaggistica istantanea) che mette a disposizione, ma anche per le funzionalità offerte dalle interfacce wireless, quali Bluetooth e WiFi. Utilizzando queste caratteristiche, abbinate a una delle numerose app disponibili su internet, lo smartphone può essere efficacemente utilizzato per controllare remotamente dei dispositivi elettronici.

La board ESPertino

Per quanto riguarda la piattaforma hardware, utilizzeremo la scheda ESPertino (Figura 1), basata su un modulo ESP32 Wroom (certificato FCC, CE, e TELEC), equipaggiata con 4 Mb di memoria flash, e particolarmente indicata per le applicazioni IoT. Da non sottovalutare, inoltre, la possibilità di programmare la scheda direttamente dall’IDE Arduino.

Figura 1: la board di sviluppo ESPertino

Figura 1: la board di sviluppo ESPertino

Le principali caratteristiche tecniche di questa board possono essere così sintetizzate:

  • supporto per l’IDE e per le librerie di Arduino;
  • bootloader in grado di supportare l’IDE di Arduino;
  • tensione di alimentazione compresa tra 5 e 12 Vcc;
  • regolatore di tensione a 3,3 V (800 mA) integrato sulla board;
  • pulsante di reset;
  • LED a disposizione dell’applicativo utente;
  • due relè integrati sulla board;
  • segnali relativi al modulo e segnali di alimentazione riportati su due connettori header femmina con passo 2,54 mm. Tali segnali sono immediatamente disponibili all’utente, oppure utilizzabili per realizzare shield o daughter board;
  • bridge USB-UART integrato sulla board;
  • connettore microUSB per l’alimentazione e la programmazione del dispositivo;
  • 1 morsettiera 6x per il collegamento dei carichi ai relè;
  • 1 morsettiera 2x per collegare l’alimentazione esterna (alternativa all’alimentazione preveniente dalla porta microUSB).

Il progetto

Dopo aver passato in rassegna le principali caratteristiche legate all’hardware, vediamo ora come sia possibile realizzare l'applicazione Telegram Bot con questa versatile scheda, nata per supportare egregiamente le applicazioni IoT. Il progetto che abbiamo scelto permette di integrare la board con Telegram, la nota applicazione di messaggistica istantanea basata su un elevato grado di sicurezza (è stata la prima nel suo genere ad aver implementato la codifica dei messaggi), elevata velocità, e, non da ultimo, liberamente utilizzabile. Il suo funzionamento è basato su un protocollo di comunicazione open source, espressamente sviluppato per ridurre al minimo il numero di byte per messaggio trasmesso. Per la comunicazione tra Telegram e la board ESPertino verrà utilizzata l’interfaccia WiFi, evitando così la necessità di ricorrere alla rete mobile e all’impiego di una SIM dedicata. Se si fosse invece utilizzato Whatsapp, avremmo dovuto registrare un numero di telefono, legandolo così a una scheda SIM.

I Bot Telegram

Oltre all’account di tipo classico associato a un numero di telefono, Telegram offre la possibilità di creare un Bot. Per Bot si intende un sistema automatico che permette all’utente di reperire informazioni, fornire risposte, oppure condividere diversi tipi di contenuti, per mezzo di comandi indicati al Bot stesso in fase di configurazione del Bot. Più precisamente, un Bot è una sorta di utente virtuale, un client automatizzato che si collega al servizio al nostro posto; proprio per questo motivo viene considerato alla stregua di un robot, e non è un caso che Bot sia proprio un’abbreviazione del termine robot. Ogni utente può dunque interagire con i Bot come se fossero degli utenti in carne e ossa, inviando loro messaggi, comandi, e richieste, tutto attraverso il protocollo HTTPS. I Bot sono ad esempio utilizzati per ottenere dei particolari tipi di notifica, oppure per conoscere le ultime notizie e novità compatibili con i propri interessi. In sostanza, è sufficiente istruire il Bot a quali argomenti o informazioni siamo interessati, e lui provvederà a eseguire le ricerche e a inviare le notifiche solo se compatibili con questi argomenti. Un Bot è anche in grado di arricchire la chat con contenuti provenienti da servizi esterni, integrandosi con essi; avremo quindi Bot per le immagini, Bot GIF, Bot Imdb, Bot Wiki, Bot musicali, Bot YouTube, Bot GitHub, e così via. I Bot facilitano la creazione di strumenti personalizzati: un Bot, ad esempio, può generare degli avvisi, delle previsioni meteorologiche, eseguire traduzioni in modo automatico, o altri servizi ancora. Attraverso i Bot è anche possibile creare dei giochi: un Bot può essere in grado di giocare a scacchi oppure a dama, o persino prendere parte a un gioco di ruolo (si parla, in questo caso, di Trivia Bot). Un Bot è anche in grado di connettere persone in cerca di qualcun altro con cui parlare, basandosi sui criteri della comunanza di interessi, oppure sulla vicinanza geografica (HotOrBot). Riassumendo, possiamo individuare le seguenti categorie di Bot:

  • @ImageBot, rivolti alla ricerca di immagini;
  • @TriviaBot, specializzati nei giochi di quiz;
  • @PollBot, utilizzati per la creazione di interviste all’interno di determinati gruppi di utenti;
  • @Rate StickerBot, rivolti alla ricerca di sticker;
  • @AlertBot, utilizzabile per schedulare l’invio di messaggi alla chat o a sè stessi.

Gli utenti possono interagire con un Bot in due modi distinti:

  • inviando al Bot comandi e messaggi aprendo una chat con il Bot (come se fosse un normale utente), oppure aggiungendolo a qualche gruppo; esempi di Bot di questo tipo sono TechCrunch e Forbes;
  • inserendo le richieste direttamente nell’apposito campo di ingresso dell'applicazione Telegram, e digitando la @username del Bot e la richiesta.

[...]

Iscriviti e ricevi GRATIS
Speciale Pi

Fai subito il DOWNLOAD (valore 15€) GRATIS

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2830 parole ed è riservato agli abbonati MAKER. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici MAKER e potrai fare il download (PDF) dell'EOS-Book del mese. ABBONATI ORA, è semplice e sicuro.

Abbonati alle riviste di elettronica

2 Commenti

  1. Giovanni Di Maria Giovanni Di Maria 1 giugno 2017
  2. Maurizio Di Paolo Emilio Maurizio Di Paolo Emilio 1 giugno 2017

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Iscriviti e ricevi GRATIS
Speciale Pi

Fai subito il DOWNLOAD (valore 15€) GRATIS