4 Canali a contatto pulito a meno di 5 euro con ESPHome!

Domotica

Scritto da Vincenzo Caputo

Nelle scorse settimane abbiamo avuto modo di testare un paio di prodottini che hanno destato molto interesse da parte vostra.

Sto parlando di due board con 4 attuatori a contatto pulito, una in versione WiFi (compatibile con eWeLink) e l'altra ZigBee.

Qui di seguito i link dei video per chi se li fosse persi.

e qui di seguito segnali anche i link Amazon a quei prodotti, nel caso li abbiate trovati interessanti.

Newgoal Tuya Zigbee 4 canale Smart Relay USB5V AC/DC 7-32V Jog Switch con interruttore di telecomando RF 433MHz, Alexa Google Home compatibile (richiede ZigBee Hub)
Prezzo intero: 26,99€
Prezzo scontato: 26,99€

QIACHIP Relé Modulo di commutazione a 4 canali,Smart Ewelink APP WiFi Contatto Pulito Wireless Inching Relay Monentary/Self-locking Switch Compatible With Alexa Echo Google home IFTTT
Prezzo intero: 19,99€
Prezzo scontato: 18,99€

Questi prodotti sono particolarmente interessanti, per gli appassionati di domotica, perché permettono di gestire diversi aspetti della propria abitazione.

Io ad esempio ho utilizzato un dispositivo simile in passato per domotizzare l'irrigazione del mio giardino.

Sonoff 4CH Pro R3 e irrigazione Smart!

Nessuno vieta di poter gestire 4 punti luce, oppure un accesso carrabile e 3 punti luce, o la combinazione che preferite.

La versatilità dei contatti puliti a bordo permette l'utilizzo in diversi casi d'uso ed è facile adattare il tutto ad una vasta gamma di esigenze.

I prodotti proposti sono già belli e fatti e sono pronti all'uso, ma è possibile spingersi un po' più in avanti con il Fai da te per realizzare delle soluzioni altrettanto valide con una spesa che definirei risibile!

Nello specifico, la soluzione che andrò a proporre oggi, e di cui realizzerò una guida passo passo, è composta da un micro-controllore ESP32 e un modulo relè 4 canali a contatto pulito il tutto governato dal firmware ESPHome direttamente compilato in Home Assistant grazie all'apposito Add-on.

Qui di seguito i link Amazon per i prodotti che ho usato personalmente nella guida:

ARCELI Modulo relè a 4 canali 5V con scheda di espansione protezione accoppiatore ottico
Prezzo intero: 6,99€
Prezzo scontato: 6,99€

diymore 1 Pezzo ESP32 WROOM 32 Scheda di Sviluppo ESP32 NodeMCU Moduli 2.4GHz Dual Core WLAN WiFi Bluetooth CP2102 Chip ESP32 WROOM
Prezzo intero: 8,99€
Prezzo scontato: 8,99€

Ma non erano necessari meno di 5 euro?

Certamente! Potrete acquistare gli stessissimi dispositivi da AliExpress a poco più di € 2 ciascuno!

https://s.click.aliexpress.com/e/_oCjHIyr 

https://s.click.aliexpress.com/e/_onyobp5

Vi ricordo naturalmente che i prezzi sono estremamente variabili nel tempo in base alle offerte del momento.

Durante la scrittura dell'articolo i dispositivi proposti costano esattamente 2,20 euro e 2,59 euro per un totale di 4 euro e 79 centesimi.

L'attuatore WiFi che andremo a realizzare serve sostanzialmente ad essere utilizzato all'interno di Home Assistant come alternativa ai più costosi Sonoff 4CH o simili.

Dunque sarà necessario preparare l'ambiente adatto, nel proprio personal hub, scaricando alcuni componenti aggiuntivi come di seguito descritto.

Ho deciso di usare ESPHome perchè è un firmware molto leggero rispetto ad altre soluzioni disponibili.

ESPHome infatti è un firmware che si programma direttamente con le cose che ci interessano senza appesantire l'eventuale ESP con funzioni che non sono necessarie per quel determinato progetto andando ad impiegare molto meno spazio e soprattutto molta meno memoria rispetto ad altre alternative equivalenti.

Altro vantaggio, molto importante, è la perfetta integrazione con Home Assistant, come già detto si può programmare direttamente dal nostro caro assistente domestico.

Ultima, ma non meno importante, il dispositivo Flashato con ESPHome è totalmente indipendente da Home Assistant e eventualmente può essere usato anche in modalità stand alone.

Esiste la possibilità di farlo comunicare con Home Assistant tramite MQTT, ma in realtà non sarà necessario, in quanto la comunicazione è nativa tramite le sue API completamente locali.

COME FARE

ESPHome è un integrazione nativa di Home Assistant perciò lo potrete installare direttamente dai componenti aggiuntivi.

Una volta Spuntate le caselle come nella foto sottostante e avviato il componente vi troverete la voce nel menù laterale.

Una volta cliccato sulla voce nel menù laterale vi ritroverete in questa schermata, che nel vostro caso sarà vuota (se non avete ancora compilato dispositivi).

Cliccate in alto su secret.

Se non lo trovate già compilato dovrete compilarlo con le vostre credenziali ssid e password della vostra rete wifi.

sia l'ssid che la password dovranno essere tra virgolette

ad esempio.

wifi_ssid: "xxxxxx"

wifi_password: "YYYYY"

Una volta fatto tornate nella pagina iniziale di ESPHome.

Cliccate su NEW device in basso a destra.

Scegliete un nome e cliccate su NEXT

Arrivati a questo punto cliccate su SKIP THIS STEP (andremo ad installare dopo il firmware sull'ESP)

Lasciate pure la casella "Use recommended settings" spuntata e cliccate su ESP32 (la prima voce)

una volta creato cliccate su SKIP la chiave di criptazione sarà diversa per ogni dispositivo creato. Non importa che la annotiate perché la troverete dentro la compilazione del firmware.

A questo punto vedrete il dispositivo (o meglio il suo firmware) pronto per essere validato e caricato sul micro-controllore.

Cliccate su EDIT.

Noterete che le informazioni di base sono già precompilate in base alle impostazioni che abbiamo scelto. Come notate anche le API sono dichiarate con la chiave di criptazione che abbiamo visto prima.

non ci resta che compilare il firmware con le istruzioni di quello che vogliamo che faccia. il tutto andrà scritto sotto la voce captive_portal:

Qui di seguito tutto lo Yaml (esatto anche ESPHome si compila con lo stesso formato di Home Assistant) che tra un po' commenteremo.

esphome:
  name: esp32
  friendly_name: esp32

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

ota:
  - platform: esphome
    password: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

wifi:
  ssid: "yourssid"
  password: "yourwifipassword"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32 Fallback Hotspot"
    password: "KbtbvpZt05UP"

captive_portal:
    
switch:
  - platform: gpio
    name: "Canale_1"
    pin: 14
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF

  - platform: gpio
    name: "Canale_2"
    pin: 27
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF

  - platform: gpio
    name: "Canale_3"
    pin: 26
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF

  - platform: gpio
    name: "Canale_4"
    pin: 25
    inverted: True
    restore_mode: RESTORE_DEFAULT_OFF

Come potete leggere nel file di programmazione, oltre alle impostazioni di base (cioè dopo la voce captive portal) potete osservare i 4 canali switch configurati.

La voce name (dove io ho scritto canale_1) la potete configurare come più vi piace, la voce pin invece dovrà corrispondere al pin sulla scheda esp32.

Come potete osservare dall'immagine io ho usato i pin 14-27-26-25 esattamente come ho scritto nel file di programmazione.

Nella seguente foto potete osservare la board esp32 al contrario.

Gli altri due PIN segnalati nell'immagine servono all'alimentazione a 5V del modulo relè. Naturalmente il rosso è il positivo mentre il nero è il negativo. Sulla board esp32 trovare diversi pin negativo, li riconoscete per la scritta GND, potete usarne uno a piacere.

I cavetti jumper sul modulo relè andranno connessi come osservate nella seguente figura.

Agli estremi vedete l'alimentazione VCC e GND (positivo e negativo) mentre i centrali sono i riferimenti ai 4 relè.

Adesso sarete pronti per flashare il vostro ESP.

Prima di effettuare questa operazione dovrete assicurarvi che il codice che avete compilato sia valido.

Cliccate i 3 puntini a destra del vostro dispositivo nella schermata principale di ESPHome e poi cliccate su validate

Se tutto è andato a buon fine potrete vedere questa informazione nel log che vi compare diversamente vi indicherà l'errore che dovrete risolvere.

In caso positivo potrete cliccare su install in basso a destra.

Ci sono molte modalità di Flash con ESPHome.

Se il vostro dispositivo ha già il firmware caricato ed è già ONLINE la prima voce servirà per flasharlo in modalità wireless. L'esempio classico è quello di un sensore già funzionante al quale vorrete aggiornare qualche parametro del codice o semplicemente un aggiornamento firmware.

Non è ovviamente il nostro caso dato che dovremo flasharlo da 0.

Dovrete dunque collegare la board ESP32 al vostro PC tramite cavo usb e scegliere la seconda voce (Plug into this computer).

Attenzione! il PC dove dovrete collegare l'ESP32 alla USB non è quello dove è installato Home Assistant, ma quello tramite cui state accedendo ad Home Assistant tramite browser web.

Appena avrete cliccato sulla scelta indicata riceverete una lista delle porte seriali del vostro PC, scorrete fino a trovare il dispositivo, come potete osservare nella seguente immagine.

Naturalmente nel vostro caso potrebbe apparire una scritta leggermente diversa.

Per chi usa linux è necessario dare precedentemente i permessi di amministratore alla cartella ttyUSB0 con il seguente comando da terminale:

sudo setfacl -m u:yourusername:rw /dev/ttyUSB0

Al posto di yourusername dovrete indicare l'utente con cui accedete a linux e al posto di ttyUSB0 potreste dover scrivere ttyUSB1, ttyUSB2, ecc... in base a quello che vi compare nell'immagine poco sopra (quella dove si sceglie la porta seriale di connessione).

Se utilizzate lo stesso ESP32 che ho indicato nei link di acquisto ad inizio articolo, prima di cliccare connetti, dovrete tenere premuto il microswitch boot come segnato nella seguente figura.

A questo punto dovrebbe partire l'operazione di scrittura del firmware.

Ad operazione completata potrete staccare l'ESP32 dalla porta usb e connetterlo ad un qualsiasi alimentatore da smartphone, nel giro di qualche secondo dovrebbe collegarsi alla vostra rete WiFi.

Intanto nella schermata delle integrazioni di Home Assistant dovrebbe comparire un nuovo dispositivo rilevato che potrete aggiungere con un clic all'integrazione ESPHome.

Il risultato finale è quello che potete osservare nella seguente immagine.

Intanto godetevi il video qui in coda direttamente dal nostro canale YouTube MissingTech.

Buona visione!

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Vincenzo Caputo

Nato a Matera, il 1° novembre 1977. Sono da sempre appassionato di tecnologia e ho un'esperienza lavorativa ventennale nel settore IT. Mi piace sperimentare e cercare sempre nuove soluzioni e soprattutto mi piace comunicare le mie esperienze agli altri.


Vai ai commenti