SONOFF: дистанционен превключвател за изключване или включване на уредите

sonoff

Представяте си включете или изключете нещо дистанционно? Можете да включите отоплението или да го изключите, ако сте го включили по погрешка, можете също да отворите или затворите щори, ако имате автоматични, или да направите къщата си на подходяща температура, като работите върху климатика отвсякъде. Е, това е какво SONOFF.

Например, един от можете да намерите на пазара е Itead Sonoff. Това е устройство, базирано на модула ESP8266, което със сигурност ще ви звучи познато, ако сте производител и създавате проекти за „направи си сам“ с Arduino. Това е много популярен WiFi модул, на който вече посветихме специална статия в Hwlibre. Към това модул са добавили реле да действа на свързаните устройства и по този начин да може да изключва или включва нещата чрез WiFi.

Какво е соноф?

Un Sonoff е WiFi интелигентен превключвател за да можете дистанционно да включвате и изключвате електрически уред. Това устройство ви позволява да бъдете свързани с интернет чрез WiFi рутер във вашия дом или офис. От всяко устройство, свързано към мрежата и навсякъде, можете да взаимодействате с него, за да контролирате своите устройства.

Много търговски сонофи имат вашето собствено приложение за Android или iOS които позволяват лесен контрол. Например Sonoff Basic има приложението eWeLink. Освен това в много от тези приложения те също ви позволяват да конфигурирате таймери, така че те да се активират в точно определено време. Например, това позволява, че сега на почивка, че ще бъдете далеч от дома, можете да програмирате така, че радиото да се включва и изключва или да се повдигат щорите и да изглежда, че къщата е заета, за да се избегне кражба ...

Освен това някои търговски Sonoffs прилагат функции, за да можете да ги свържете към сензори и че устройствата се включват или изключват в зависимост от температурата, звука, сензора за присъствие, влажността и т.н. Това може да бъде полезно за напоителна система в градината, за правилно климатизиране на къщата и т.н. Дори някои модели, предназначени за домотизирани къщи, имат съвместимост с Amazon Alexa / Echo, Google Home и т.н.

Други добавки

В допълнение към сонофа, има и други устройства които може да ви интересуват като допълнение, като WiFi гнезда, гнезда за крушки на WiFi, WiFi превключватели, WiFi-RF шлюз, SC-WiFi станция и др., които са идеални допълнения за вашето WiFi реле или соноф.

Направете свой собствен Sonoff с Arduino и модул ESP8266 (лесно)

Въпреки че сте много просто и евтино устройство, може да не винаги се интересувате от закупуването му. Ако сте производител и искате да създавате свои собствени проекти „направи си сам“, вместо да купувате търговския соноф, можете да го създадете сами. Това би се случило чрез използване на релеен модул за Arduino и WiFi модул. По този начин ще свържете проекта си и ще бъде готов за работа на релето, което ще отговаря за прекъсването или свързването на устройството за високо напрежение.

Друга възможност е хак Sonoff вече направено за въвеждане на нови функционалности. За това най-добрият вариант, който имате, е Истед Сонов, Например, Няма намерени продукти, устройство от ориентирана към производителя китайска компания. Устройството е много добре документирано и затова може лесно да бъде хакнато, за да го модифицира и адаптира към вашите проекти. Като се основава на ESP8266, всичко ще бъде по-лесно и включва собствено приложение за управление на мобилни устройства.

Създайте прост Sonoff с Arduino

Може би ще ви е по-лесно създайте свой собствен Sonoff с Arduino трябва да модифицирате фърмуера на Itead. Използването на Itead и други готови устройства е много просто, но от простото им използване до модифицирането на техния фърмуер има голяма разлика. Така че може би се интересувате от един прост начин да създадете Sonoff, създаден от вас.

Какво ви трябва

Всички от какво се нуждаете за този проект е:

  • Arduino UNO, или също би си струвало друга чиния.
  • Макет или печатни платки, ако ще запоявате.
  • Модул ESP8266
  • Релеен модул
  • Окабеляване за връзки
  • Компютър с Arduino IDE и кабел за програмиране
  • Електрическо устройство, което искате да управлявате чрез WiFi

Строителство стъпка по стъпка

Arduino връзка с ESP8266 и реле

