SONOFF: isang remote switch upang patayin o i-on ang mga kagamitan

anak off

Akala mo i-on o i-off ang isang bagay nang malayuan? Maaari mong i-on ang pag-init, o patayin kung naiwan mo nang hindi sinasadya, maaari mo ring buksan o isara ang mga blinds kung mayroon kang mga awtomatiko, o gawing angkop na temperatura ang iyong bahay sa pamamagitan ng pagpapatakbo ng aircon mula sa kahit saan. Kaya, iyon ang a SONOFF.

Halimbawa, ang isa sa maaari mong makita sa merkado ay ang Itead Sonoff. Ito ay isang aparato na batay sa module ng ESP8266, na tiyak na pamilyar sa tunog kung ikaw ay tagagawa at lumikha ng mga proyekto sa DIY kasama ang Arduino. Ito ay isang tanyag na module ng WiFi kung saan naitala na namin ang isang espesyal na artikulo sa Hwlibre. Sa ganun module ay nagdagdag ng isang relay upang kumilos sa mga nakakonektang aparato at sa gayon ay mapapatay o mai-on ang mga bagay sa pamamagitan ng WiFi.

Ano ang sonoff?

Un Ang Sonoff ay isang WiFi smart switch upang ma-on at patayin nang malayuan ang isang de-koryenteng kasangkapan. Pinapayagan ka ng aparatong ito na konektado sa Internet sa pamamagitan ng isang WiFi router sa iyong bahay o tanggapan. Mula sa anumang aparato na nakakonekta sa network at saanman, maaari kang makipag-ugnay dito upang makontrol ang iyong mga aparato.

Maraming mga komersyal na sonoffs mayroon ang iyong sariling app para sa Android o iOS na payagan ang madaling kontrol. Halimbawa, ang Sonoff Basic ay mayroong app eWeLink. Bilang karagdagan, sa marami sa mga app na ito pinapayagan ka rin nilang i-configure ang mga timer upang maisaaktibo ang mga ito sa isang tukoy na oras. Halimbawa, pinapayagan na ngayon sa bakasyon na malayo ka sa bahay maaari kang mag-program upang ang radio ay nakabukas at patayin o itinaas ang mga blinds at ang hitsura na ang bahay ay inookupahan upang maiwasan ang pagnanakaw ...

Bilang karagdagan, ipinatutupad ang ilang mga komersyal na Sonoff gumagana upang maikonekta mo ang mga ito sa mga sensor at ang mga aparato ay naka-on o naka-on depende sa temperatura, tunog, presensya sensor, kahalumigmigan, atbp. Maaari itong maging kapaki-pakinabang para sa isang sistema ng patubig sa hardin, upang maayos na mag-air-condition ang bahay, atbp. Kahit na ang ilang mga modelo na idinisenyo para sa mga naka-domate na bahay ay may pagiging tugma sa Amazon Alexa / Echo, Google Home, atbp.

Iba pang mga add-on

Bilang karagdagan sa sonoff, may iba pang mga aparato na maaaring maging interesado sa iyo bilang isang pandagdag, tulad ng mga socket ng WiFi, socket ng bombilya ng WiFi, switch ng WiFi, gateway ng WiFi-RF, istasyon ng SC-WiFi, atbp.

Gumawa ng iyong sariling Sonoff kasama ang Arduino at isang module na ESP8266 (Madali)

Sa kabila ng pagiging napaka-simple at murang aparato, maaaring hindi ka palaging interesado sa pagbili ng isa. Kung ikaw ay isang tagagawa at nais mong lumikha ng iyong sariling mga proyekto sa DIY, sa halip na bumili ng komersyal na sonoff, maaari mo itong likhain. Mangyayari iyon sa pamamagitan ng paggamit ng isang relay module para sa Arduino at isang module ng WiFi. Sa ganitong paraan magkakaroon ka ng koneksyon sa iyong proyekto at handa nang gumana sa relay na magiging singil ng pagkagambala o pagkonekta sa aparatong mataas na boltahe.

Ang isa pang posibilidad ay hack ang isang Sonoff tapos na upang magdala ng mga bagong pag-andar. Para sa mga ito, ang pinakamahusay na pagpipilian na mayroon ka ay ang itead sonoff. Halimbawa, ang Walang nahanap na mga produkto, isang aparato mula sa isang kumpanya ng Intsik na nakatuon sa paggawa. Ang aparato ay napakahusay na dokumentado at iyon ang dahilan kung bakit madali itong ma-hack upang baguhin ito at iakma ito sa iyong mga proyekto. Sa pamamagitan ng pagiging batay sa isang ESP8266 lahat ay magiging mas madali, at may kasamang sariling control app para sa mga mobile device.

