SONOFF : 기기를 켜거나 끄는 원격 스위치

소 노프

당신은 상상 원격으로 무언가를 켜거나 끄다? 난방을 켜거나 실수로 켜 놓은 경우 끌 수도 있고, 자동 블라인드가있는 경우 블라인드를 열거 나 닫을 수도 있고, 어디에서나 에어컨을 작동하여 적절한 온도로 집을 만들 수도 있습니다. 글쎄, 그게 뭐야 SONOFF.

예를 들어, 시장에서 찾을 수있는 것은 Itead Sonoff입니다.. ESP8266 모듈을 기반으로 한 장치로, 제작자로서 Arduino로 DIY 프로젝트를 만들면 확실히 친숙하게 들릴 것입니다. 우리가 이미 전용으로 사용하는 매우 인기있는 WiFi 모듈입니다. Hwlibre의 특별 기사. 그것에 모듈이 릴레이를 추가했습니다. 연결된 장치에서 작동하므로 WiFi를 통해 물건을 끄거나 켤 수 있습니다.

Sonoff는 무엇입니까?

Un Sonoff는 WiFi 스마트 스위치입니다. 원격으로 전기 제품을 켜고 끌 수 있습니다. 이 장치를 사용하면 가정이나 사무실에서 WiFi 라우터를 통해 인터넷에 연결할 수 있습니다. 네트워크에 연결된 모든 장치에서 어디서나 상호 작용하여 장치를 제어 할 수 있습니다.

많은 상업적 소 노프는 Android 또는 iOS 용 나만의 앱 쉽게 제어 할 수 있습니다. 예를 들어 Sonoff Basic에는 eWeLink 앱이 있습니다. 또한 이러한 많은 앱에서 타이머를 구성하여 특정 시간에 활성화되도록 할 수도 있습니다. 예를 들어, 휴가 중에 집을 비울 때 라디오를 켜고 끄거나 블라인드를 올리고 집이 도난을 피하기 위해 점유 된 것처럼 보이도록 프로그래밍 할 수 있습니다.

또한 일부 상용 Sonoff는 기능을 통해 센서에 연결할 수 있습니다. 온도, 소리, 존재 센서, 습도 등에 따라 장치가 켜지거나 꺼지는 지 확인합니다. 이것은 정원 관개 시스템, 집의 적절한 공기 조절 등에 유용 할 수 있습니다. 홈 자동화를 위해 설계된 일부 모델조차도 Amazon Alexa / Echo, Google Home 등과 호환됩니다.

기타 추가 기능

소 노프 외에도 다른 장치가 있습니다 WiFi 소켓, WiFi 전구 소켓, WiFi 스위치, WiFi-RF 게이트웨이, SC-WiFi 스테이션 등과 같이 WiFi 릴레이 또는 sonoff를 완벽하게 보완하는 보완 장치로 관심을 가질 수 있습니다.

Arduino 및 ESP8266 모듈로 자신 만의 Sonoff 만들기 (쉬움)

매우 간단하고 저렴한 기기 임에도 불구하고 항상 구매에 관심이있는 것은 아닙니다. 당신이 메이커이고 상업용 소 노프를 사는 대신 DIY 프로젝트를 만들고 싶다면, 직접 만들 수 있습니다.. Arduino 용 릴레이 모듈과 WiFi 모듈을 사용하면됩니다. 이러한 방식으로 프로젝트를 연결하고 고전압 장치를 차단하거나 연결하는 릴레이에서 작동 할 준비가됩니다.

또 다른 가능성은 Sonoff 해킹 이미 새로운 기능을 도입했습니다. 이를 위해 가장 좋은 옵션은 이태 드 소 노프. 예를 들어 제품이 없습니다., 메이커 지향적 인 중국 회사의 디바이스. 이 장치는 매우 잘 문서화되어 있기 때문에 쉽게 해킹하여 수정하고 프로젝트에 적용 할 수 있습니다. ESP8266을 기반으로하면 모든 것이 더 쉬워지며 모바일 장치 용 자체 제어 앱이 포함됩니다.