Започнете изградете своя домашен Sonoff следвайте това ръководство стъпка по стъпка:

  1. След като имате всички елементи, трябва свържете правилно схемата както се вижда на снимката. Не забравяйте, че там, където съм сложил „Устройство“, ще бъде свързано това, което искате да контролирате: печка, вентилатор, телевизор, крушка, ... и щепселът трябва да захранва споменатото устройство. Както можете да видите, това, което се прави, е да се прекъсне един от проводимите проводници, които отиват към устройството, и да се постави релето, за да действа като превключвател. Ако имате въпроси относно връзката, можете да се консултирате с нашите ръководства:
    1. Как да свържа ESP8266 с Arduino?
    2. Как да използвам релето с Arduino?
  2. Сега е следното програма в Arduino IDE за да работи правилно. Ако сте начинаещ, можете също изтеглете PDF файла от нашето ръководство за програмиране за Arduino. Един прост пример за код за управление на релето и червените, зелените и сините светодиоди ще бъде:
#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;
}

Веднъж влязъл в IDE на Arduino и програмиран през серийния порт, всичко трябва да работи правилно. Въпреки че можете да използвате серийния монитор, би било подходящо, ако създадете по-опростен уеб интерфейс или малко приложение за iOS или Android. В случай че HTML код По-лесно е и би било нещо подобно, по този начин от вашия браузър можете да управлявате включването или изключването на светодиодите и устройството, свързано към релето:

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

Можете да го напишете във всеки текстов редактор и да го запазите с името control.html. Не забравяйте, че за да работи добре, трябва да замените http: //XXX.XXX.XX: 80 с подходящия IP за вашия случай, тоест този, присвоен на ESP8266 във вашата WiFi мрежа ... От друга страна, ако искате да замените етикета на устройството A с името на устройството, което използвате и да го направите по-интуитивен, не се колебайте да го направите ...

Управление на уеб интерфейса

Сега, ако отворите този control.html с всеки уеб браузър може да се справи с вашия Sonoff. С щракване върху бутоните ще видите как работи вашата схема.

Модифицирайте фърмуера на Sonoff (Разширено)

Друга операция, която можете да направите, въпреки че не се препоръчва за повечето потребители поради сложността си, е да модифицирате Itead sonoff фърмуер. Възможно е, но това включва много стъпки и е сложно, ако наистина не знаете какво правите. За да ви дам представа, оставям ви това, което ще ви трябва, и основните стъпки, както и връзки към фърмуера и пълни ръководства, в случай че се осмелите след прочитане на основните стъпки ...

Използване на ESPurna

Какво ви трябва

За да използвате Itead Sonoff и да го програмирате, ще ви трябват следните елементи:

  • Itead Sonoff WiFi Basic
  • FTDI или TTL адаптер и кабел (USB / последователни щифтове)
  • отвертка
  • Други елементи, необходими за вашия проект
  • Компютър за програмиране

Промяна на Itead Sonoff WiFi Basic фърмуер (основни стъпки)

Itead sonoff верига

За да модифицирате Sonoff of Itead, трябва да придобиете такъв и следвайте следващите стъпки:

