In
questa pagina troveremo una serie di programmi scritti per
ESP01, che montando lo stesso processore di ESP8266, sono
perfettamente compatibili. Sono forzatamente programmi
semplici, perchè ESP01 ha solo due porte che possiamo
sfruttare, ovvero GPIO0 e GPIO2, come si può vedere il
questo programma: |
In
questa porzione di programma si vede la dichiarazione delle
porte usate per i relè, ovvero GPIO0 per RELAY1 e GPIO2 per
RELAY2. Queste porte funzionano perfettamente anche su
ESP8266, quindi non è necessario cambiare nulla nel
programma, anche se potremmo sempre scegliere altre porte
disponibili, e modificando gestire, per esempio, quattro
relè. |
Attenzione: se l'uscita
del relè viene collegata alla rete elettrica (110 - 230
volts), un intervento non corretto può provocare
incidenti gravi e anche mortali. Se non si è esperti,
fate effettuare i collegamenti da un professionista
qualificato. |
Ecco
i programmi presenti in questa pagina: |
Sul web si trovano molti programmi che controllano uno o più relè per mezzo di alcuni switch virtuali presenti su una pagina del proprio browser collegata sulla stessa rete wifi dei relè stessi. |
Un tipico relè (KY-019) alimentato a 5 volt che si usa nei progetti cun Arduino su una breadboard o sulla nostra basetta sperimentate- I tre piedini vanno connessi a +5v, al segnale e al negativo. Un piccolo led presente sulla scheda si illumina quando il relè viene attivato. Si comporta come un deviatore: un contatto è normalmente aperto, l'altro normalmente chiuso. | Un relè KY-019 |
Il problema dei comandi per l'accensione/spegnimento dei relè |
Ho
riscontrato che ci può essere un problema sui comandi
relativi all'accensione e spegnimento delle periferiche.
Abitualmente un relè KY-019 o un led si attivano/accendono
quando la porta viene portata a livello "HIGH" e
disattivano/spengono quando essa ritorna a livello "LOW", e
questo vale anche per la nostra basetta sperimentale. Però ho notato che utilizzando il modulo commerciale con un relè (immagine in alto a sinistra), tutto funziona alla rovescia, per cui quando si dà il comando di accensione, si spegne il led o il relè, e quando si invia il comando di spegnimento, esso si attiva! Questo comportamento del programma non è corretto, per cui ho inserito una routine che risolve il problema in modo semplice. All'inizio di ogni programma si troverà la variabile "changeVal": se ha valore "1", i relè si accenderanno se "relayon" è uguale a "1"(ovvero HIGH); se il valore di "changeVal" è un qualsiasi valore numerico intero diveso da "1", per esempio "0"), i relè si attiveranno quando "relayon" prende il valore "0", ovvero "LOW"
***
|
|
La variabile numerica changeVal E per la gestione di due relè: ecco la routine completa, simile alla precedente, ma aggiornata per gestire due relè. Il comportamento di changeVal è identico. Di
dafault il valore di "changeVal"
è posto a "1". |
|
Controllo di UN relè via WiFi |
In
questo programma si controllerà un relè a mezzo una pagina
web, che potrà essere aperta sul proprio browser preferito,
sia su pc, che smart phone che tablet, che devono essere
connessi sulla stessa rete WiFi del nostro ESP8266. |
Lo schema elettrico |
Questo
è lo schema elettrico per il collegamento tra ESP01 e il
relè KY-019, che d si comporta come un interruttore, o
meglio, come un deviatore, avendo un filo comune, un
"nc" (normalmente chiuso) e un terzo "na" (normalmente
aperto). Nello schema, per semplicità ne ho considerato solo
una coppia. Il relè ha tre piedini: quello di segnale di
controllo "S", il negativo "-" e il positivo "+". ESP8266 deve essere alimentato a 3,3v. Ho notato che il relè non si eccita a questa tensione, quindi deve essere alimentato a +5v.Perciò è necessario collegare l'alimentatore esterno su "PRW"e spostare la connessione di "JP2" su "+5v". |
Il rendering della basetta sperimentale in formato 1:1. Il relè KY-019 è posto sullo zoccolo "DG2", connesso alla porta GPIO2 di ESP8266. |
Il
programma |
Con
questo programma relativamente semplice, si può controllare
un relè a mezzo rete WiFi. In questo sketch, il relè è
collegato alla porta GPIO2. Per prima cosa è necessario verificare se è installata la libreria necessaria: ESP8266WiFi.h Nel caso i comandi risultino invertiti rispetto al funzionamento dei relè , leggere le informazioni riportate all'inizio della pagina. |
Successivamente si potrà aprire il programma e inserire la SSID della tua rete WiFi e la password Clicca qui per visualizzare il programma Clicca qui per scaricare il programma in formato ".zip" |
I dati che appaiono sul monitor seriale. |
Dopo aver caricato il programma, scollegare e ricollegare ESP01 al computer, per entrare in modalità "esecuzione": Aprire il monitor seriale e impostare la comunicazione a 115200 bps. Se tutto ha funzionato regolarmente, dopo pochi secondi si sarà agganciato alla vostra rete WiFi. Prendere nota dell'indirizzo indicato. |
Il test del programma |
Aprire
un qualsiasi Browser (Firefox, Google Chrome, ecc.) e
inserire l'indirizzo IP trovato sul monitor seriale (nel mio
caso 192.168.1.177) e digitarlo nella ricerca
dell'indirizzo. Premere su "Turn On" o su "Turn Off" e il relè si attiva o disattiva. Naturalmente si potrà controllare con il browser di un pc, di uno smartphone, un tablet, ecc. Nota: alcuni relè si attivano quando il segnale è "HIGH", altri quando il segnale è "LOW". Nel caso testando il programma ci si accorgesse che i comandi sono invertiti, semplicemente cercare le righe del programma interessate e modificatele. |
La
videata che apparirà sul browser. Può essere un PC,
uno
smartphone, un tablet...
|
Si
possono trovare informazioni dettagliate su questo progetto
alla seguente pagina del sito "randomnerdtutorials": https://randomnerdtutorials.com/esp8266-web-server/ Ringrazio come sempre randomnerdtutorials per la qualità e la cura dei progetti presentati. |
|
Controllo di DUE relè via WiFi |
Il
prossimo programma è del tutto analogo al precedente;
semplicemente è stato modificato per poter gestire
separatamente due relè a mezzo rete WiFi con qualsiasi
browser. |
Ecco
lo schema elettrico generale per il collegamento di due relè
su di un ESP8266. Il primo relè sarà collegato alla porta
digitale GPIO0 /DG1); il secondo relè alla porta
GPIO2.(DG2). Ho notato che i relè non si eccitano a con 3,3v, quindi deve essere alimentato a +5v.Perciò è necessario collegare l'alimentatore esterno su "PRW"e spostare la connessione di "JP2" su "+5v". |
Ed ecco il rendering della basetta in formato reale. |
Il
programma |
Questo
programma, abbastanza simile al precedente, crea un web
server. All'interno del lo sketch si programma una pagina
web, che aperta da un qualsiasi browser (Firefox, Google
Chrome, ecc.) di un PC, smartphone o tablet, permette di
gestire separatamente i due relè e di conseguenza accendere
o spegnere a piacere due diverse periferiche in modo del
tutto indipendente. La procedura per caricare il programma, individuare l'indirizzo IP del modulo, collegarlo al browser è esattamente identica a quella per il singolo relè. Nel caso i comandi risultino invertiti rispetto al funzionamento dei relè , leggere le informazioni riportate all'inizio della pagina. Clicca qui per visualizzare il programma Clicca qui per scaricare il programma in formato ".zip" |
un modulo con 2 relè |
Il
test del programma
Ecco come si presenta la schermata del browser per la
gestione dei due relè:
I quattro pulsanti permettono il controllo completo e indipendente dei due relè. "Relays status" mostra in ogni momento il loro stato. Nota: se si usa uno smartphone, i quattro pulsanti saranno presentati su di un'unica fila. |
Le
informazioni dettagliate sul programma e sul suo
funzionamento si trovano a questo link (esterno a Etichal Diy): https://randomnerdtutorials.com/esp8266-web-server/ Il progetto era stato scritto in origine per ESP8266; quindi sono state apportate alcune modifiche e sono state cambiate le porte: "0" e "2" invece che "4" e "5". |
|
Controllo di 4/5 relè via WiFi |
I due
precedenti programmi, utilizzando solo una o due porte,
erano perfettamente compatibili con ESP01. Questo seguente,
invece, può gestire anche 5 relè, quindi può essere
implementato solo su ESP8266 o, con alcune modifiche, su di
un ESP32. |
Lo
schema elettrico del collegamento con 4 relè. I relè devono essere alimentati a+ 5v IN1 --> GPIO5 IN2 --> GPIO4 IN3 --> GPIO14 IN4 --> GPIO12 |
Il
rendering della basetta sperimentale con il blocco di
quattro relè.
Per motivi di visualizzazione, l'immagine della scheda è leggermente più piccola dell'originale. La scheda dei relè è di un modello commerciale che funziona a 5v. |
Il
programma |
Questo
programma crea un web server, che permette di controllare
separatamente i quattro (o cinque) relè per mezzo di un
qualsiasi browservisualizzato da un pc, un tablet o
uno smartphone collegati alla stessa rete WiFi del ESP8266. |
Il
programma richiede un paio di librerie per poter essere
compilato: E' necessario inserire il nome della propria rete WiFi e la password: |
ESP8266WiFi.h ESPAsyncWebServer.h |
In
queste linee di programma evidenziato in blu appare
l'istruzione per gestire 4 relè e nel riquadro blu
successivo le porte usate(5, 4, 12 e 13). Invece nelle righe evidenziate rosse (che iniziano con "//" per indicare che sono commenti), appare la gestione di 5 relè e le porte da destinare. |
Successivamente
si trova la routine per la gestione
dell'accensione/spegnimento dei relè, la gestione del web
server e della pagina web che apparirà sul browser. |
L'indirizzo
IP da inserire nel browser.
|
Dopo aver caricato il programma, aprire il monitor seriale e impostare la comunicazione a 115200 bps. Se tutto ha funzionato regolarmente, dopo pochi secondi si sarà agganciato alla vostra rete WiFi. Prendere nota dell'indirizzo indicato. |
L'immagine
che appare sul browser quando si è attivato il programma: In questo caso, il relè 1 e 4 sono didattivati, mentre il relè 2 e 4 sono stati attivati. Da questa pagina del sito "Randomnerdstutorials" si possono trovare tutte le informazioni relative al progamma. Questa è la pagina del loro sito: https://randomnerdtutorials.com/esp8266-relay-module-ac-web-server/ Clicca qui per visualizzare il programma. Clicca qui per scaricare il programma in formato ".zip" |