Arduino로 간단한 Sonoff 만들기

아마도 당신에게 더 쉬울 것입니다 Arduino로 나만의 Sonoff 만들기 Itead의 펌웨어를 수정해야합니다. Itead 및 기타 기성품 장치를 사용하는 것은 매우 간단하지만 사용하는 것부터 펌웨어 수정에 이르기까지 큰 차이가 있습니다. 따라서 Sonoff를 만드는 간단한 방법에 관심이있을 수 있습니다.

당신이 필요로하는 것

모든 필요한 것 이 프로젝트의 경우 :

  • Arduino UNO, 아니면 다른 접시의 가치가 있습니다.
  • 납땜하려는 경우 브레드 보드 또는 PCB.
  • ESP8266 모듈
  • 릴레이 모듈
  • 연결을위한 배선
  • Arduino IDE 및 프로그래밍 용 케이블이있는 PC
  • WiFi를 통해 제어하려는 전기 장치

단계별 건설

ESP8266 및 릴레이와 Arduino 연결

시작하려면 수제 Sonoff를 만드십시오. 단계별 가이드:

  1. 모든 요소를 ​​확보 한 후에는 회로도를 제대로 연결 그림에 나타난대로. 내가 "장치"를 넣은 위치는 제어하려는 장치 (스토브, 팬, TV, 전구 등)가 연결되는 위치이며 플러그는 해당 장치에 전원을 공급해야합니다. 보시다시피 장치로 이동하는 전도성 와이어 중 하나를 차단하고 릴레이를 삽입하여 스위치 역할을합니다. 연결에 대한 질문이있는 경우 당사 설명서를 참조 할 수 있습니다.
    1. ESP8266을 Arduino에 연결하는 방법은 무엇입니까?
    2. Arduino와 함께 릴레이를 사용하는 방법은 무엇입니까?
  2. 이제 다음은 Arduino IDE의 프로그램 제대로 작동하도록합니다. 초보자라면 PDF 다운로드 Arduino에 대한 프로그래밍 매뉴얼의. 릴레이와 적색, 녹색 및 청색 LED를 제어하는 ​​간단한 코드 예제는 다음과 같습니다.
#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;
}

Arduino IDE에 연결하고 직렬 포트를 통해 프로그래밍하면 모든 것이 정상적으로 작동합니다. 직렬 모니터를 사용할 수 있지만 더 간단한 웹 인터페이스 나 iOS 또는 Android 용 작은 앱을 만들어야합니다. 의 경우 HTML 코드 브라우저에서 LED와 릴레이에 연결된 장치의 켜짐 또는 꺼짐을 관리 할 수 ​​있습니다.

<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즉, WiFi 네트워크 내에서 ESP8266에 할당 된 것입니다. 반면에 장치 레이블 A를 사용중인 장치의 이름으로 바꾸고 더 직관적으로 만들고 싶다면 부담없이 그렇게하세요. ...

웹 인터페이스 제어

이제이 control.html을 모든 웹 브라우저에서 Sonoff를 처리 할 수 ​​있습니다. 버튼을 클릭하면 회로가 어떻게 작동하는지 볼 수 있습니다.

Sonoff 펌웨어 수정 (고급)

수행 할 수있는 또 다른 작업은 복잡성으로 인해 대부분의 사용자에게 권장되지 않지만 Itead Sonoff 펌웨어. 가능하지만 많은 단계를 거쳐야하며 실제로 무엇을하고 있는지 잘 모르면 복잡합니다. 아이디어를 제공하기 위해 필요한 사항과 필수 단계는 물론 필수 단계를 읽은 후 감히 펌웨어 및 전체 가이드에 대한 링크를 남겨 둡니다.

ESPurna 사용

당신이 필요로하는 것

