SONOFF: un interruttore remoto per spegnere o accendere gli apparecchi

sonoff

Immagina accendere o spegnere qualcosa da remoto? Puoi accendere il riscaldamento, oppure spegnerlo se l'hai lasciato acceso per errore, puoi anche aprire o chiudere le tapparelle se ne hai di automatiche, oppure rendere la tua casa ad una temperatura adeguata azionando l'aria condizionata da qualsiasi luogo. Bene, questo è ciò che a SONOFF.

Ad esempio, uno dei file che puoi trovare sul mercato è Itead Sonoff. È un dispositivo basato sul modulo ESP8266, che suonerà sicuramente familiare se sei un maker e crei progetti fai-da-te con Arduino. Si tratta di un modulo WiFi molto diffuso a cui abbiamo già dedicato un file articolo speciale in Hwlibre. A tale il modulo ha aggiunto un relè per agire sui dispositivi collegati e quindi poter spegnere o accendere le cose tramite WiFi.

Cos'è un sonoff?

Un Sonoff è uno smart switch WiFi per poter accendere e spegnere a distanza un apparecchio elettrico. Questo dispositivo ti consente di essere connesso a Internet tramite un router WiFi a casa o in ufficio. Da qualsiasi dispositivo connesso alla rete e ovunque, puoi interagire con esso per controllare i tuoi dispositivi.

Molti sonoff commerciali lo hanno la tua app per Android o iOS che consentono un facile controllo. Ad esempio, Sonoff Basic ha l'app eWeLink. Inoltre, in molte di queste app consentono anche di configurare i timer in modo che vengano attivati ​​in un momento specifico. Ad esempio, ciò consente che ora in vacanza che sarai lontano da casa puoi programmare in modo che la radio venga accesa e spenta o le tapparelle alzate e l'aspetto che la casa sia occupata per evitare furti ...

Inoltre, implementano alcuni Sonoff commerciali funzioni in modo da poterli collegare ai sensori e che i dispositivi si accendano o si spengano a seconda della temperatura, del suono, del sensore di presenza, dell'umidità, ecc. Questo può essere utile per un impianto di irrigazione del giardino, per climatizzare adeguatamente la casa, ecc. Anche alcuni modelli progettati per case domotizzate hanno compatibilità con Amazon Alexa / Echo, Google Home, ecc.

Altri componenti aggiuntivi

Oltre al sonoff, ci sono altri dispositivi che potrebbero interessarti come complemento, come prese WiFi, prese lampadina WiFi, interruttori WiFi, gateway WiFi-RF, stazione SC-WiFi, ecc., Che sono complementi perfetti per il tuo relè WiFi o sonoff.

Crea il tuo Sonoff con Arduino e un modulo ESP8266 (Facile)

Nonostante sia un dispositivo molto semplice ed economico, potresti non essere sempre interessato ad acquistarne uno. Se sei un maker e ti piace creare i tuoi progetti fai da te, invece di acquistare il sonoff commerciale, puoi crearlo tu stesso. Ciò accadrebbe utilizzando un modulo relè per Arduino e un modulo WiFi. In questo modo avrai il tuo progetto connesso e pronto ad operare sul relè che avrà il compito di interrompere o collegare il dispositivo di alta tensione.

Un'altra possibilità è hack un Sonoff già fatto per portare nuove funzionalità. Per questo, l'opzione migliore che hai è il file È vero Sonoff. Ad esempio, lui Nessun prodotto trovato., un dispositivo di un'azienda cinese orientata ai produttori. Il dispositivo è molto ben documentato ed è per questo che può essere facilmente hackerato per modificarlo e adattarlo ai tuoi progetti. Essendo basato su un ESP8266 tutto sarà più semplice e include la sua app di controllo per dispositivi mobili.

Crea un semplice Sonoff con Arduino

Forse sarà più facile per te crea il tuo Sonoff con Arduino è necessario modificare il firmware di Itead. Usare Itead e altri dispositivi già pronti è molto semplice, ma dal semplice utilizzo alla modifica del firmware c'è una grande differenza. Quindi forse sei interessato in un modo semplice per avere un Sonoff creato da te.

Di cosa hai bisogno?

tutto quello che ti serve per questo progetto è:

  • Arduino UNO, o varrebbe anche un altro piatto.
  • Breadboard o PCB se hai intenzione di saldare.
  • Modulo ESP8266
  • Modulo relè
  • Cablaggio per i collegamenti
  • PC con IDE Arduino e cavo per la programmazione
  • Dispositivo elettrico che si desidera controllare tramite WiFi

Costruzione graduale

Connessione Arduino con ESP8266 e Relay

Per iniziare costruisci il tuo Sonoff fatto in casa segui questo guida passo passo:

  1. Una volta che hai tutti gli elementi, devi collegare correttamente lo schema come appare nella foto. Ricorda che dove ho messo "Dispositivo" è dove verrà collegato ciò che vuoi controllare: fornello, ventilatore, TV, lampadina, ... e la spina deve alimentare detto dispositivo. Come puoi vedere, ciò che si fa è interrompere uno dei fili conduttivi che vanno al dispositivo e interporre il relè per fungere da interruttore. Se hai domande sulla connessione, puoi consultare i nostri manuali:
    1. Come collegare ESP8266 ad Arduino?
    2. Come utilizzare il relè con Arduino?
  2. Ora il seguente è programma in Arduino IDE per farlo funzionare correttamente. Se sei un principiante puoi farlo anche tu scarica il PDF del nostro manuale di programmazione per Arduino. Un semplice esempio di codice per controllare il relè e i LED rosso, verde e blu sarebbe:
#include <SoftwareSerial.h>

#define DEBUG true

SoftwareSerial esp8266(2,3); 
void setup()
{
  SSSerial.begin(19200);
  esp8266.begin(19200);
  
  pinMode(10,OUTPUT);
  digitalWrite(10,LOW);
  
  pinMode(11,OUTPUT);
  digitalWrite(11,LOW);
  
  pinMode(12,OUTPUT);
  digitalWrite(12,LOW);
  
  pinMode(13,OUTPUT);
  digitalWrite(13,LOW);
   
  sendData("AT+RSTrn",2000,DEBUG); 
  sendData("AT+CWMODE=2rn",1000,DEBUG); 
  sendData("AT+CIFSRrn",1000,DEBUG); 
  sendData("AT+CIPMUX=1rn",1000,DEBUG);
  sendData("AT+CIPSERVER=1,80rn",1000,DEBUG); 
}

void loop()
{
  if(esp8266.available())
  {

    
    if(esp8266.find("+IPD,"))
    {
     delay(1000); 
     int connectionId = esp8266.read()-48; 
          
     esp8266.find("pin="); 
     
     int pinNumber = (esp8266.read()-48)*10;
     pinNumber += (esp8266.read()-48);
     
     digitalWrite(pinNumber, !digitalRead(pinNumber));  
     
     String closeCommand = "AT+CIPCLOSE="; 
     closeCommand+=connectionId;
     closeCommand+="rn";
     
     sendData(closeCommand,1000,DEBUG); 
    }
  }
}
String sendData(String command, const int timeout, boolean debug)
{
    String response = "";
    
    esp8266.print(command); 
    
    long int time = millis();
    
    while( (time+timeout) > millis())
    {
      while(esp8266.available())
      {
        
        char c = esp8266.read(); 
        response+=c;
      }  
    }
    
    if(debug)
    {
      Serial.print(response);
    }
    
    return response;
}

Una volta collegato all'IDE di Arduino e programmato tramite la porta seriale, tutto dovrebbe funzionare correttamente. Sebbene sia possibile utilizzare il monitor seriale, è necessario creare un'interfaccia web più semplice o una piccola app per iOS o Android. In caso di Codice HTML È più semplice e sarebbe qualcosa del genere, in questo modo, dal tuo browser potresti gestire l'accensione o lo spegnimento dei LED e del dispositivo collegato al relè:

<html>
<head>
<title>Control con Sonoff</title>
</head>
<body>
<button id="10" class="led">A</button>
<button id="11" class="led">LED AZUL</button>
<button id="12" class="led">LED VERDE</button>
<button id="13" class="led">LED ROJO</button>
<script src="jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$(".led").click(function(){ var p =
$(this).attr('id');
$.get("http://XXX.XXX.X.X:80/", {pin:p});
});
});
</script>
</body>
</html>

