SONOFF: un comutator de la distanță pentru a opri sau porni aparatele

fiul off

Iti imaginezi porniți sau dezactivați ceva de la distanță? Puteți porni încălzirea sau o puteți opri dacă ați lăsat-o din greșeală, puteți, de asemenea, să deschideți sau să închideți jaluzelele dacă le aveți automate sau să vă faceți casa la o temperatură adecvată, acționând aerul condiționat de oriunde. Ei bine, asta e SONOFF.

De exemplu, unul dintre puteți găsi pe piață este Itead Sonoff. Este un dispozitiv care se bazează pe modulul ESP8266, care cu siguranță vă va suna familiar dacă sunteți un producător și creați proiecte DIY cu Arduino. Este un modul WiFi foarte popular căruia i-am dedicat deja un articol special în Hwlibre. Pentru asta au adăugat un releu să acționeze asupra dispozitivelor conectate și astfel să poată opri sau porni lucrurile prin WiFi.

Ce este un sonoff?

Un Sonoff este un comutator inteligent WiFi pentru a putea porni și opri de la distanță un aparat electric. Acest dispozitiv vă permite să fiți conectat la Internet printr-un router WiFi de acasă sau de la birou. De pe orice dispozitiv conectat la rețea și oriunde, puteți interacționa cu acesta pentru a vă controla dispozitivele.

Multe sonoff-uri comerciale au propria aplicație pentru Android sau iOS care permit controlul ușor. De exemplu, Sonoff Basic are aplicația eWeLink. În plus, în multe dintre aceste aplicații vă permit, de asemenea, să configurați temporizatoarele astfel încât să fie activate la un anumit moment. De exemplu, acest lucru permite ca acum în vacanțele în care veți fi departe de casă să puteți programa astfel încât radioul să fie pornit și oprit sau jaluzelele să fie ridicate și aspectul că casa este ocupată pentru a evita furtul ...

În plus, unele Sonoff-uri comerciale implementează pentru a le putea conecta la senzori și că dispozitivele pornesc sau se opresc în funcție de temperatură, sunet, senzor de prezență, umiditate etc. Acest lucru poate fi util pentru un sistem de irigare în grădină, pentru a climatiza în mod corespunzător casa etc. Chiar și unele modele concepute pentru automatizarea casei au compatibilitate cu Amazon Alexa / Echo, Google Home etc.

Alte programe de completare

Pe lângă sonoff, există alte dispozitive care vă poate interesa ca o completare, cum ar fi prize WiFi, prize WiFi, switch-uri WiFi, gateway WiFi-RF, stație SC-WiFi etc., care sunt complementele perfecte pentru releu WiFi sau sonoff.

Creați-vă propriul Sonoff cu Arduino și un modul ESP8266 (ușor)

În ciuda faptului că este un dispozitiv foarte simplu și ieftin, este posibil să nu fiți întotdeauna interesat să cumpărați unul. Dacă sunteți un producător și vă place să creați propriile dvs. proiecte DIY, în loc să cumpărați sonoff-ul comercial, îl poți crea singur. Acest lucru s-ar întâmpla prin utilizarea unui modul de releu pentru Arduino și a unui modul WiFi. În acest fel, veți avea proiectul conectat și gata să funcționeze pe releul care va fi însărcinat cu întreruperea sau conectarea dispozitivului de înaltă tensiune.

O altă posibilitate este hack un Sonoff deja făcut pentru a aduce noi funcționalități. Pentru aceasta, cea mai bună opțiune pe care o aveți este Iată Sonoff. De exemplu, Nu au fost găsite produse., un dispozitiv de la o companie chineză orientată către producători. Dispozitivul este foarte bine documentat și de aceea poate fi ușor piratat pentru a-l modifica și a-l adapta la proiectele dvs. Bazându-se pe un ESP8266, totul va fi mai ușor și include propria aplicație de control pentru dispozitive mobile.

Creați un Sonoff simplu cu Arduino

Poate că îți va fi mai ușor creați-vă propriul Sonoff cu Arduino trebuie să modificați firmware-ul Itead. Utilizarea Itead și a altor dispozitive gata făcute este foarte simplă, dar de la simpla utilizare a acestora până la modificarea firmware-ului lor există o mare diferență. Așadar, poate sunteți interesat de un mod simplu de a crea un Sonoff creat de dvs.

Ce ai nevoie

Toate ce ai nevoie pentru acest proiect este:

  • Arduino UNO, sau ar merita și o altă farfurie.
  • Panou sau PCB dacă urmează să lipiți.
  • Modulul ESP8266
  • Modul releu
  • Cablare pentru conexiuni
  • PC cu Arduino IDE și cablu pentru programare
  • Dispozitiv electric pe care doriți să îl controlați prin WiFi

Construcție pas cu pas

Conexiune Arduino cu ESP8266 și Relay