Itead Sonoff를 사용하고 프로그래밍하려면 다음 항목이 필요합니다:

  • Itead Sonoff WiFi 기본
  • FTDI 또는 TTL 어댑터 및 케이블 (USB / 직렬 핀)
  • 드라이버
  • 프로젝트에 필요한 기타 요소
  • 프로그래밍을위한 컴퓨터

Itead Sonoff WiFi 기본 펌웨어 수정 (기본 단계)

Itead Sonoff 회로

Itead의 Sonoff를 수정하려면 하나를 획득하고 다음 단계를 따르십시오:

장치를 취급하기 전에 분리되었는지 확인하십시오. 220v에서 AC로 작업하고 저전압에서 작동하는 무해한 DC 회로가 아니기 때문에 네트워크에 연결되어있을 때 릴레이 또는 회로를 조작하는 것은 권장되지 않습니다.

  1. Sonoff에서 플라스틱 캡 제거 내부 회로에 액세스 할 수 있습니다. 드라이버를 사용하여 먼저 측면 덮개를 제거한 다음 제거 할 수있을 때까지 메인 케이스의 두 부분을 연결하는 조인트를 들어 올릴 수 있습니다.
  2. 눈앞의 회로를 보면 아주 잘 구별 될 수 있습니다 ESP8266 모듈의 부품:
    1. 릴레이 주변의 전기 요소는 AC / DC 컨버터에서 나옵니다.
    2. 정사각형 검정색 구성 요소는 5v (제어부) 및 220v (출력)에서 작동하는 릴레이입니다.
    3. 중앙에는 직렬 연결 핀이 있습니다. 이를 사용하여 마이크로 컨트롤러를 프로그래밍하거나 더 많은 요소를 연결할 수 있습니다. GPIO14에서 액추에이터 또는 센서를 연결할 수 있습니다.
    4. 핀 옆에 누름 버튼도 표시됩니다. 이 버튼을 눌러 설정할 수있는 모드를 변경할 수 있습니다.
    5. 작동 및 모드 또는 상태를 나타내는 LED입니다.
    6. 그리고 PBC의 각 끝에 두 개의 녹색 커넥터가 있습니다. 그중 하나는 입력이고 다른 하나는 출력입니다. 릴레이에 가장 가까운 것은 AC 입력, 즉 장치가 전기 네트워크에 연결된 곳입니다. 다른 하나는 끄거나 켜려는 장치를 연결할 수있는 콘센트입니다. 최대 10A, 즉 2,2v의 경우 220kW의 소비를 지원합니다.
  3. 이제 연결 핀을 사용하여 프로그램을로드합니다. 그녀를 위해 FTDI 또는 TTL이 필요합니다.,이 핀을 컴퓨터의 USB에 연결할 수 있습니다. 그러나이를 연결하는 것 외에도 통합 마이크로 컨트롤러에는 UART 모드와 FLASH 모드의 두 가지 작동 모드가 있다는 것을 기억해야합니다. UART 모드를 사용하면 프로그램을로드하고 FLASH를 실행하여 실행할 수 있습니다. 프로그램을 작성하기 위해 UART 모드로 들어가려면 GPIO0 (LOW) 및 GPIO2 (HIGH) 핀을 특정 상태에 놓아야합니다. 프로그램은 RX 및 TX로 표시된 핀을 통해로드됩니다. 물론 3v3 및 GND 전원 핀, GPIO0 푸시 버튼, LED 또는 GPIO13 및 GPIO12의 릴레이도 사용해야합니다.
  4. 제대로 연결하고 USB 케이블로 PC에 연결하면 프로그래밍 자체로 시작할 수 있습니다. 기억하세요 FTDI는 RX 및 TX 연결을 교차해야합니다.즉, Itead에서 FTDI에서 TX 로의 RX 및 그 반대의 경우입니다.
  5. 나중에 사용의 문제가 될 것입니다. 아두 이노 IDE 수행하려는 제어에 필요한 코드를 작성하려면 (기록 할 마이크로 컨트롤러 장치로 ESP8266 보드를 선택해야합니다). 그것은 또한 당신을 도울 수 있습니다 Xose Pérez가 개발 한 펌웨어. ESPurna라고합니다. Sonoff WiFi에만 해당됩니다. 제어판을 사용하여 네트워크 및 보안 매개 변수를 제어 할 수 있습니다.
  6. 결국 당신이 그것을 가지고있을 때 당신은 핀을 돌려 줄 수 있습니다 GPIO0 및 GPIO2에서 High High 상태로 각각 FLASH 모드로 돌아가 프로그램을 실행합니다.
  7. 완료되면 Sonoff에서 올바른 연결 만들기 원하는 장치를 연결하고 전원을 공급합니다. 앱에서 모든 것을 제어 할 수 있습니다 ...