Lumikha ng isang simpleng Sonoff kasama si Arduino

Siguro mas madali para sa iyo lumikha ng iyong sariling Sonoff kasama si Arduino kailangang baguhin ang firmware ng Itead. Ang paggamit ng Itead at iba pang mga handa nang aparato ay napaka-simple, ngunit mula sa paggamit lamang sa kanila sa pagbabago ng kanilang firmware mayroong isang malaking pagkakaiba. Kaya't marahil ay interesado ka sa isang simpleng paraan upang magkaroon ka ng isang Sonoff.

Ano ang kailangan mo

Lahat kung ano ang kailangan mo para sa proyektong ito ito ay:

  • Arduino UNO, o ito rin ay nagkakahalaga ng isa pang plato.
  • Breadboard o PCB kung pupunta ka sa paghihinang.
  • Module ng ESP8266
  • Relay module
  • Mga kable para sa mga koneksyon
  • PC na may Arduino IDE at cable para sa programa
  • Electrical na aparato na nais mong kontrolin sa pamamagitan ng WiFi

Hakbang-hakbang na konstruksyon

Ang koneksyon ng Arduino sa ESP8266 at Relay

Upang magsimula buuin ang iyong homemade Sonoff sundin ito hakbang-hakbang na gabay:

  1. Kapag mayroon ka ng lahat ng mga elemento, kailangan mo ikonekta nang maayos ang eskematiko tulad ng lilitaw sa larawan. Tandaan na kung saan ko inilagay ang "Device" ay kung saan ang nais mong kontrolin ay makokonekta: kalan, bentilador, TV, bombilya, ... at ang plug ay dapat na nagsabing aparato. Tulad ng nakikita mo, ang ginagawa ay upang makagambala ang isa sa mga kondaktibong mga wire na pupunta sa aparato at i-interpose ang relay upang kumilos bilang isang switch. Kung mayroon kang mga katanungan tungkol sa koneksyon, maaari kang kumunsulta sa aming mga manwal:
    1. Paano ikonekta ang ESP8266 sa Arduino?
    2. Paano magagamit ang relay kay Arduino?
  2. Ngayon ang sumusunod ay programa sa Arduino IDE upang ito ay gumana nang maayos. Kung ikaw ay isang nagsisimula maaari mo ring i-download ang PDF ng aming manu-manong programa para sa Arduino. Ang isang simpleng halimbawa ng code upang makontrol ang relay at ang pula, berde at asul na mga LED ay:
#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;
}

Kapag napasok sa Arduino IDE at na-program sa pamamagitan ng serial port, dapat na gumana nang maayos ang lahat. Bagaman maaari mong gamitin ang serial monitor, magiging angkop kung lumikha ka ng isang mas simpleng web interface o isang maliit na app para sa iOS o Android. Sa kaso ng HTML code Ito ay mas madali at ito ay magiging isang bagay tulad nito, sa ganoong paraan, mula sa iyong browser maaari mong pamahalaan ang on o off ng mga LED at ang aparato na konektado sa relay:

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

Maaari mo itong isulat sa anumang text editor, at i-save ito sa pangalan control.html. Tandaan na upang gumana ito ng maayos, dapat mong palitan ang http: //XXX.XXX.XX: 80 ng ang naaangkop na IP sa iyong kaso, iyon ay, ang isa na nakatalaga sa ESP8266 sa loob ng iyong WiFi network ... Sa kabilang banda, kung nais mong palitan ang label na aparato A ng pangalan ng aparato na ginagamit mo at gawin itong mas madaling maunawaan, huwag mag-atubiling gawin ito ...

Pagkontrol sa web interface

Ngayon kung buksan mo ang control.html na ito sa ang anumang web browser ay maaaring hawakan ang iyong Sonoff. Sa pamamagitan ng pag-click sa mga pindutan makikita mo kung paano gumagana ang iyong circuit.

Baguhin ang firmware ng Sonoff (Advanced)

Ang isa pang operasyon na magagawa mo, kahit na hindi ito inirerekomenda para sa karamihan ng mga gumagamit dahil sa pagiging kumplikado nito, ay baguhin ang Itead sonoff firmware. Posible, ngunit nagsasangkot ito ng maraming mga hakbang at kumplikado kung hindi mo talaga alam kung ano ang iyong ginagawa. Upang mabigyan ka ng isang ideya iniiwan ko sa iyo ang kakailanganin mo at ang mahahalagang hakbang, pati na rin ang mga link sa firmware at kumpletong mga gabay kung sakaling maglakas-loob ka pagkatapos basahin ang mahahalagang hakbang ...

Paggamit ng ESPurna

Ano ang kailangan mo

Upang magamit ang Itead Sonoff at i-program ito, kakailanganin mo ang mga sumusunod na item:

  • Itead Sonoff WiFi Basic
  • FTDI o TTL adapter at cable (USB / Serial pin)
  • Screwdriver
  • Iba pang mga sangkap na kinakailangan para sa iyong proyekto
  • Isang computer para sa pagprograma

Baguhin ang Itead Sonoff WiFi Basic firmware (Pangunahing hakbang)

Itead sonoff circuit

Upang mabago ang Itead Sonoff dapat kang bumili ng isa at sundin ang mga susunod na hakbang:

Bago hawakan ang aparato, tiyaking naka-disconnect ito. Hindi maipapayo na manipulahin ang relay o circuit kapag ito ay konektado sa network, dahil gagana ka sa AC sa 220v at hindi ito isang hindi nakakapinsalang DC circuit na gumagana sa mababang voltages ...

  1. Alisin ang plastic cap mula sa Sonoff upang ma-access ang panloob na circuit. Maaari mong gamitin ang isang distornilyador upang alisin muna ang mga takip sa gilid at pagkatapos ay pry ang magkasanib na sumali sa dalawang bahagi ng pangunahing kaso hanggang sa matanggal mo ito.
  2. Kung titingnan mo ang circuit sa harap mo maaari silang makilala nang napakahusay ang mga bahagi ng module na ESP8266:
    1. Ang mga de-koryenteng elemento sa paligid ng relay ay mula sa AC / DC converter.
    2. Ang parisukat na itim na sangkap ay ang relay na gumagana sa 5v (bahagi ng kontrol) at 220v (output).
    3. Sa gitna mayroon kang ilang mga serial connection pin. Maaari mong gamitin ang mga ito upang mai-program ang microcontroller o upang kumonekta sa maraming mga elemento. Sa GPIO14 maaari mong ikonekta ang mga actuator o sensor.
    4. Makikita mo rin ang isang pindutan ng push sa tabi ng mga pin. Maaari mo itong pindutin upang baguhin ang mga mode na maaari mong itakda.
    5. Ang LED na nagpapahiwatig ng operasyon at ang mode o estado kung saan ito naroroon.
    6. At dalawang berdeng konektor sa bawat dulo ng PBC. Ang isa sa mga ito ay isang input at ang iba pang isang output. Ang pinakamalapit sa relay ay ang input ng AC, iyon ay, kung saan ang aparato ay konektado sa electrical network. Ang isa pa ay ang outlet kung saan maaari mong ikonekta ang aparato na nais mong i-off o i-on. Tandaan na sumusuporta ito hanggang sa 10A, iyon ay, isang pagkonsumo ng 2,2kW para sa 220v.
  3. Ngayon ay gagana ka sa mga koneksyon na pin upang mai-load ang iyong programa. Para sa kanya kakailanganin mo ang FTDI o TTL, na nagbibigay-daan sa iyo upang ikonekta ang mga pin na ito sa isang USB sa iyong computer. Ngunit lampas sa pagkonekta nito, dapat mong tandaan na ang pinagsamang microcontroller ay may dalawang mga mode ng pagpapatakbo, isang UART mode at isa pang FLASH. Pinapayagan ka ng UART mode na i-load ang programa at ang FLASH upang maisagawa ito. Upang pumunta sa UART mode upang makapagsulat ng program na kailangan mo upang ilagay ang mga GPIO0 (LOW) at GPIO2 (HIGH) na mga pin sa ilang mga estado. Ang programa ay mailo-load sa pamamagitan ng mga pin na minarkahang RX at TX. Siyempre kakailanganin mo ring gamitin ang 3v3 at GND power pin, pati na rin ang pindutan ng GPIO0, ang LED o GPIO13 at ang relay sa GPIO12.
  4. Sa sandaling nagawa mo nang maayos ang koneksyon at mayroon ang iyong USB cable upang ikonekta ito sa PC, maaari kang magsimula sa mismong programa. Tandaan na kapag FTDI dapat mong i-cross ang mga koneksyon sa RX at TX, iyon ay upang sabihin, ang RX ng Itead sa TX ng FTDI at kabaliktaran.
  5. Mamaya, ito ay magiging isang bagay ng paggamit Arduino IDE upang likhain ang kinakailangang code para sa kontrol na nais mong gawin (dapat mong piliin ang board na ESP8266 bilang aparato ng microcontroller upang maitala). Maaari ka ring makatulong firmware na binuo ni Xose Pérez. Tinawag itong ESPurna at ito ay tukoy sa Sonoff WiFi. Sa control panel nito maaari mong makontrol ang mga parameter ng network at seguridad.
  6. Sa huli, kapag mayroon ka nito, maaari mong ibalik ang mga pin Ang mga GPIO0 at GPIO2 hanggang sa Mataas na Mataas na estado ayon sa pagkakabanggit upang bumalik sa FLASH mode at patakbuhin ang iyong programa.
  7. Kapag natapos na, maaari mo na gawin ang mga tamang koneksyon sa iyong Sonoff upang ikonekta ang mga aparato na gusto mo at bigyan sila ng lakas. Mula sa app maaari mong makontrol ang lahat ...

Karagdagang informasiyon - Madaling programa

Paggamit ng Tasmota

Upang gawin ito sa Tasmota sa halip na sa ESPurna, ang mga pangkalahatang hakbang upang gawin ito ay magiging:

  1. Dapat mo munang buksan ang kaso ng Itead Sonoff tulad ng sa dating kaso.
  2. Pagkatapos dapat mong solder ang mga kable o pin upang magawa ang mga koneksyon ng kuryente at ang USB sa UART TTL adapter.
  3. Pumunta sa Arduino IDE at sa Mga Tool dapat mong piliin ang board na ESP8266 sa halip Arduino UNO o ang mayroon ka bilang default. I-install mo ang bagong board.
  4. Ngayon i-download ang Tasmota at mai-install ito nang maayos upang isama sa Arduino IDE.
  5. Ngayon ang oras upang programa at i-configure ang iyong proyekto ayon sa gusto mo at i-save ito sa motherboard ... Kapag natapos ka na maaari mong ikonekta ang mga bahagi sa sonoff tulad ng sa kaso ng ESPurna.

Karagdagang informasiyon - Awtomatiko sa bahay


7 na puna, iwan mo na ang iyo

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   John M dijo

    Ang web server ay hindi gagana, hindi ito naglo-load sa browser.

    1.    Isaac dijo

      Kamusta ka John,
      Ibig mong sabihin kapag inilagay mo ang IP sa iyong web browser? Natiyak mo bang naitakda mo ang tamang IP sa loob ng lokal na network? Hindi wasto ang pampublikong IP. Kailangang ito ang itinalaga sa sonoff. Bilang karagdagan, sa html code dapat mo ring palitan ang X ng naaangkop na IP.
      Pagbati!

      1.    John dijo

        Sa katunayan, ginawa ko pareho, ngunit sa sandaling na-load ko ang IP sa browser, binibigyan nito ako ng isang nabigong koneksyon. Gayundin kapag pinatakbo ko ang web server, hindi ito nai-load sa anyo ng mga pindutan, ngunit sa teksto.

        1.    Isaac dijo

          Kamusta ka John,
          Gumagana ito para sa akin nang tama, hindi ko maintindihan kung bakit nangyari ito sa iyo ...
          Iimbestigahan ko at kung mahahanap ko ang problema ay ipagbigay-alam ko sa iyo.
          Isang pagbati at salamat sa pagbabasa

  2.   Joan dijo

    Hello,
    Hindi ko maintindihan na sa mga aklatan na mayroon kami, gumagamit ka ng mga AT code ....

    Hindi rin kita nakikita gamit ang mode na WIFI ng ESP8266 na siyang pokus ng artikulong ito.

    Maglagay ng isang mas malinis at mas malinaw na halimbawa at makikita mo na mauunawaan ng proyekto.

    Isang pagbati.

    1.    Joan dijo

      Nakalimutan ko,
      Kung ang nais mo ay isang relay, kinokontrol ito ng ESP8266 nang mag-isa, gamitin ang Arduino kung nais mong i-load ang firmware.

      Isa pang pagbati.

  3.   ANDRES REMBERTO GUZMAN GALVAN dijo

    Sinunod ko ang lahat ng iyong mga hakbang at hindi ito gumagana para sa akin, kung paano malaman kung ano ang IP na ibinigay sa aking ESP8266