Pentru a începe construiți-vă Sonoff de casă urmați acest lucru ghid pas cu pas:

  1. Odată ce ai toate elementele, trebuie conectați corect schema așa cum apare în imagine. Amintiți-vă că acolo unde am pus „Dispozitiv” este locul în care se va conecta ceea ce doriți să controlați: aragaz, ventilator, televizor, bec, ... și fișa trebuie să alimenteze dispozitivul respectiv. După cum puteți vedea, ceea ce se face este să întrerupeți unul dintre firele conductoare care merg la dispozitiv și să interpuneți releul pentru a acționa ca un comutator. Dacă aveți întrebări despre conexiune, puteți consulta manualele noastre:
    1. Cum se conectează ESP8266 la Arduino?
    2. Cum se folosește releul cu Arduino?
  2. Acum urmează program în Arduino IDE ca să funcționeze corect. Dacă ești începător, poți și tu descărcați PDF-ul din manualul nostru de programare pentru Arduino. Un exemplu simplu de cod pentru a controla releul și LED-urile roșii, verzi și albastre ar fi:
#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;
}

Odată conectat la Arduino IDE și programat prin portul serial, totul ar trebui să funcționeze bine. Deși puteți utiliza monitorul serial, ar trebui să creați o interfață web mai simplă sau o aplicație mică pentru iOS sau Android. În cazul în care Cod HTML Este mai ușor și ar fi ceva de genul acesta, astfel, din browserul dvs. puteți gestiona pornirea sau oprirea LED-urilor și a dispozitivului conectat la releu:

<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>

Puteți să-l scrieți în orice editor de text și să-l salvați cu numele control.html. Amintiți-vă că pentru a funcționa bine, trebuie să înlocuiți http: //XXX.XXX.XX: 80 cu adresa IP adecvată în cazul dvs., adică cel atribuit ESP8266 din rețeaua dvs. WiFi ... Pe de altă parte, dacă doriți să înlocuiți eticheta dispozitivului A cu numele dispozitivului pe care îl utilizați și să îl faceți mai intuitiv, nu ezitați să faceți asa de ...

Controlul interfeței web

Acum, dacă deschideți acest control.html cu orice browser web poate gestiona Sonoff. Făcând clic pe butoane veți vedea cum funcționează circuitul dvs.

Modificați firmware-ul Sonoff (Avansat)

O altă operațiune pe care o puteți face, deși nu este recomandată pentru majoritatea utilizatorilor datorită complexității sale, este modificarea Itead firmware sonoff. Este posibil, dar implică mulți pași și este complicat dacă nu știi cu adevărat ce faci. Pentru a vă face o idee, vă las ceea ce ați avea nevoie și pașii esențiali, precum și linkuri către firmware și ghiduri complete în cazul în care îndrăzniți după citirea pașilor esențiali ...

Folosind ESPurna

Ce ai nevoie

Pentru a utiliza Itead Sonoff și a-l programa, veți avea nevoie de următoarele elemente:

  • Itea Sonoff WiFi Basic
  • Adaptor și cablu FTDI sau TTL (pini USB / Serial)
  • Şurubelniţă
  • Alte elemente necesare proiectului dumneavoastră
  • Un computer pentru programare

Modificați firmware-ul Itead Sonoff WiFi Basic (pași de bază)

Circuitul sonoff itead

Pentru a modifica Itead Sonoff trebuie să achiziționați unul și urmați pașii următori:

Înainte de a manipula dispozitivul, asigurați-vă că este deconectat. Nu este recomandabil să manipulați releul sau circuitul atunci când acesta este conectat la rețea, deoarece veți lucra cu curent alternativ la 220v și nu este un circuit inofensiv care funcționează la tensiuni joase ...

  1. Scoateți capacul de plastic din Sonoff pentru a putea accesa circuitul intern. Puteți utiliza o șurubelniță pentru a scoate mai întâi capacele laterale și apoi scoateți articulația care unește cele două părți ale carcasei principale până când o puteți scoate.
  2. Dacă te uiți la circuitul din fața ta, acestea se pot diferenția foarte bine piesele modulului ESP8266:
    1. Elementele electrice din jurul releului provin de la convertorul AC / DC.
    2. Componenta pătrată neagră este releul care funcționează la 5v (partea de control) și 220v (ieșire).
    3. În centru aveți niște pini de conexiune serială. Le puteți utiliza pentru a programa microcontrolerul sau pentru a conecta mai multe elemente. Pe GPIO14 puteți conecta actuatori sau senzori.
    4. Veți vedea, de asemenea, un buton lângă pini. Puteți apăsa pentru a schimba modurile pe care le puteți seta.
    5. LED-ul care indică funcționarea și modul sau starea în care se află.
    6. Și doi conectori verzi la fiecare capăt al PBC. Una dintre ele este o intrare și cealaltă o ieșire. Cea mai apropiată de releu este intrarea de curent alternativ, adică locul în care dispozitivul este conectat la rețeaua electrică. Cealaltă este priza unde puteți conecta dispozitivul pe care doriți să îl opriți sau să îl porniți. Amintiți-vă că suportă până la 10A, adică un consum de 2,2kW pentru 220v.
  3. Acum veți lucra cu pinii de conectare pentru a vă încărca programul. Pentru ea veți avea nevoie de FTDI sau TTL, permițându-vă să conectați acești pini la un USB de pe computer. Dar dincolo de conectarea acestuia, trebuie să vă amintiți că microcontrolerul integrat are două moduri de funcționare, un mod UART și un mod FLASH. Modul UART vă permite să încărcați programul și FLASH să-l executați. Pentru a merge în modul UART pentru a putea scrie programul, trebuie să puneți pinii GPIO0 (LOW) și GPIO2 (HIGH) în anumite stări. Programul va fi încărcat prin pinii marcați RX și TX. Desigur, va trebui să utilizați și pinii de alimentare 3v3 și GND, precum și butonul GPIO0, LED-ul sau GPIO13 și releul de pe GPIO12.
  4. Odată ce ați făcut conexiunea corect și aveți cablul USB pentru ao conecta la computer, puteți începe cu programarea în sine. Amintiți-vă când FTDI trebuie să traversați conexiunile RX și TX, adică RX de la Itead la TX de la FTDI și invers.
  5. Mai târziu, ar fi o chestiune de utilizare Arduino IDE pentru a crea codul necesar pentru controlul pe care doriți să îl faceți (trebuie să selectați placa ESP8266 ca dispozitiv de microcontroler de înregistrat). De asemenea, vă poate ajuta firmware dezvoltat de Xose Pérez. Se numește ESPurna și este specific Sonoff WiFi. Cu panoul său de control puteți controla parametrii de rețea și de securitate.
  6. La final, când îl aveți deja, puteți returna pinii GPIO0 și GPIO2 la stări High High respectiv pentru a reveni la modul FLASH și a vă rula programul.
  7. Odată terminat, puteți faceți conexiunile corecte pe Sonoff pentru a conecta dispozitivele dorite și a le oferi energie. Din aplicație puteți controla totul ...

Mai multe informatii - Programare ușoară

Folosind Tasmota

Pentru a face acest lucru cu Tasmota în loc de ESPurna, pași generici în acest sens, ar fi:

  1. Mai întâi trebuie să deschideți cazul lui Itead Sonoff ca în cazul anterior.
  2. Apoi, ar trebui să lipiți cablurile sau pinii pentru a putea face conexiunile de alimentare și adaptorul USB la UART TTL.
  3. Mergeți la Arduino IDE și în Instrumente trebuie să selectați placa ESP8266 în loc de Arduino UNO sau cel pe care îl aveți în mod implicit. Instalați noua placă.
  4. Acum descărcați Tasmota și instalați-l corect pentru a se integra cu Arduino IDE.
  5. Acum este momentul să programați și să vă configurați proiectul după cum doriți și să îl salvați pe placa de bază ... Odată ce ați terminat, puteți conecta componentele la sonoff, ca în cazul ESPurna.

Mai multe informatii - Domotică


7 comentarii, lasă-le pe ale tale

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Ioan M el a spus

    Serverul web nu funcționează, nu se încarcă în browser.

    1.    Isaac el a spus

      Bună, John,
      Adică când introduceți IP-ul în browserul dvs. web? Te-ai asigurat că ai setat IP-ul corect în rețeaua locală? Adresa IP publică nu este validă. Trebuie să fie cel atribuit sonoff-ului. În plus, în codul html trebuie să înlocuiți și X-ul cu adresa IP corespunzătoare.
      Salutări!

      1.    Juan el a spus

        De fapt, le-am făcut pe amândouă, dar în momentul în care încarc IP-ul în browser, îmi dă o conexiune nereușită. De asemenea, atunci când rulez serverul web, acesta nu este încărcat sub formă de butoane, ci în text.

        1.    Isaac el a spus

          Bună, John,
          Funcționează corect pentru mine, nu înțeleg de ce ți se întâmplă asta ...
          Voi investiga și dacă voi găsi problema te voi informa.
          Un salut și mulțumiri pentru lectură

  2.   Joan el a spus

    Buna,
    Nu înțeleg că, cu bibliotecile pe care le avem, folosiți coduri AT ...

    De asemenea, nu vă văd folosind modul WIFI al ESP8266, care este punctul central al acestui articol.

    Puneți un exemplu mai curat și mai clar și veți vedea că proiectul va înțelege.

    Un salut.

    1.    Joan el a spus

      Am uitat,
      Dacă ceea ce doriți este un releu, ESP8266 îl controlează singur, utilizați Arduino dacă doriți să încărcați firmware-ul.

      Un alt salut.

  3.   ANDRES REMBERTO GUZMAN GALVAN el a spus

    Am urmat toți pașii tăi și nu funcționează pentru mine, cum să știu care este IP-ul care a fost dat ESP8266 al meu