Indice |
Cos'è sOnOff
Sonoff(R) è una gamma di interruttori poco costosi per il controllo tramite WiFi (o telecomando) di apparecchiature alimentate dalla rete elettrica.
La gamma comprende portalampade e interruttori di ogni genere.
Come funziona
Tutti i Sonoff sono basati su Espressif ESP8266, ogni scatolina contiene l'alimentatore, l'ESP8266 e il/i relè, nelle versioni con telecomando anche la ricevente.
La scheda è controllata generalmente via Internet tramite connessione HTTPS alla cloud di iTead.
Grazie al basso costo ed alla semplicità di utilizzo si è diffusa rapidamente e non solo tra gli utenti finali...
Infatti ha attirato subito l'attenzione di sviluppatori da ogni parte del globo che si sono divertiti a sfruttare al massimo questo prodotto, grazie anche alla presenza della UART per la (ri)programmazione ed il supporto all'aggiornamento OTA.
Dalla premessa si può intuire che è possibile costruire il proprio "sonoff", partendo dalle componenti, tuttavia grazie al lavoro degli appassionati di cui sopra è possibile risparmiare tempo in quanto:
- è possibile controllare la scheda senza Internet e senza cloud
- è possibile personalizzare la scheda con firmware personalizzato
Sonoff senza cloud
Tenendo premuto il pulsante per circa 5-7 secondi (il led inizierà a lampeggiare velocemente) si attiva la modalità access point e sarà disponibile una rete ITEAD-1000xxxxx (password: 12345678). Nelle proprietà della connessione ricordarsi di impostare manualmente il gateway (10.10.7.1) qualora non avvenisse automaticamente.
La scheda rimane in modalità access point per circa un minuto, dopodichè per rientrare in modalità AP bisognerà ripetere il primo passaggio.
A questo punto si può interrogare la scheda all'url http://10.10.7.1/device e configurarla per la connessione a un vostro server con una richiesta POST all'url http://10.10.7.1/ap
di seguito uno script per eseguire questa operazione automaticamente (è richiesto wGet, disponibile gratuitamente):
- del device
- wget 10.10.7.1/device
- wget 10.10.7.1/ap --post-file=data.txt
nel file "data.txt"
{"version":4,"ssid":"nome della rete wifi di casa","password":"password della wifi","serverName":"ip di un pc della lan di casa con server","port":porta_del_server}
A questo punto la scheda comunicherà tramite websocket, la scheda si aspetta un 'saluto' nella forma.
Una volta configurata la scheda cercherà sempre il suo master all'indirizzo visto sopra e sarà quindi possibile controllarla senza passare dalla cloud.
Il server può essere implementato anche con un RaspberryPi o un OrangePI
{ "error" : 0, "deviceid" : id_ottenuta_al_passo_precedente, "apikey" : "key_ottenuta_al_passo_precedente" }
Metodo alternativo (con node.js)
- Installare node.js (sulla macchina che fungerà da server, RPi)
- Scaricare https://codeload.github.com/mdopp/simple-sonoff-server/zip/master
- Eseguire npm install (dalla cartella in cui si trova simple-sonoff-server)
- Configurare i parametri della rete nel file sonoff.config.json
- Eseguire node sonoff.setupdevice.js
- Eseguire node sonoff.server.js
A questo punto è possibile controllare lo switch con una semplice richiesta web all'indirizzo
http://ip_del_server:porta/devices/id_di_cui_al_passo_5/on per attivare il rele' http://ip_del_server:porta/devices/id_di_cui_al_passo_5/off per disattivare il rele' http://ip_del_server:porta/devices/id_di_cui_al_passo_5/status per richiedere lo stato
Esempio sonoff.config.json
{
"router": {
"SSID": "EgbitWifi",
"password": "EgbitWifipassword"
},
"server":
{
"IP": "192.168.1.254",
"httpPort": 980,
"httpsPort": 9443,
"websocketPort": 8989 }
}
Relè
A questo punto sarà possibile controllarla con i comandi:
{action: 'update', value: {switch : state?'on'} si attiva il relè
{action: 'update', value: {switch : state?'off'} si disattiva il relè
Timer
Per le schede con supporto timer la configurazione avviene con il comando
{ enabled : true, type : 'once' oppure 'repeat', at : orario, do : { switch : 'on' oppure 'off' } }
Firmware alternativo
In alternativa al metodo appena visto è possibile caricare un firmware personalizzato https://devhub.io/repos/tzapu-SonoffBoilerplate
e comandare la scheda con l'app Blinky
Dove nasce sOnOff
Per concludere una visita guidata in casa iTead

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)