Scopi DELLA GUIDA
Concetti affrontati:
|
Componenti software utilizzate:
Dispositivi fisici utilizzati:
|
GUIDA maggiormente indicata per: |
|
NOTE E DISCLAIMER
|
|
Revisione guida: 1.1 |
L’adozione del firmware Sonoff-Tasmota sui dispositivi ITEAD Sonoff Smart Home abilita tutta una serie di funzionalità che, di fabbrica, non sarebbero previste.
Innanzitutto, questo approccio libera questi dispositivi domotici dalla “gabbia” indirettamente imposta dal produttore nell’uso esclusivo della propria app “eWeLink” per configurarli e controllarli; inoltre, apre a funzionalità non previste (si pensi, banalmente, all’implementazione del protocollo MQTT) nonché ad ampissime possibilità di configurazione, ben oltre quelle di fabbrica.
Il firmware Tasmota mette a disposizione, infatti, una lunga lista di comandi i quali possono essere utilizzati per personalizzare in modo molto puntuale il comportamento del proprio dispositivo Sonoff (o comunque di board ESP8266 compatibili, eg. NodeMCU), con specificità diverse da modello a modello (eg. non sarà possibile utilizzare i comandi relativi alla gestione di temperatura e umidità su modelli che non offrano queste funzionalità).
In questa occasione ci concentreremo su una serie di comandi che abilitano l’uso in modalità “BLINK“, ovvero la modalità lampeggio. Tali comandi si applicano a tutti i dispositivi con a bordo firmware Tasmota e almeno un relè (fisico e/o logico – se ne parla dopo), ad esempio il cucciolo della famiglia, il Sonoff Basic, oppure il Sonoff Mini.
“BLINK” è una modalità disponibile ovviamente anche utilizzato in abbinamento a dispositivi dotati di Tasmota e che fungano da contatto pulito.
Gli interruttori Sonoff sono sostanzialmente in grado, tramite intervento manuale o temporizzazione (offerta alla voce “Configurazione” / “Timer” dell’interfaccia web del firmware) di aprire/chiudere l’erogazione in uscita della corrente in ingresso al dispositivo (che può variare dai 90v ai 220v). In caso di uso come contatto pulito, si limitano ad aprire/chiudere tra di loro i due contatti di uscita, senza applicare alcuna tensione.
La funzionalità è quindi quella di semplice interruttore intelligente, al più temporizzato.
Ma se avessimo bisogno di far “lampeggiare” l’uscita, ovvero aprire/chiudere ritmicamente l’erogazione della tensione di uscita, o comunque la chiusura del contatti (in caso di contatto pulito)?
Questa potrebbe essere una modalità interessante per codificare dei segnali visivi (eg. il lampeggio delle luci esterne l’abitazione durante l’allarme di un antifurto, oppure un led per segnalare uno specifico stato presente in domotica, eccetera), oppure per comandare qualche elemento che funzioni con degli impulsi (centraline, controlli elettromeccanici eccetera).
Per realizzare questo scenario ci vengono in aiuto una serie di comandi inclusi nel firmware Tasmota.
BLINKTIME
Il primo comando che analizziamo è “BLINKTIME“, ovvero il comando che imposta il firmware in modo da regolare la durata del lampeggio.
blinktime
Il risultato esprime la durata in decimi di secondo (“10” equivale quindi a un secondo).
Per impostare la durata, il comando è:
blinktime X
dove “X” è la durata in decimi di secondo (da 2 decimi di secondo a 3600 decimi di secondo – ovvero 6 minuti).
BLINKCOUNT
Il comando “BLINKCOUNT” esprime il numero (intero) di iterazioni di lampeggio.
Per verificare l’impostazione, il comando è:
blinkcount
Il risultato esprime il numero di iterazioni all’atto dell’attivazione del lampeggio.
Per impostare il parametro, il comando è:
blinkcount X
dove “X” è il numero di iterazioni da impostare.
Attivare il “BLINK”
Prima di illustrare il comando (banale), è necessario spiegare un dettaglio importante.
Quando si parla di relè, si parla di un componente elettronico, fisico, in grado di aprire/chiudere due contatti.
Azionando un Sonoff, diciamo un Basic, di fatto si aziona un relè fisico. In realtà quel che si fa è comandare al suo processore (l’ESP8266) di inviare – in base alla configurazione del firmware – un impulso (a 3 volt) su un determinato PIN (chiamato GPIO, o General Purpose Input/Output) il quale, collegato a sua volta con un PIN specifico del relè, ne “comanda” il funzionamento.
Pertanto, il PIN (GPIO) del Sonoff dal quale parte l’impulso è configurato sul firmware come un “relè”, ma non è il relè stesso. Per questo prima abbiamo fatto riferimento a relè logici e fisici: i Sonoff, in quanto basati sul processore ESP8266, dispongono tutti di un certo numero di GPIO configurabili e utilizzabili da firmware per i più disparati usi, tra i quali appunto “relè”, il quali possiamo considerare logici. Nel momento in cui un dato GPIO è configurato come “relè”, qualsiasi comando Tasmota (legato alla gestione dei relè) a lui indirizzato viene eseguito.
Il fatto che poi ci sia un relè fisico ad esso connesso è un fatto secondario.
Potrebbe infatti esserci collegato dell’altro: mettiamo infatti che si voglia far lampeggiare un led collegato al GPIO13 di un NodeMCU con a bordo firmware Tasmota: dovrò prima configurare il firmware Tasmota come “Generic” e poi configurare il GPIO13 come “Relay1”, per poi infine collegare il led a tale PIN GPIO. A questo punto il comando di accensione (che andremo ora ad analizzare) potrà essere eseguito in modo da accendere/spegnere il led.
In caso si usi una board dotata anche di un relè fisico (il Sonoff Basic dell’esempio), la logica è la stessa, solo che invece di accendere un led si va a comandare il suo relè fisico.
Comando POWER
Per attivare il lampeggio (configurato come da comandi precedenti) si usa il comando solitamente utilizzato per l’accensione/spegnimento, ovvero “POWER”. Per far sì che venga attivato il lampeggio, il comando dev’essere utilizzato con un payload MQTT pari a “3”:
power 3
A questo punto il dispositivo attiverà il lampeggio sulla base delle impostazioni precedentemente settate.
In caso siano presenti più relè su più GPIO, si farà riferimento allo specifico relè introducendo il valore dello stesso:
powerX 3
dove “X” è il numero di relè, per esempio:
power1 3
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |