Ecco uno dei miei piccoli telecomandi Wi-Fi realizzati, utilizzando 3 economici componenti:
1 Moduli di alimentazione 200V-3,3V
2 Modulo Wi-fi ESP01
3 Modulo Relè 1 canale
con una spesa totale di poco più di 10 Euro il tutto in una piccola scatoletta di 10 x 5 x 2,5cm.
Questo è il piccolo modulino di alimentazione, collegate direttamente la 220V e avrete in uscita un 3,3V DC con una potenza di 3W sufficiente per alimentare sia il modulino Wi-Fi che il modulo relè.
Questo telecomando è ad un solo canale quindi ho acquistato un modulo relè singolo ma potete utilizzarne anche uno a 2 canali dato che il codice caricato sull’ESP ne può comandare 2 contemporaneamente. Il modulo funziona con alimentazione a 5V ma provato e testato funziona perfettamente anche a 3,3V quindi perfettamente adattabile all’alimentazione fornita dal modulino.
Per l’utilizzo di questo modulo è necessario pilotarlo con un transistor in uscita sul GPIO del modulo Wi-Fi in quanto come la maggior parte di questi modulini il relè si attiva portando in ingresso uno stato 0 anzichè lo stato 1, potete vedere lo schema elettrico a questo link descritto in un mio precedente articolo.
Veniamo ora al modulo Wi-Fi ho utilizzato un ESP01 con caricato un firmware che contiene un piccolo Webserver con IP fisso, alimentando il modulo si connette alla rete di casa e da un browser potete visualizzare i comandi di accensione oppure nel nostro caso il tutto è gestito sul software che gira sul Raspberry
Prima di caricare il firmware sul modulo WiFi occorre editarlo e configurare il nome della rete WiFI (SSID) l’indirizzo IP e la password della rete.
Una volta alimentato il telecomando potrebbe accedervi da un normalissimo browser digitanto Http://indirizzo IP/ vi verrà visualizzata questa schermata:
I 2 comandi attivano o disattivano i GPIO 0 e GPIO 1 del modulo ESP01 comandando il o i relè.
Da codice PHP invece, programmato sul software che gira sul Raspberry, viene inviato il comando http://indirizzo IP/socket1On o socket1Off per accendere o spegnere oppure nel caso si utilizzi il secondo canale useremo socket2On o socket2Off.
Per fare ciò ho utilizzato il seguente codice :
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ‘indirizzo IP/socket1Off’);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);