Come comandare con #Telegram, per mezzo di una scheda wifi ESP8266, un relay #iot

Come comandare con Telegram per mezzo di una scheda wifi ESP8266, un relay (cioè una lampada, una caldaia, un ventilatore, etc etc)


1) Andare su @Botfather e creare tramite /newbot un nuovo bot dando un nome comune e poi lo username che termina con bot (piersoftbot per capirci). Vi verrà assegnato un TOKEN. Appuntatevelo
2) Se avete una scheda ESP8266 oppure una NodeMCU oppure una WemosD1 (scegliete voi) e un relay, allora continuate. Nelle foto sotto vi faccio vedere un kit da 4 euro comprato in rete con relay e esp8266-1 (il modello più piccolino) già miniaturizzato
3) Aprite Arduino IDE a scrivete il codice di sotto. almeno questo fatelo voi, non vi do la pappa pronta cosi per scriverlo ci ragionate
4) scaricatevi la libreria CTBot.h (https://github.com/shurillu/CTBot) e inseritela nel vostro Arduino IDE (vedi immagine)
5) Nel codice che vedete sotto ho inserito il mio userid (lo trovate tramite il bot @userinfobot) cosi il mio bot risponde solo a me e a nessun altro. E’ opzionale ma fortemente consigliato
6) Per programmare la ESP8266 ho usato un adattatore (nella foto è rosso) che facilmente trovate in commercio con l’interruttore per programmare oppure per usarla normalmente. potete usare qualsiasi convertitore usb-uart ttl
7) Dopo aver programmato la scheda la collegate al relay. Nell’esempio del kit chiavi in mano è collegata al pin 0 (GPIO0).
8) ora avete 3 comandi: on, off, status
9) come variante ci attaccate un sensore di temperatura e fate leggere nel loop tale valore. quando nel bot digitate “temp” ad esempio lui risponde inviando il valore della temperatura. Forza dai che ci riuscite, credo in voi.
10) Il relay ha di solito 3 contatti lato circuito a 220V. Il centrale è dove mettete il cavo con la tensione. un laterale è normalmente aperto (NOpen) e l’altro è Normalmente chiuso (NClosed). Se volete che ad on coorisponda acceso, oltre al cavo centrale, in uscita dovete attaccare il cavo allo spinotto NC.

Relay in kit con ESP. I cavi sono per alimentazione a 5V
Adattatore in rosso per programmare + ESP8266 + Kit con Relay
Schema NC o NO per il collegamento elettrico
Come importare in Arduino IDE la libraria CTBot

Pubblicato da Francesco Piersoft Paolicelli su Domenica 26 aprile 2020

include “CTBot.h”
define RELAY 0 // relay connected to GPIO0
CTBot myBot;
String ssid = “Vodafone-XXXXX” ; // REPLACE mySSID WITH YOUR WIFI SSID
String pass = “myPassword”; // REPLACE myPassword YOUR WIFI PASSWORD
String token = “myTOKEN” ; // TOKEN DEL BOT
int user = 696X0000; //REPLACE with your UserID
String stat;
void setup() {
pinMode(RELAY, OUTPUT);
digitalWrite(RELAY, LOW);
// initialize the Serial
Serial.begin(115200);
Serial.println(“Starting TelegramBot…”);
// connect the ESP8266 to the desired access point
myBot.wifiConnect(ssid, pass);
myBot.setTelegramToken(token);
if (myBot.testConnection())
Serial.println(“\ntestConnection OK”);
else
Serial.println(“\ntestConnection NOK”);
}
void loop() {
TBMessage msg;
if ( (myBot.getNewMessage(msg)) && (msg.sender.id == user )) {
if (msg.text == “off”) {
digitalWrite(RELAY, LOW);
stat = “Spento”;
myBot.sendMessage(msg.sender.id, “spento”);
}
if (msg.text == “on”) {
digitalWrite(RELAY, HIGH);
stat = “Acceso”;
myBot.sendMessage(msg.sender.id, “acceso”);
}
if (msg.text == “status”) {
myBot.sendMessage(msg.sender.id, stat);
}
}
delay(500);
}

Potrebbero interessarti anche...

6 risposte

Lascia un commento

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