Puoi scriverlo in qualsiasi editor di testo e salvarlo con il nome control.html. Ricorda che affinché funzioni correttamente, devi sostituire http: //XXX.XXX.XX: 80 con l'IP appropriato nel tuo caso, cioè quella assegnata a ESP8266 all'interno della tua rete WiFi ... Se invece vuoi sostituire l'etichetta del dispositivo A con il nome del dispositivo che stai utilizzando e renderlo più intuitivo, sentiti libero di farlo ...

Controllo dell'interfaccia web

Ora se apri questo control.html con qualsiasi browser web può gestire il tuo Sonoff. Cliccando sui pulsanti vedrai come funziona il tuo circuito.

Modifica il firmware Sonoff (avanzato)

Un'altra operazione che puoi fare, sebbene non sia consigliata alla maggior parte degli utenti a causa della sua complessità, è modificare il file Itead sonoff firmware. È possibile, ma comporta molti passaggi ed è complicato se non sai davvero cosa stai facendo. Per darvi un'idea vi lascio ciò di cui avrete bisogno e i passaggi essenziali, oltre a collegamenti al firmware e guide complete nel caso in cui osiate dopo aver letto i passaggi essenziali ...

Utilizzando ESPurna

Di cosa hai bisogno?

Per utilizzare Itead Sonoff e programmarlo, avrai bisogno dei seguenti elementi:

  • Itead Sonoff WiFi Basic
  • Adattatore e cavo FTDI o TTL (pin USB / seriale)
  • cacciavite
  • Altri elementi necessari per il tuo progetto
  • Un computer per la programmazione

Modifica il firmware Itead Sonoff WiFi Basic (passaggi di base)

Itead circuito sonoff

Per modificare Itead Sonoff è necessario acquistarne uno e segui i passaggi successivi:

Prima di maneggiare il dispositivo, assicurarsi che sia scollegato. Non è consigliabile manipolare il relè o il circuito quando è collegato alla rete, poiché lavorerai con CA a 220 V e non è un circuito CC innocuo che funziona a basse tensioni ...

  1. Rimuovere il cappuccio di plastica dal Sonoff per poter accedere al circuito interno. È possibile utilizzare un cacciavite per rimuovere prima i coperchi laterali e quindi fare leva sul giunto che unisce le due parti del case principale fino a quando non è possibile rimuoverlo.
  2. Se guardi il circuito davanti a te si differenziano molto bene le parti del modulo ESP8266:
    1. Gli elementi elettrici attorno al relè provengono dal convertitore CA / CC.
    2. Il componente quadrato nero è il relè che funziona a 5v (parte di controllo) e 220v (uscita).
    3. Al centro ci sono alcuni pin di connessione seriale. Puoi usarli per programmare il microcontrollore o per collegare più elementi. Sul GPIO14 è possibile collegare attuatori o sensori.
    4. Vedrai anche un pulsante accanto ai perni. Puoi premerlo per cambiare le modalità che puoi impostare.
    5. Il LED che indica l'operazione e la modalità o lo stato in cui si trova.
    6. E due connettori verdi a ciascuna estremità del PBC. Uno di loro è un input e l'altro un output. Il più vicino al relè è l'ingresso CA, cioè dove il dispositivo è collegato alla rete elettrica. L'altra è la presa a cui puoi collegare il dispositivo che vuoi spegnere o accendere. Ricorda che supporta fino a 10A, ovvero un consumo di 2,2kW per 220v.
  3. Ora lavorerai con i pin di connessione per caricare il tuo programma. Per lei avrai bisogno di FTDI o TTL, consentendo di collegare questi pin a una USB del computer. Ma oltre a collegarlo, è necessario ricordare che il microcontrollore integrato ha due modalità operative, una modalità UART e una modalità FLASH. La modalità UART consente di caricare il programma e FLASH per eseguirlo. Per passare alla modalità UART per poter scrivere il programma è necessario inserire i pin GPIO0 (LOW) e GPIO2 (HIGH) in determinati stati. Il programma verrà caricato tramite i pin contrassegnati RX e TX. Ovviamente dovrai anche utilizzare i pin di alimentazione 3v3 e GND, così come il pulsante GPIO0, il LED o GPIO13 e il relè sulla GPIO12.
  4. Dopo aver effettuato correttamente il collegamento e avere il cavo USB per collegarlo al PC, è possibile iniziare con la programmazione stessa. Ricordalo quando FTDI è necessario incrociare le connessioni RX e TX, cioè l'RX dall'Itead al TX dall'FTDI e viceversa.
  5. Successivamente, sarebbe stata una questione di utilizzo Arduino IDE per creare il codice necessario per il controllo che vuoi fare (devi selezionare la scheda ESP8266 come dispositivo microcontrollore da registrare). Può anche aiutarti firmware sviluppato da Xose Pérez. Si chiama ESPurna ed è specifico per Sonoff WiFi. Con il suo pannello di controllo puoi controllare i parametri di rete e di sicurezza.
  6. Alla fine quando ce l'hai puoi restituire i perni GPIO0 e GPIO2 agli stati High High rispettivamente per tornare alla modalità FLASH ed eseguire il programma.
  7. Una volta finito, puoi effettua le giuste connessioni sul tuo Sonoff per collegare i dispositivi che desideri e dare loro alimentazione. Dall'app puoi controllare tutto ...