Преди да боравите с устройството, уверете се, че то е изключено. Не е препоръчително да манипулирате релето или веригата, когато е свързано към мрежата, тъй като ще работите с променлив ток при 220v и не е безобидна постоянна верига, която работи при ниски напрежения ...

  1. Отстранете пластмасовата капачка от Sonoff за да има достъп до вътрешната верига. Можете да използвате отвертка, за да премахнете първо страничните капаци и след това да издърпате съединението, което свързва двете части на основния корпус, докато можете да го премахнете.
  2. Ако погледнете веригата пред вас, те могат да бъдат разграничени много добре частите на модула ESP8266:
    1. Електрическите елементи около релето са от AC / DC преобразувателя.
    2. Квадратният черен компонент е релето, което работи при 5v (контролна част) и 220v (изход).
    3. В центъра имате няколко щифта за серийно свързване. Можете да ги използвате за програмиране на микроконтролера или за свързване на повече елементи. На GPIO14 можете да свържете изпълнителни механизми или сензори.
    4. Освен това ще видите бутон до щифтовете. Можете да го натиснете, за да промените режимите, които можете да зададете.
    5. Светодиодът, който показва операцията и режима или състоянието, в което се намира.
    6. И два зелени конектора на всеки край на PBC. Единият от тях е вход, а другият изход. Най-близо до релето е променливотоковият вход, тоест мястото, където устройството е свързано към електрическата мрежа. Другият е контактът, където можете да свържете устройството, което искате да изключите или включите. Не забравяйте, че поддържа до 10А, тоест консумация от 2,2kW за 220v.
  3. Сега ще работите с връзките, за да заредите програмата си. За нея ще ви трябва FTDI или TTL, което ви позволява да свържете тези щифтове към USB на вашия компютър. Но освен да го свържете, трябва да помните, че интегрираният микроконтролер има два режима на работа, режим UART и режим FLASH. Режимът UART ви позволява да заредите програмата и FLASH, за да я изпълните. За да преминете в режим UART, за да можете да напишете програмата, трябва да поставите щифтовете GPIO0 (LOW) и GPIO2 (HIGH) в определени състояния. Програмата ще бъде заредена през щифтовете, обозначени RX и TX. Разбира се, ще трябва да използвате и захранващите щифтове 3v3 и GND, както и бутон GPIO0, LED или GPIO13 и релето на GPIO12.
  4. След като сте направили връзката правилно и имате вашия USB кабел, за да го свържете към компютъра, можете да започнете със самото програмиране. Не забравяйте, че кога FTDI трябва да пресечете RX и TX връзките, тоест RX от Itead до TX от FTDI и обратно.
  5. По-късно това ще бъде въпрос на използване Arduino IDE за да създадете необходимия код за контрола, който искате да направите (трябва да изберете платката ESP8266 като микроконтролер за запис). Тя също може да ви помогне фърмуер, разработен от Xose Pérez. Нарича се ESPurna и е специфичен за Sonoff WiFi. С неговия контролен панел можете да контролирате параметрите на мрежата и сигурността.
  6. В крайна сметка, когато вече го имате, можете да върнете щифтовете GPIO0 и GPIO2 до High High състояния съответно да се върнете в режим FLASH и да стартирате програмата си.
  7. След като приключите, можете направете правилните връзки на вашия Sonoff за да свържете устройствата, които искате, и да им дадете захранване. От приложението можете да контролирате всичко ...

Повече информация - Лесно програмиране

Използване на Tasmota

За да го направите с Tasmota вместо ESPurna, общи стъпки за да го направят те биха били:

  1. Първо трябва да отворите случая на Itead Sonoff, както в предишния случай.
  2. След това трябва да запоявате окабеляването или щифтовете, за да можете да свържете захранването и адаптера USB към UART TTL.
  3. Отидете на Arduino IDE и в Инструменти трябва да изберете платката ESP8266 вместо Arduino UNO или тази, която имате по подразбиране. Инсталирате новата платка.
  4. Сега изтеглете Tasmota и го инсталирайте правилно, за да се интегрира с Arduino IDE.
  5. Сега е моментът да програмирате и конфигурирате вашия проект, както искате, и да го запазите на дънната платка ... След като приключите, можете да свържете компонентите към sonoff, както в случая с ESPurna.

Повече информация - Автоматизация на дома


7 коментара, оставете своя

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Хуан М каза той

    Уеб сървърът не работи, не се зарежда в браузъра.

    1.    Isaac каза той

      Здравей Джон,
      Искате да кажете, когато поставите IP във вашия уеб браузър? Уверили ли сте се, че сте задали правилния IP в локалната мрежа? Публичният IP не е валиден. Трябва да е този, определен за сонофа. Освен това в html кода трябва също да замените X със съответния IP.
      Поздрави!

      1.    Джон каза той

        Всъщност направих и двете, но в момента, в който заредя IP в браузъра, това ми дава неуспешна връзка. Също така, когато стартирам уеб сървъра, той не се зарежда под формата на бутони, а в текст.

        1.    Isaac каза той

          Здравей Джон,
          При мен работи правилно, не разбирам защо това се случва с вас ...
          Ще разследвам и ако открия проблема, ще ви информирам.
          Поздрав и благодарности за четенето

  2.   Joan каза той

    Здравейте,
    Не разбирам, че с библиотеките, които имаме, вие използвате AT кодове ....

    Също така не виждам да използвате WIFI режима на ESP8266, който е фокусът на тази статия.

    Поставете по-чист и ясен пример и ще видите, че проектът ще разбере.

    За поздрав.

    1.    Joan каза той

      Забравих,
      Ако това, което искате, е реле, ESP8266 го управлява сам, използвайте Arduino, ако искате да заредите фърмуера.

      Още един поздрав.

  3.   АНДРЕС РЕМБЕРТО ГУЗМАН ГАЛВАН каза той

    Следвах всичките ви стъпки и това не работи за мен, как да разбера какъв е IP адресът, даден на моя ESP8266