[TUTORIAL] 3 – Interfacciare NodeMCU (esp8266) con un BOT Telegram – Connettere BOT a esp8266

COME CONFIGURARE IL CODICE PER INTERFACCIARE NodeMCU CON IL BOT TELEGRAM

Eccoci giunti alla parte divertente! 🙂 Adesso caricheremo il codice necessario all’ESP8266 per ricevere messaggi che invieremo al BOT creato in precedenza. Prima però vi descriverò alcune cose fondamentali perchĂ© possiate configurare il codice secondo le vostre esigenze.

Se non avete mai programmato esp8266 utilzzando l’Arduino IDE potete seguire la guida in questo post, qui troverete il modo di configurare l’Arduino IDE per poter programmare ESP8266.

Iscriviti al nostro canale YouTube per saperne di più! 🙂
Parto con la premessa che io per interagire con il mio BOT, ho modificato il codice originale che ho scaricato dalla seguente repository:

Universal Arduino Telegram Bot

All’interno di questa repository è presente un esempio (EchoBot) che svolge la funzione di rispondere al messaggio che il BOT riceve esattamente con lo stesso messaggio. A questo esempio ho aggiunto la possibilitĂ  di recuperare l’ora direttamente da internet, in modo da avere un riferimento temporale per le azioni che ordineremo al nostro dispositivo, e la possibilitĂ  di confrontare il testo ricevuto con delle stringhe prestabilite per poter svolgere della azioni nel caso ci sia un “match” delle stringhe.

Qui potrete scaricare il codice da me modificato:

Universal Arduino Telegram Bot_modificato

Innanzi tutto dovrete connettere esp8266 alla vostra rete Wi-Fi, dovrete quindi inserire le vostre credenziali (ssid e password di rete) all’interno del codice:

// Initialize Wifi connection to the router
char ssid[] = "ssid";              // your network SSID (name)
char password[] = "password";      // your network key

A questo punto non resta che mettere in relazione il nostro codice con il BOT che abbiamo precedentemente creato. Per fare questo è sufficiente inserire come #define il token

#define BOTtoken "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  // your Bot Token (Get off Botfather)

Dal momento che ho inserito il recupero dell’orario via internet, sarĂ  necessario che voi aggiungiate le seguenti librerie perchĂ© il codice possa essere compilato:

NtpClientLib

TimeLib

Ho configurato il codice in modo da far lampeggiare il LED nella fase in cui sta cercando di connettersi, per poi rimanere fisso acceso a connessione avvenuta. E’ quindi indispensabile che il LED sia fisso acceso perchĂ© tutto possa funzionare correttamente.

A questo punto il BOT è configurato per rispondere a tutti i messaggi con un ECHO e accendere il LED a bordo della scheda se gli viene inviato “Led on” e spegnerlo in caso gli venga inviato “Led off”. E’ possibile modificare o aggiungere altre azioni in relazione ad altri testi inviati modificando o aggiungendo le seguenti condizioni di “if”:

        if(text == "LED OFF"  || text == "led off" || text == "Led off")
        {
          digitalWrite(LED_BUILTIN, HIGH);
          delay(500);
          
          
        }
        if(text == "LED ON" || text == "led on" || text == "Led on")
        {
         
          digitalWrite(LED_BUILTIN, LOW);
          delay(500);
          
        }

A questo punto potrete interagire con il vostro esp8266 utilizzando Telegram, parlando con lui come se fosse un BOT. In questo esempio ho semplicemente acceso e spento un LED, ma allo stesso pin (o indifferentemente ad un altro) collegando un relè, avrete modo di connettere un carico domestico anche molto potente e di poterlo controllare. Avrete anche modo di programmare azioni orarie dato che disponete dell’orario.

Successivamente spiegherò anche come interfacciare esp8266 con i vari dispositivi domestici.

Potrebbe anche interessarti: [TUTORIAL] Arduino Partendo da Zero

Se questo argomento ti è sembrato interessante CONDIVIDILO!!! 🙂 Grazie!

 

 

 

2 Risposte a “[TUTORIAL] 3 – Interfacciare NodeMCU (esp8266) con un BOT Telegram – Connettere BOT a esp8266”

  1. Ciao, innanzitutto volevo farti i complimenti per l’idea e la guida! e volevo chiederti però anche se potresti mostrarci come fare i collegamenti e come completare questo progetto fantastico. grazie

    1. Ciao Antonio! a breve vi mostreremo come connnettere un rele’ per pilotare dei carichi di potenza!

I commenti sono chiusi.