Maggiori informazioni - Facile programmazione

Utilizzando Tasmota

Per farlo con Tasmota invece di ESPurna, il passaggi generici per farlo sarebbero:

  1. È necessario prima aprire il caso dell'Itead Sonoff come nel caso precedente.
  2. Quindi è necessario saldare il cablaggio o i pin per poter effettuare i collegamenti di alimentazione e l'adattatore TTL da USB a UART.
  3. Vai su Arduino IDE e in Strumenti devi selezionare la scheda ESP8266 invece di Arduino UNO o quello che hai per impostazione predefinita. Installa la nuova scheda.
  4. Ora scarica Tasmota e installalo correttamente per integrarlo con l'IDE di Arduino.
  5. Adesso è il momento di programmare e configurare il tuo progetto come vuoi e salvarlo sulla scheda madre… Una volta terminato puoi collegare i componenti al sonoff come nel caso di ESPurna.

Maggiori informazioni - Domotica


7 commenti, lascia il tuo

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Giovanni M suddetto

    Il server web non funziona, non si carica nel browser.

    1.    Isaac suddetto

      Hola Juan,
      Intendi quando metti l'IP nel tuo browser web? Ti sei assicurato di aver impostato l'IP corretto all'interno della rete locale? L'IP pubblico non è valido. Deve essere quello assegnato al sonoff. Inoltre, nel codice html devi anche sostituire la X con l'IP appropriato.
      Un saluto!

      1.    Giovanni suddetto

        In effetti, ho fatto entrambe le cose, ma nel momento in cui carico l'IP nel browser, mi dà una connessione fallita. Inoltre, quando eseguo il server web, non viene caricato sotto forma di pulsanti, ma in forma di testo.

        1.    Isaac suddetto

          Hola Juan,
          Per me funziona correttamente, non capisco perché ti succede ...
          Indagherò e se trovo il problema ti informerò.
          Un saluto e grazie per la lettura

  2.   Joan suddetto

    Ciao,
    Non capisco che con le librerie che abbiamo, usi i codici AT….

    Inoltre, non ti vedo usare la modalità WIFI di ESP8266, che è al centro di questo articolo.

    Metti un esempio più chiaro e più chiaro e vedrai che il progetto capirà.

    Saluti.

    1.    Joan suddetto

      Ho dimenticato,
      Se quello che vuoi è un relè, ESP8266 lo controlla da solo, usa Arduino se vuoi caricare il firmware.

      Un altro saluto.

  3.   ANDRES REMBERTO GUZMAN GALVAN suddetto

    Ho seguito tutti i tuoi passaggi e per me non funziona, come sapere qual è l'IP che è stato dato al mio ESP8266