추가 정보 - 쉬운 프로그래밍

Tasmota 사용

ESPurna 대신 Tasmota로이를 수행하려면 일반 단계 그렇게하려면 다음과 같습니다.

  1. 먼저 이전 사례에서와 같이 Itead Sonoff 사례를 열어야합니다.
  2. 그런 다음 전원 연결 및 USB-UART TTL 어댑터를 만들 수 있도록 배선 또는 핀을 납땜해야합니다.
  3. Arduino IDE로 이동하고 도구에서 대신 ESP8266 보드를 선택해야합니다. Arduino UNO 또는 기본적으로 가지고있는 것입니다. 새 보드를 설치합니다.
  4. 지금 Tasmota 다운로드 Arduino IDE와 통합하기 위해 올바르게 설치하십시오.
  5. 이제 프로젝트를 원하는대로 프로그래밍하고 구성하여 마더 보드에 저장할 때입니다. 완료되면 ESPurna의 경우와 같이 구성 요소를 sonoff에 연결할 수 있습니다.

추가 정보 - 홈 오토메이션


7 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   후안 엠

    웹 서버가 작동하지 않고 브라우저에로드되지 않습니다.

    1.    이삭

      홀아 후안,
      웹 브라우저에 IP를 넣을 때 의미합니까? 로컬 네트워크 내에서 올바른 IP를 설정했는지 확인 했습니까? 공용 IP가 유효하지 않습니다. 그것은 sonoff에게 할당 된 것이어야합니다. 또한 html 코드에서 X를 적절한 IP로 바꿔야합니다.
      인사말!

      1.    요한 복음

        실제로 두 가지를 모두 수행했지만 브라우저에 IP를로드하는 순간 연결이 실패했습니다. 또한 웹 서버를 실행할 때 버튼 형태로로드되지 않고 텍스트로로드됩니다.

        1.    이삭

          홀아 후안,
          그것은 나를 위해 올바르게 작동합니다. 왜 그런 일이 일어나는지 이해할 수 없습니다 ...
          조사를하고 문제를 발견하면 알려 드리겠습니다.
          읽어 주셔서 감사합니다.

  2.   조안

    안녕하세요
    나는 우리가 가지고있는 도서관에서 당신이 AT 코드를 사용한다는 것을 이해하지 못한다.

    또한이 기사의 초점이되는 ESP8266의 WIFI 모드를 사용하는 것을 보지 못했습니다.

    더 깨끗하고 명확한 예를 들어 보면 프로젝트가 그것을 이해할 것임을 알게 될 것입니다.

    인사말.

    1.    조안

      나는 잊었다.
      원하는 것이 릴레이 인 경우 ESP8266이 자체적으로 제어하고 펌웨어를로드하려면 Arduino를 사용하십시오.

      또 다른 인사.

  3.   안드레스 렘베르토 구즈만 갈반

    모든 단계를 따랐지만 작동하지 않습니다. ESP8266에 제공된 IP가 무엇인지 아는 방법