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!
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
Ciao Antonio! a breve vi mostreremo come connnettere un rele’ per pilotare dei carichi di potenza!